diff options
author | Florian Weimer <fweimer@redhat.com> | 2021-06-28 14:33:53 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2021-06-28 15:05:42 +0200 |
commit | fef400a2f976d1fd6a4639e6980f6c50ee13fbf5 (patch) | |
tree | cb92de8390f3c38c40f54e6dc496b39ae449563a /nptl_db | |
parent | b369cc4e9c2436b9b4f56128059313b69b0c300d (diff) | |
download | glibc-fef400a2f976d1fd6a4639e6980f6c50ee13fbf5.tar glibc-fef400a2f976d1fd6a4639e6980f6c50ee13fbf5.tar.gz glibc-fef400a2f976d1fd6a4639e6980f6c50ee13fbf5.tar.bz2 glibc-fef400a2f976d1fd6a4639e6980f6c50ee13fbf5.zip |
nptl: Export libthread_db-used symbols under GLIBC_PRIVATE
This allows distributions to strip debugging information from
libc.so.6 without impacting the debugging experience.
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'nptl_db')
-rw-r--r-- | nptl_db/Makefile | 2 | ||||
-rw-r--r-- | nptl_db/db-symbols.awk | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/nptl_db/Makefile b/nptl_db/Makefile index 1f79c018a1..c04aa6140a 100644 --- a/nptl_db/Makefile +++ b/nptl_db/Makefile @@ -55,7 +55,7 @@ include ../Rules $(objpfx)db-symbols.out: $(objpfx)db-symbols.v.i \ $(common-objpfx)libc.so - LC_ALL=C $(READELF) -W -s $(filter %.so,$^) | $(AWK) -f $< > $@; \ + LC_ALL=C $(READELF) -W -D -s $(filter %.so,$^) | $(AWK) -f $< > $@; \ $(evaluate-test) $(objpfx)db-symbols.v.i: db-symbols.awk diff --git a/nptl_db/db-symbols.awk b/nptl_db/db-symbols.awk index ef1d91b167..fe90d3b435 100644 --- a/nptl_db/db-symbols.awk +++ b/nptl_db/db-symbols.awk @@ -1,4 +1,4 @@ -# This script processes the output of 'readelf -W -s' on the libpthread.so +# This script processes the output of 'readelf -W -D -s' on the libc.so # we've just built. It checks for all the symbols used in td_symbol_list. BEGIN { @@ -12,7 +12,7 @@ BEGIN { in_symtab = 0; } -/Symbol table '.symtab'/ { in_symtab=1; next } +/Symbol table for image/ { in_symtab=1; next } NF == 0 { in_symtab=0; next } !in_symtab { next } @@ -23,6 +23,7 @@ END { status = 0; for (s in required) { + s = s "@@GLIBC_PRIVATE" if (s in seen) print s, "ok"; else { status = 1; @@ -32,6 +33,7 @@ END { any = ""; for (s in th_unique) { + s = s "@@GLIBC_PRIVATE" if (s in seen) { any = s; break; |