glibc/sunrpc
Adhemerval Zanella Netto 88677348b4 Move libc_freeres_ptrs and libc_subfreeres to hidden/weak functions
They are both used by __libc_freeres to free all library malloc
allocated resources to help tooling like mtrace or valgrind with
memory leak tracking.

The current scheme uses assembly markers and linker script entries
to consolidate the free routine function pointers in the RELRO segment
and to be freed buffers in BSS.

This patch changes it to use specific free functions for
libc_freeres_ptrs buffers and call the function pointer array directly
with call_function_static_weak.

It allows the removal of both the internal macros and the linker
script sections.

Checked on x86_64-linux-gnu, i686-linux-gnu, and aarch64-linux-gnu.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
2023-03-27 13:57:55 -03:00
..
rpc Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
auth_des.c Change most internal uses of __gettimeofday to __clock_gettime. 2019-10-30 17:04:10 -03:00
auth_none.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
auth_unix.c Change most internal uses of __gettimeofday to __clock_gettime. 2019-10-30 17:04:10 -03:00
authdes_prot.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
authuxprot.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
clnt_gen.c CVE-2022-23219: Buffer overflow in sunrpc clnt_create for "unix" (bug 22542) 2022-01-17 10:22:00 +01:00
clnt_perr.c Move libc_freeres_ptrs and libc_subfreeres to hidden/weak functions 2023-03-27 13:57:55 -03:00
clnt_raw.c sunrpc: Remove always-defined _RPC_THREAD_SAFE_ macro 2018-06-26 15:27:03 +02:00
clnt_simp.c sunrpc: Remove always-defined _RPC_THREAD_SAFE_ macro 2018-06-26 15:27:03 +02:00
clnt_tcp.c Consistently use uintN_t not u_intN_t everywhere. 2017-08-07 19:55:34 +00:00
clnt_udp.c Disable -Wmaybe-uninitialized for total_deadline in sunrpc/clnt_udp.c. 2019-10-02 21:12:17 +00:00
clnt_unix.c Consistently use uintN_t not u_intN_t everywhere. 2017-08-07 19:55:34 +00:00
create_xid.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
des_crypt.c Disallow use of DES encryption functions in new programs. 2018-06-29 16:53:18 +02:00
des_impl.c Prefer https to http for gnu.org and fsf.org URLs 2019-09-07 02:43:31 -07:00
des_soft.c Disallow use of DES encryption functions in new programs. 2018-06-29 16:53:18 +02:00
get_myaddr.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
getrpcport.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
key_call.c Force building with -fno-common 2021-07-09 20:09:14 +02:00
key_prot.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
Makefile Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
netname.c sunrpc: Suppress GCC -O1 warning on user2netname [BZ #19444] 2023-01-11 17:50:25 -03:00
openchild.c Remove use of INTDEF/INTUSE in libio 2012-05-24 23:06:20 +02:00
pm_getmaps.c Consolidate non cancellable close call 2017-08-18 18:38:55 -03:00
pm_getport.c sunrpc: Remove internal_function attribute 2017-08-31 15:59:02 +02:00
pmap_clnt.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
pmap_prot2.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
pmap_prot.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
pmap_rmt.c sunrpc: Remove internal_function attribute 2017-08-31 15:59:02 +02:00
publickey.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
rpc_cmsg.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
rpc_common.c Force building with -fno-common 2021-07-09 20:09:14 +02:00
rpc_dtable.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
rpc_gethostbyname.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
rpc_prot.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
rpc_thread.c Move libc_freeres_ptrs and libc_subfreeres to hidden/weak functions 2023-03-27 13:57:55 -03:00
rtime.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
svc_auth.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
svc_authux.c Obsolete RPC implementation in libc. 2011-04-16 21:59:36 -04:00
svc_raw.c sunrpc: Remove always-defined _RPC_THREAD_SAFE_ macro 2018-06-26 15:27:03 +02:00
svc_run.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
svc_simple.c sunrpc: Remove always-defined _RPC_THREAD_SAFE_ macro 2018-06-26 15:27:03 +02:00
svc_tcp.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
svc_udp.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
svc_unix.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
svc.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
svcauth_des.c Force building with -fno-common 2021-07-09 20:09:14 +02:00
test-rpcent.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
thrsvc.c Update. 2002-10-14 18:10:15 +00:00
tst-bug22542.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-bug28768.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-getmyaddr.c Update. 2004-09-28 23:08:14 +00:00
tst-svc_register.c Move libc_freeres_ptrs and libc_subfreeres to hidden/weak functions 2023-03-27 13:57:55 -03:00
tst-udp-error.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-udp-garbage.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-udp-nonblocking.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-udp-timeout.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-xdrmem2.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
tst-xdrmem.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
Versions Exclude rpcent functions and NSS backends for rpc, key when excluding sunrpc. 2015-02-06 10:43:19 -08:00
xcrypt.c sunrpc: Remove internal_function attribute 2017-08-31 15:59:02 +02:00
xdr_array.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
xdr_float.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
xdr_intXX_t.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
xdr_mem.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
xdr_rec.c sunrpc: Remove internal_function attribute 2017-08-31 15:59:02 +02:00
xdr_ref.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
xdr_sizeof.c Include shlib-compat.h in many sunrpc/nis source files. 2017-06-04 11:31:28 -04:00
xdr_stdio.c Consistently use uintN_t not u_intN_t everywhere. 2017-08-07 19:55:34 +00:00
xdr.c sunrpc: Fix typo in xdr_string comment 2021-02-08 13:55:03 +01:00