[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