<feed xmlns='http://www.w3.org/2005/Atom'>
<title>netbsd/lib, branch lockdoc-9.3</title>
<subtitle>NetBSD fork for lockdoc analysis</subtitle>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/'/>
<entry>
<title>Pull up following revision(s) (requested by wiz in ticket #1484):</title>
<updated>2022-08-03T10:42:02+00:00</updated>
<author>
<name>martin</name>
<email>martin@NetBSD.org</email>
</author>
<published>2022-08-03T10:42:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=01daf6f09b8fa9da82ea275389bd9e5530120e85'/>
<id>01daf6f09b8fa9da82ea275389bd9e5530120e85</id>
<content type='text'>
	lib/libc/sys/clone.2: revision 1.14
	lib/libc/sys/clone.2: revision 1.15
	include/sched.h: revision 1.13
	include/sched.h: revision 1.14
	include/sched.h: revision 1.15

Remove mentions of CLONE_PID and CLONE_STOPPED

CLONE_PID was removed in Linux 2.5.15 and recycled for
CLONE_PIDFD since Linux 5.2.
CLONE_STOPPED was removed in Linux 2.6.38 and recycled
for CLONE_NEWCGROUP since Linux 4.6.

sched.h: Linux documents clone and __clone as only available
when_GNU_SOURCE is defined - follow suit.
Ok martin@

clone(2): document that _GNU_SOURCE must be defined for the prototypes
sched.h: format comment to follow KNF
requested by thorpej@
sched.h: keep __clone() visible under _NETBSD_SOURCE</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	lib/libc/sys/clone.2: revision 1.14
	lib/libc/sys/clone.2: revision 1.15
	include/sched.h: revision 1.13
	include/sched.h: revision 1.14
	include/sched.h: revision 1.15

Remove mentions of CLONE_PID and CLONE_STOPPED

CLONE_PID was removed in Linux 2.5.15 and recycled for
CLONE_PIDFD since Linux 5.2.
CLONE_STOPPED was removed in Linux 2.6.38 and recycled
for CLONE_NEWCGROUP since Linux 4.6.

sched.h: Linux documents clone and __clone as only available
when_GNU_SOURCE is defined - follow suit.
Ok martin@

clone(2): document that _GNU_SOURCE must be defined for the prototypes
sched.h: format comment to follow KNF
requested by thorpej@
sched.h: keep __clone() visible under _NETBSD_SOURCE</pre>
</div>
</content>
</entry>
<entry>
<title>Pull up following revision(s) (requested by skrll in ticket #1464):</title>
<updated>2022-06-06T11:31:13+00:00</updated>
<author>
<name>martin</name>
<email>martin@NetBSD.org</email>
</author>
<published>2022-06-06T11:31:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=0fdbfe88ca6cee12bea0270bdc768c10718d3403'/>
<id>0fdbfe88ca6cee12bea0270bdc768c10718d3403</id>
<content type='text'>
	lib/libc/arch/hppa/sys/ptrace.S: revision 1.8

Save and restore %r19 the "linkage table pointer register" across the call
to __cerror so if the ptrace syscall fails we can call __cerror again with
the correct %r19 value.

Do this even though the call of __cerror doesn't go via the PLT because
__cerror calls __errno which does.

Analysis and fix from Tom Lane in
PR port-hppa/56864: hppa: ptrace(2) dumps core when returning an error

I changed the location of where %r19 is stored on the stack to follow the
ABI.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	lib/libc/arch/hppa/sys/ptrace.S: revision 1.8

Save and restore %r19 the "linkage table pointer register" across the call
to __cerror so if the ptrace syscall fails we can call __cerror again with
the correct %r19 value.

Do this even though the call of __cerror doesn't go via the PLT because
__cerror calls __errno which does.

Analysis and fix from Tom Lane in
PR port-hppa/56864: hppa: ptrace(2) dumps core when returning an error

I changed the location of where %r19 is stored on the stack to follow the
ABI.</pre>
</div>
</content>
</entry>
<entry>
<title>Pull up following revision(s) (requested by hannken in ticket #1440):</title>
<updated>2022-04-27T16:53:32+00:00</updated>
<author>
<name>martin</name>
<email>martin@NetBSD.org</email>
</author>
<published>2022-04-27T16:53:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=29ae05a7e643d7d2c6872efb2d48ec51211272a5'/>
<id>29ae05a7e643d7d2c6872efb2d48ec51211272a5</id>
<content type='text'>
	usr.sbin/quotaon/quotaon.c: revision 1.31
	lib/libquota/quota_oldfiles.c: revision 1.10
	sys/ufs/ufs/ufs_quota1.c: revision 1.25

Fix default quota file names, both user and group quota used the
same default name "QUOTAFILENAME, names[USRQUOTA])" resulting in
diagnostic assertion and possibly corrupted quota data.

Keep flag "UFS_QUOTA" set until the last quota is closed.
Prevents a live lock when dqrele() finds a struct with "dq_cnt == 1"
and flag "DQ_MOD" and cannot sync as flag UFS_QUOTA is unset.

As the quota type comes from the kernel and is only valid when
quota is on get the type before quota_off and after quota_on.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	usr.sbin/quotaon/quotaon.c: revision 1.31
	lib/libquota/quota_oldfiles.c: revision 1.10
	sys/ufs/ufs/ufs_quota1.c: revision 1.25

Fix default quota file names, both user and group quota used the
same default name "QUOTAFILENAME, names[USRQUOTA])" resulting in
diagnostic assertion and possibly corrupted quota data.

Keep flag "UFS_QUOTA" set until the last quota is closed.
Prevents a live lock when dqrele() finds a struct with "dq_cnt == 1"
and flag "DQ_MOD" and cannot sync as flag UFS_QUOTA is unset.

As the quota type comes from the kernel and is only valid when
quota is on get the type before quota_off and after quota_on.</pre>
</div>
</content>
</entry>
<entry>
<title>Pull up following revision(s) (requested by nia in ticket #1370):</title>
<updated>2021-10-31T14:47:04+00:00</updated>
<author>
<name>martin</name>
<email>martin@NetBSD.org</email>
</author>
<published>2021-10-31T14:47:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=e534d799659f3292dee84a6477ac335afb87a8fd'/>
<id>e534d799659f3292dee84a6477ac335afb87a8fd</id>
<content type='text'>
	lib/libcrypt/crypt-sha1.c: revision 1.10

libcrypt: Fix a floating point exception when a low number of HMAC-SHA1
iterations are specified.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	lib/libcrypt/crypt-sha1.c: revision 1.10

libcrypt: Fix a floating point exception when a low number of HMAC-SHA1
iterations are specified.</pre>
</div>
</content>
</entry>
<entry>
<title>Pull up following revision(s) (requested by skrll in ticket #1358):</title>
<updated>2021-10-13T16:03:07+00:00</updated>
<author>
<name>martin</name>
<email>martin@NetBSD.org</email>
</author>
<published>2021-10-13T16:03:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=4585f9729bca5491f2e5fa6077284edcda018ff2'/>
<id>4585f9729bca5491f2e5fa6077284edcda018ff2</id>
<content type='text'>
	lib/libc/arch/aarch64/gen/setjmp.S: revision 1.4
	lib/libc/arch/aarch64/gen/_setjmp.S: revision 1.5

Fix the lib/libc/setjmp/t_setjmp:{,_}longjmp_zero test cases</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	lib/libc/arch/aarch64/gen/setjmp.S: revision 1.4
	lib/libc/arch/aarch64/gen/_setjmp.S: revision 1.5

Fix the lib/libc/setjmp/t_setjmp:{,_}longjmp_zero test cases</pre>
</div>
</content>
</entry>
<entry>
<title>Pull up following revision(s) (requested by christos in ticket #1356):</title>
<updated>2021-10-05T11:06:58+00:00</updated>
<author>
<name>martin</name>
<email>martin@NetBSD.org</email>
</author>
<published>2021-10-05T11:06:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=b9ce01581b278e76737ef9a63bda118c5d058d93'/>
<id>b9ce01581b278e76737ef9a63bda118c5d058d93</id>
<content type='text'>
	lib/libc/resolv/res_init.c: revision 1.32
	lib/libc/resolv/res_private.h: revision 1.4

kqueue(2) file descriptors are not inherited across fork(2). A
process that that calls getaddrinfo(3) will end up cacheing the
kqueue(2) file descriptor in its res_state structure. If that
process fork(2)s and calls getaddrinfo(3) again might end up closing
that cached file descriptor which can end up pointing to a different
file object than the kqueue(2) original one. To fix this, associate
the kqueue(2) file descriptor with the process id that created it,
and don't close(2) it if it is being closed from a different process.

An alternative fix would be to attach the resolver to a fork(2) hook
to cleanup the res_state, but handling it internally in the resolver
is less intrusive. This was discovered by Dima Veselov when using
the FreeRADIUS package.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	lib/libc/resolv/res_init.c: revision 1.32
	lib/libc/resolv/res_private.h: revision 1.4

kqueue(2) file descriptors are not inherited across fork(2). A
process that that calls getaddrinfo(3) will end up cacheing the
kqueue(2) file descriptor in its res_state structure. If that
process fork(2)s and calls getaddrinfo(3) again might end up closing
that cached file descriptor which can end up pointing to a different
file object than the kqueue(2) original one. To fix this, associate
the kqueue(2) file descriptor with the process id that created it,
and don't close(2) it if it is being closed from a different process.

An alternative fix would be to attach the resolver to a fork(2) hook
to cleanup the res_state, but handling it internally in the resolver
is less intrusive. This was discovered by Dima Veselov when using
the FreeRADIUS package.</pre>
</div>
</content>
</entry>
<entry>
<title>Pull up following revision(s) (requested by christos in ticket #1355):</title>
<updated>2021-10-05T11:02:18+00:00</updated>
<author>
<name>martin</name>
<email>martin@NetBSD.org</email>
</author>
<published>2021-10-05T11:02:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=b7515b2db76015ea21da28241759a1d0e8af1422'/>
<id>b7515b2db76015ea21da28241759a1d0e8af1422</id>
<content type='text'>
	lib/libpthread/pthread_cancelstub.c: revision 1.39
	lib/libc/sys/Makefile.inc: revision 1.247
	lib/libpthread/pthread_cancelstub.c: revision 1.40

PR/56424: Clay Mayers: recvfrom() is not a cancelation point as documented
in pthread_setcanceltype.3

remove parameter names from decls.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	lib/libpthread/pthread_cancelstub.c: revision 1.39
	lib/libc/sys/Makefile.inc: revision 1.247
	lib/libpthread/pthread_cancelstub.c: revision 1.40

PR/56424: Clay Mayers: recvfrom() is not a cancelation point as documented
in pthread_setcanceltype.3

remove parameter names from decls.</pre>
</div>
</content>
</entry>
<entry>
<title>Pull up following revision(s) (requested by manu in ticket #1343):</title>
<updated>2021-09-07T17:12:21+00:00</updated>
<author>
<name>martin</name>
<email>martin@NetBSD.org</email>
</author>
<published>2021-09-07T17:12:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=259bb9e767abaa392346fedb4ddd3048c8837020'/>
<id>259bb9e767abaa392346fedb4ddd3048c8837020</id>
<content type='text'>
	share/man/man7/sysctl.7: revision 1.153
	sys/kern/vfs_lockf.c: revision 1.74
	lib/libc/sys/fcntl.2: revision 1.46
	lib/libc/sys/flock.2: revision 1.23

Tie the maximum file lock per unprivilegied uid to kern.maxfiles

This makes the limit simple to raise at run time. While there, document
that fcntl(2) and flock(2) may return ENOMEM when this limit is reached.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	share/man/man7/sysctl.7: revision 1.153
	sys/kern/vfs_lockf.c: revision 1.74
	lib/libc/sys/fcntl.2: revision 1.46
	lib/libc/sys/flock.2: revision 1.23

Tie the maximum file lock per unprivilegied uid to kern.maxfiles

This makes the limit simple to raise at run time. While there, document
that fcntl(2) and flock(2) may return ENOMEM when this limit is reached.</pre>
</div>
</content>
</entry>
<entry>
<title>Pull up following revision(s) (requested by skrll in ticket #1329):</title>
<updated>2021-08-08T10:22:04+00:00</updated>
<author>
<name>martin</name>
<email>martin@NetBSD.org</email>
</author>
<published>2021-08-08T10:22:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=7c90afacd669ec1c66b862481706ecc45fca42a7'/>
<id>7c90afacd669ec1c66b862481706ecc45fca42a7</id>
<content type='text'>
	lib/libc/arch/arm/gen/swapcontext.S: revision 1.18
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S: revision 1.3
	lib/libc/arch/arm/sys/__clone.S: revision 1.10
	lib/libc/arch/arm/sys/__clone.S: revision 1.11
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S: revision 1.2
	lib/libc/arch/arm/sys/__clone.S: revision 1.12
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S: revision 1.3
	lib/libc/arch/arm/sys/__clone.S: revision 1.13
	lib/libc/arch/arm/sys/__clone.S: revision 1.14
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S: revision 1.3
	lib/libc/arch/arm/gen/swapcontext.S: revision 1.16
	lib/libc/arch/arm/gen/swapcontext.S: revision 1.17

Align sp to 8-byte boundary as required by EABI.

This is especially important for non-leaf functions; GCC optimizes codes
based on assumption that sp is aligned properly.

Mostly fix broken earmv5 userland compiled by GCC10 due to alignment
faults in ld.elf_so, where {ld,st}rd are used for [sp, #8x].

No regression for ATF is observed for earmv[67]{,hf}{,eb}.

Align sp to 8-byte boundary as required by EABI.
IIUC, this change only affects libc compiled for ``Thumb-mode userland'',
which we've not officially supported yet.

Fix previous. For Thumb-1:
- sp cannot be manipulated directly
- {add,sub}s should be used instead of {add,sub}

Trailing whitespace

The _INVOKE_CERROR macro deals with thumb so simplify the code (at the
expense of a couple more instructions).

Do previous differently by pushing even number of registers and remove
strange r7 usage.

Do previous differtly by pushing two registers in the same way as the
_INVOKE_CERROR macro</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	lib/libc/arch/arm/gen/swapcontext.S: revision 1.18
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S: revision 1.3
	lib/libc/arch/arm/sys/__clone.S: revision 1.10
	lib/libc/arch/arm/sys/__clone.S: revision 1.11
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S: revision 1.2
	lib/libc/arch/arm/sys/__clone.S: revision 1.12
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S: revision 1.3
	lib/libc/arch/arm/sys/__clone.S: revision 1.13
	lib/libc/arch/arm/sys/__clone.S: revision 1.14
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S: revision 1.3
	lib/libc/arch/arm/gen/swapcontext.S: revision 1.16
	lib/libc/arch/arm/gen/swapcontext.S: revision 1.17

Align sp to 8-byte boundary as required by EABI.

This is especially important for non-leaf functions; GCC optimizes codes
based on assumption that sp is aligned properly.

Mostly fix broken earmv5 userland compiled by GCC10 due to alignment
faults in ld.elf_so, where {ld,st}rd are used for [sp, #8x].

No regression for ATF is observed for earmv[67]{,hf}{,eb}.

Align sp to 8-byte boundary as required by EABI.
IIUC, this change only affects libc compiled for ``Thumb-mode userland'',
which we've not officially supported yet.

Fix previous. For Thumb-1:
- sp cannot be manipulated directly
- {add,sub}s should be used instead of {add,sub}

Trailing whitespace

The _INVOKE_CERROR macro deals with thumb so simplify the code (at the
expense of a couple more instructions).

Do previous differently by pushing even number of registers and remove
strange r7 usage.

Do previous differtly by pushing two registers in the same way as the
_INVOKE_CERROR macro</pre>
</div>
</content>
</entry>
<entry>
<title>Pull up following revision(s) (requested by skrll in ticket #1328):</title>
<updated>2021-08-08T10:11:39+00:00</updated>
<author>
<name>martin</name>
<email>martin@NetBSD.org</email>
</author>
<published>2021-08-08T10:11:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=2ca34e3d836ca20eb609e2552cf6f3a2c68a836a'/>
<id>2ca34e3d836ca20eb609e2552cf6f3a2c68a836a</id>
<content type='text'>
	sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
	sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
	sys/external/bsd/compiler_rt/abi.mk: revision 1.1
	sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
	sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
	sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
	sys/lib/libkern/Makefile.compiler-rt: revision 1.13
	sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
	sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
	lib/libm/compiler_rt/Makefile.inc: revision 1.11
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
	lib/libc/compiler_rt/Makefile.inc: revision 1.40
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
  Windows
Windows does not honour the __attribute__((pcs)) on ARM.  Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
These actually may change calling conventions.  We cannot simply provide
function aliases as the aliased function may have a different calling
convention.  Provide a forwarding function instead to permit the
compiler to synthesize the calling convention adjustment thunk.
Remove the `ARM_EABI_FNALIAS` macro as that is not safe to use.
Resolves PR33030!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -&gt; __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
r303188 removed all the uses of aliases for EABI functions from
compiler-rt, because some of them had mismatched calling conventions.
Obviously, we can't use aliases for functions which don't have the same
calling convention, but that's only an issue for floating-point
functions with the hardfloat ABI.  In other cases, the stubs increase
size and reduce performance for no benefit.
This patch adds back the aliases, with appropriate checks to make sure
they're only used in cases where the calling convention matches.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
	sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
	sys/external/bsd/compiler_rt/abi.mk: revision 1.1
	sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
	sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
	sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
	sys/lib/libkern/Makefile.compiler-rt: revision 1.13
	sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
	sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
	lib/libm/compiler_rt/Makefile.inc: revision 1.11
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
	lib/libc/compiler_rt/Makefile.inc: revision 1.40
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
	sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
	sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
	sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
  Windows
Windows does not honour the __attribute__((pcs)) on ARM.  Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
These actually may change calling conventions.  We cannot simply provide
function aliases as the aliased function may have a different calling
convention.  Provide a forwarding function instead to permit the
compiler to synthesize the calling convention adjustment thunk.
Remove the `ARM_EABI_FNALIAS` macro as that is not safe to use.
Resolves PR33030!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -&gt; __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
r303188 removed all the uses of aliases for EABI functions from
compiler-rt, because some of them had mismatched calling conventions.
Obviously, we can't use aliases for functions which don't have the same
calling convention, but that's only an issue for floating-point
functions with the hardfloat ABI.  In other cases, the stubs increase
size and reduce performance for no benefit.
This patch adds back the aliases, with appropriate checks to make sure
they're only used in cases where the calling convention matches.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll</pre>
</div>
</content>
</entry>
</feed>
