[pacman-dev] [PATCH] libmakepkg: Support file 5.33's application/x-pie-executable

Allan McRae allan at archlinux.org
Sat May 12 12:57:33 UTC 2018


On 21/04/18 03:46, Jan Alexander Steffens (heftig) wrote:
> 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>
> ---


Applied with the following documentation additions:

diff --git a/doc/makepkg.conf.5.txt b/doc/makepkg.conf.5.txt
index 267dc9e9..5417aa0e 100644
--- a/doc/makepkg.conf.5.txt
+++ b/doc/makepkg.conf.5.txt
@@ -193,8 +193,8 @@ Options
        for details.

 **STRIP_SHARED=**"--strip-unneeded"::
-       Options to be used when stripping shared libraries. See
linkman:strip[1]
-       for details.
+       Options to be used when stripping shared libraries or PIE
executables.
+       See linkman:strip[1] for details.

 **STRIP_STATIC=**"--strip-debug"::
        Options to be used when stripping static libraries. See
linkman:strip[1]



>  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
> 


More information about the pacman-dev mailing list