2018-04-20 19:46 GMT+02:00 Jan Alexander Steffens (heftig) <[email protected]>: > file 5.33 introduces a new MIME type "application/x-pie-executable", > which is used for relocatable binaries. makepkg ignored these binaries > and did not attempt to strip them. > > Handle the new MIME type like the old "application/x-sharedlib". > Stripping the binaries with --strip-unneeded to keep relocation > information should be the correct thing to do. > > file 5.33 also misidentifies actual libraries as PIE executables, so we > didn't strip any shared libraries, either. We now work around this bug. > > Signed-off-by: Jan Alexander Steffens (heftig) <[email protected]> > --- > scripts/libmakepkg/tidy/strip.sh.in | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/scripts/libmakepkg/tidy/strip.sh.in > b/scripts/libmakepkg/tidy/strip.sh.in > index e20114c0..36d1b89e 100644 > --- a/scripts/libmakepkg/tidy/strip.sh.in > +++ b/scripts/libmakepkg/tidy/strip.sh.in > @@ -125,6 +125,8 @@ tidy_strip() { > esac;; > *application/x-executable*) # Binaries > strip_flags="$STRIP_BINARIES";; > + *application/x-pie-executable*) # > Relocatable binaries > + strip_flags="$STRIP_SHARED";; > *) > continue ;; > esac
I don't think that's enough .. since everything , .so , .a ( possible glibc2.7+gcc8 ) and any binary is now marked application/x-pie-executable in PIE builds. So probably something like this is what you wish : https://github.com/abucodonosor/pacman/commit/f38df66ad39383dbce92cef53d3da7ec19208fed Regards, Gabriel C
