mirror of
git://sourceware.org/git/glibc.git
synced 2025-02-11 12:50:58 +08:00
Fix build-many-glibcs.py --strip for installed library renaming
The renaming of installed shared libraries to use the SONAME directly rather than linking to a versioned name stopped build-many-glibcs.py --strip (used to facilitate comparing binaries before and after changes that aren't meant to change any generated code in installed glibc shared libraries) from stripping most of the installed shared libraries, because it stripped only the *.so names. Fix it to strip *.so* names instead and to detect the case of linker scripts using grep instead of hardcoding particular files that are linker scripts. Tested with build-many-glibcs.py --strip.
This commit is contained in:
parent
cb5088cfd3
commit
876e51548c
@ -1553,15 +1553,13 @@ class GlibcPolicyForBuild(GlibcPolicyDefault):
|
||||
|
||||
def extra_commands(self, cmdlist):
|
||||
if self.strip:
|
||||
# Avoid picking up libc.so and libpthread.so, which are
|
||||
# linker scripts stored in /lib on Hurd. libc and
|
||||
# libpthread are still stripped via their libc-X.YY.so
|
||||
# implementation files.
|
||||
find_command = (('find %s/lib* -name "*.so"'
|
||||
+ r' \! -name libc.so \! -name libpthread.so')
|
||||
% self.installdir)
|
||||
cmdlist.add_command('strip', ['sh', '-c', ('%s $(%s)' %
|
||||
(self.strip, find_command))])
|
||||
# Avoid stripping libc.so and libpthread.so, which are
|
||||
# linker scripts stored in /lib on Hurd.
|
||||
find_command = 'find %s/lib* -name "*.so*"' % self.installdir
|
||||
cmdlist.add_command('strip', ['sh', '-c', (
|
||||
'set -e; for f in $(%s); do '
|
||||
'if ! head -c16 $f | grep -q "GNU ld script"; then %s $f; fi; '
|
||||
'done' % (find_command, self.strip))])
|
||||
cmdlist.add_command('check', ['make', 'check'])
|
||||
cmdlist.add_command('save-logs', [self.save_logs], always_run=True)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user