Further .symtab adjustment: Keep all __GI_* symbols (#1975859)

This commit is contained in:
Florian Weimer 2021-06-28 09:29:49 +02:00
parent 4f2dd301cc
commit 5b63da3fa5
2 changed files with 9 additions and 30 deletions

View File

@ -111,7 +111,7 @@
Summary: The GNU libc libraries
Name: glibc
Version: %{glibcversion}
Release: 30%{?dist}
Release: 31%{?dist}
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
# libraries.
@ -2213,6 +2213,9 @@ fi
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
%changelog
* Mon Jun 28 2021 Florian Weimer <fweimer@redhat.com> - 2.33.9000-31
- Further .symtab adjustment: Keep all __GI_* symbols (#1975859)
* Mon Jun 28 2021 Florian Weimer <fweimer@redhat.com> - 2.33.9000-30
- Keep most of .symtab in libc.so.6 (#1975859)

View File

@ -76,42 +76,18 @@ objcopy --merge-notes "$libc_path"
# libc.so.6: Reduce to valuable symbols. Eliminate file symbols,
# annobin symbols, and symbols used by the glibc build to implement
# hidden aliases (__EI_* and __GI_*). Preserve __GI_* symbols used by
# valgrind interceptors. (Debuginfo is gone after this, so no need to
# optimize it.)
# hidden aliases (__EI_*). We would also like to remove __GI_*
# symbols, but even listing them explicitly (as in -K __GI_strlen)
# still causes strip to remove them, so there is no filtering of
# __GI_* here. (Debuginfo is gone after this, so no need to optimize
# it.)
strip -w \
-K '*' \
-K '!*.c' \
-K '!*.os' \
-K '!.annobin_*' \
-K '!__EI_*' \
-K '!__GI_*' \
-K '!__PRETTY_FUNCTION__*' \
-K __GI___rawmemchr \
-K __GI___strcasecmp_l \
-K __GI___strncasecmp_l \
-K __GI_memchr \
-K __GI_memcmp \
-K __GI_memcpy \
-K __GI_memmove \
-K __GI_mempcpy \
-K __GI_stpcpy \
-K __GI_strcasecmp \
-K __GI_strcasecmp_l \
-K __GI_strcat \
-K __GI_strchr \
-K __GI_strcmp \
-K __GI_strcpy \
-K __GI_strcspn \
-K __GI_strlen \
-K __GI_strncasecmp \
-K __GI_strncasecmp_l \
-K __GI_strncmp \
-K __GI_strncpy \
-K __GI_strnlen \
-K __GI_strrchr \
-K __GI_wcsnlen \
-K __GI_wmemchr \
"$libc_path"
# ld.so: Rewrite the source file paths to match the extracted