freebsd-dev/lib/libc
Konstantin Belousov 51015e6d0f csu: move common code to libc
Why? Most trivial point, it shaves around 600 bytes from the dynamic
binaries on amd64. Less trivial, the removed code is no longer part of
the ABI, and we can ship updates to it with libc updates. Right now most
of the csu is linked into the binaries and require us to do somewhat
tricky ABI compat when it needs to change. For instance, the init_array
change would be much simpler and does not require note tagging if we
have init calling code in libc.

This could be improved more, by splitting dynamic and static
initialization. For instance, &_DYNAMIC tests can be removed then.
Such change, nonetheless, would require building libc three times.
I left this for later, after this change stabilizes, if ever.

Reviewed by:	markj
Discussed with:	jrtc27 (some objections, see the review), imp
Tested by:	markj (aarch64)
Sponsored by:	The FreeBSD Foundation
MFC after:	3 weeks
Differential revision:	https://reviews.freebsd.org/D37220
2023-03-12 00:50:03 +02:00
..
aarch64 libc: Fix longjmp/_longjmp(buf, 0) for AArch64 and RISC-V 2023-01-09 18:34:43 +00:00
amd64 sys/param.h: Add _WANT_P_OSREL 2023-02-15 02:43:18 +02:00
arm libc: Simplify soft-float on 32-bit arm 2023-02-14 09:53:08 -07:00
capability Remove "All Rights Reserved" from FreeBSD Foundation libc copyrights 2022-07-21 09:53:31 -04:00
compat-43 libc: Add HISTORY sections to the manual pages 2022-05-05 18:46:32 +02:00
csu csu: move common code to libc 2023-03-12 00:50:03 +02:00
db libc: Add HISTORY sections to the manual pages 2022-05-05 18:46:32 +02:00
gdtoa libc: drop "All rights reserved" from Foundation copyrights 2022-08-04 16:57:50 -04:00
gen libc: Remove prototype and documentation for tzsetwall(). 2023-03-07 17:20:49 +00:00
gmon
i386
iconv iconvlist(3): fix count argument type 2023-02-23 15:22:12 -06:00
include csu: move common code to libc 2023-03-12 00:50:03 +02:00
inet
isc
locale xlocale: garbage collect references to strtoq_l/strtouq_l 2023-03-02 15:53:29 -05:00
md
nameser
net inet6_opt_init.3: Some enhancements 2023-02-25 14:11:27 +01:00
nls
posix1e
powerpc
powerpc64
powerpcspe
quad qdivrem: Predict division by zero as false. 2022-10-04 13:51:06 +02:00
regex libc: drop "All rights reserved" from Foundation copyrights 2022-08-04 16:57:50 -04:00
resolv resolver(3): Fix a typo in a source code comment 2022-04-09 09:14:29 +02:00
riscv libc: Fix longjmp/_longjmp(buf, 0) for AArch64 and RISC-V 2023-01-09 18:34:43 +00:00
rpc rpcb_clnt.c: Do not force use of UDP 2022-11-13 12:16:06 -08:00
secure libc: ssp: remove some GCC 4.2 remnants 2023-02-09 22:11:54 -06:00
softfloat
stdio libc: Fix size range check in setvbuf 2022-10-04 12:03:56 -04:00
stdlib xlocale: garbage collect references to strtoq_l/strtouq_l 2023-03-02 15:53:29 -05:00
stdtime libc: Remove prototype and documentation for tzsetwall(). 2023-03-07 17:20:49 +00:00
string Fix truncation when ssize_t is larger than MAX_INT 2023-02-04 21:14:14 -07:00
sys cap_*(2): Document ENOSYS behavior. 2023-03-09 18:10:50 -08:00
tests netbsd-tests: Serialize message queue tests 2023-03-10 17:07:06 -05:00
uuid
x86 libc: Fall back to rdtsc when using pvclock and rdtscp is not available 2023-02-03 11:47:11 -05:00
xdr xdr: store chars consistently 2023-01-12 18:16:17 +00:00
yp
libc_nossp.ldscript
libc.ldscript
Makefile csu: move common code to libc 2023-03-12 00:50:03 +02:00
Makefile.depend
Makefile.depend.options
Versions.def