[PATCH] sandbox: Fix fixing linker warnings with newer ld

Ahmad Fatoum a.fatoum at pengutronix.de
Tue Feb 21 07:27:37 PST 2023


Hello Sascha,

On 21.02.23 16:24, Sascha Hauer wrote:
> There must be a comma between the words passed in the -Wl option,
> otherwise gcc responds with:
> 
> gcc: error: noexecstack: No such file or directory
> 
> Also cc-option only compiles but doesn't link, so can't detect if the
> linker accepts flags or not. Use ld-option instead.
> 
> Fixes: 4e8713dd6e ("sandbox: fix linker warnings with newer ld")
> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> ---
>  arch/sandbox/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/sandbox/Makefile b/arch/sandbox/Makefile
> index 0f59e79e13..9d5a5d8c6a 100644
> --- a/arch/sandbox/Makefile
> +++ b/arch/sandbox/Makefile
> @@ -69,7 +69,7 @@ BAREBOX_LDFLAGS += \
>  	-Wl,-T,$(BAREBOX_LDS) \
>  	-Wl,--whole-archive $(BAREBOX_OBJS) -Wl,--no-whole-archive \
>  	-lrt -pthread $(SDL_LIBS) $(FTDI1_LIBS) \
> -	-Wl,-z noexecstack $(call cc-option,-Wl$(comma)--no-warn-rwx-segments) \
> +	-Wl,-z,noexecstack $(call ld-option,--no-warn-rwx-segments) \

At least gcc version 11.3.0 wouldn't like this:

$ gcc --no-warn-rwx-segments
gcc: error: unrecognized command-line option ‘--no-warn-rwx-segments’

That's why I usued -Wl, in the first place

>  	$(SANITIZER_LIBS)
>  
>  cmd_barebox__ = $(CC) -o $@ $(BAREBOX_LDFLAGS)

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |




More information about the barebox mailing list