[pacman-dev] [PATCH] libmakepkg: Support file 5.33's application/x-pie-executable
Gabriel C
nix.or.die at gmail.com
Sun Apr 22 16:21:58 UTC 2018
2018-04-20 19:46 GMT+02:00 Jan Alexander Steffens (heftig)
<jan.steffens at gmail.com>:
> 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) <jan.steffens at gmail.com>
> ---
> 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
More information about the pacman-dev
mailing list