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
auth_unix.c Change most internal uses of __gettimeofday to __clock_gettime. 2019-10-30 17:04:10 -03:00
authdes_prot.c
authuxprot.c
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
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
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
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
pmap_prot2.c
pmap_prot.c
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
rpc_common.c Force building with -fno-common 2021-07-09 20:09:14 +02:00
rpc_dtable.c
rpc_gethostbyname.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
rpc_prot.c
rpc_thread.c Move libc_freeres_ptrs and libc_subfreeres to hidden/weak functions 2023-03-27 13:57:55 -03:00
rtime.c
svc_auth.c
svc_authux.c
svc_raw.c sunrpc: Remove always-defined _RPC_THREAD_SAFE_ macro 2018-06-26 15:27:03 +02:00
svc_run.c
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
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
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
xcrypt.c sunrpc: Remove internal_function attribute 2017-08-31 15:59:02 +02:00
xdr_array.c
xdr_float.c
xdr_intXX_t.c Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
xdr_mem.c
xdr_rec.c sunrpc: Remove internal_function attribute 2017-08-31 15:59:02 +02:00
xdr_ref.c
xdr_sizeof.c
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