From cc47d5c5f53f6d845ac54698ae8929af15662c44 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Thu, 2 Jan 2020 10:18:42 +0100 Subject: build-many-glibcs.py: Fix “glibcs i686-gnu --strip” MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Hurd uses an empty prefix, so the linker scripts end up in /lib, the find command picked them up, and stripping them failed because they are not ELF files. --- scripts/build-many-glibcs.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/scripts/build-many-glibcs.py b/scripts/build-many-glibcs.py index 398de4528a..1bd7f24d7d 100755 --- a/scripts/build-many-glibcs.py +++ b/scripts/build-many-glibcs.py @@ -1483,10 +1483,15 @@ class GlibcPolicyForBuild(GlibcPolicyDefault): def extra_commands(self, cmdlist): if self.strip: - cmdlist.add_command('strip', - ['sh', '-c', - ('%s $(find %s/lib* -name "*.so")' % - (self.strip, self.installdir))]) + # 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))]) cmdlist.add_command('check', ['make', 'check']) cmdlist.add_command('save-logs', [self.save_logs], always_run=True) -- cgit 1.4.1