Re: [PATCH] selftests: exec: make binaries position independent

From: Muhammad Usama Anjum
Date: Tue Apr 16 2024 - 11:26:56 EST


On 4/16/24 8:23 PM, Muhammad Usama Anjum wrote:
> The -static overrides the -pie and binaries aren't position independent
> anymore. Use -static-pie instead which would produce a static and
> position independent binary. This has been caught by clang's warnings:
>
> clang: warning: argument unused during compilation: '-pie'
> [-Wunused-command-line-argument]
>
> Tested with both gcc and clang after this change.
>
> Fixes: 4d1cd3b2c5c1 ("tools/testing/selftests/exec: fix link error")
> Signed-off-by: Muhammad Usama Anjum <usama.anjum@xxxxxxxxxxxxx>
> ---
> tools/testing/selftests/exec/Makefile | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/tools/testing/selftests/exec/Makefile b/tools/testing/selftests/exec/Makefile
> index fb4472ddffd81..01940d9165d67 100644
> --- a/tools/testing/selftests/exec/Makefile
> +++ b/tools/testing/selftests/exec/Makefile
> @@ -1,5 +1,5 @@
> # SPDX-License-Identifier: GPL-2.0
> -CFLAGS = -Wall
> +CFLAGS = -Wall #-Wunused-command-line-argument
Debugging artifact here. I'll resend by removing it as v2

> CFLAGS += -Wno-nonnull
> CFLAGS += -D_GNU_SOURCE
>
> @@ -29,8 +29,8 @@ $(OUTPUT)/execveat.denatured: $(OUTPUT)/execveat
> cp $< $@
> chmod -x $@
> $(OUTPUT)/load_address_4096: load_address.c
> - $(CC) $(CFLAGS) $(LDFLAGS) -Wl,-z,max-page-size=0x1000 -pie -static $< -o $@
> + $(CC) $(CFLAGS) $(LDFLAGS) -Wl,-z,max-page-size=0x1000 -static-pie $< -o $@
> $(OUTPUT)/load_address_2097152: load_address.c
> - $(CC) $(CFLAGS) $(LDFLAGS) -Wl,-z,max-page-size=0x200000 -pie -static $< -o $@
> + $(CC) $(CFLAGS) $(LDFLAGS) -Wl,-z,max-page-size=0x200000 -static-pie $< -o $@
> $(OUTPUT)/load_address_16777216: load_address.c
> - $(CC) $(CFLAGS) $(LDFLAGS) -Wl,-z,max-page-size=0x1000000 -pie -static $< -o $@
> + $(CC) $(CFLAGS) $(LDFLAGS) -Wl,-z,max-page-size=0x1000000 -static-pie $< -o $@

--
BR,
Muhammad Usama Anjum