[PATCH 1/2] Makeconfig: Support $(+nolink-deps) in link flags

Adhemerval Zanella Netto adhemerval.zanella@linaro.org
Fri Mar 21 18:46:01 GMT 2025



On 21/03/25 15:42, Florian Weimer wrote:
> This allows adding dependencies to rules, but not linking against
> them.
> 
> This is more or less a reimplementation of .EXTRA_PREREQS feature from
> GNU make 4.3.

LGTM, thanks.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>

> ---
>  Makeconfig | 12 ++++++++----
>  Makerules  |  2 +-
>  2 files changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/Makeconfig b/Makeconfig
> index aa547a443f..3628db6eba 100644
> --- a/Makeconfig
> +++ b/Makeconfig
> @@ -442,7 +442,8 @@ ifndef +link-pie
>  	     $(filter-out $(addprefix $(csu-objpfx),start.o \
>  						    S$(start-installed-name))\
>  			  $(+preinit) $(link-extra-libs) \
> -			  $(common-objpfx)libc% $(+postinit),$^) \
> +			  $(common-objpfx)libc% $(+postinit) \
> +			  $(+nolink-deps),$^) \
>  	     $(link-extra-libs)
>  +link-pie-after-libc = $(+postctorS) $(+postinit)
>  define +link-pie
> @@ -473,7 +474,8 @@ ifndef +link-static
>  	      $(filter-out $(addprefix $(csu-objpfx),start.o \
>  						     $(start-installed-name))\
>  			   $(+preinit) $(link-extra-libs-static) \
> -			   $(common-objpfx)libc% $(+postinit),$^) \
> +			   $(common-objpfx)libc% $(+postinit) \
> +			   $(+nolink-deps), $^) \
>  	      $(link-extra-libs-static)
>  +link-static-after-libc = $(+postctorT) $(+postinit)
>  define +link-static
> @@ -509,7 +511,8 @@ else  # not build-pie-default
>  	      $(filter-out $(addprefix $(csu-objpfx),start.o \
>  						     $(start-installed-name))\
>  			   $(+preinit) $(link-extra-libs) \
> -			   $(common-objpfx)libc% $(+postinit),$^) \
> +			   $(common-objpfx)libc% $(+postinit) \
> +			   $(+nolink-deps),$^) \
>  	      $(link-extra-libs)
>  +link-after-libc = $(+postctor) $(+postinit)
>  define +link
> @@ -549,7 +552,8 @@ endif  # +link
>  	      $(filter-out $(addprefix $(csu-objpfx),start.o \
>  						     $(start-name-2.0))\
>  			   $(+preinit) $(link-extra-libs) \
> -			   $(common-objpfx)libc% $(+postinit),$^) \
> +			   $(common-objpfx)libc% $(+postinit) \
> +			   $(+nolink-deps),$^) \
>  	      $(link-extra-libs)
>  +link-after-libc = $(+postctor) $(+postinit)
>  define +link-2.0-tests
> diff --git a/Makerules b/Makerules
> index ada616891e..9dc60cc3ce 100644
> --- a/Makerules
> +++ b/Makerules
> @@ -587,7 +587,7 @@ endef
>  build-module-helper-objlist = \
>  	$(patsubst %_pic.a,$(whole-archive) %_pic.a $(no-whole-archive),\
>  		   $(filter-out %.lds $(map-file) $(+preinit) $(+postinit) \
> -				$(elf-objpfx)sofini.os \
> +				$(elf-objpfx)sofini.os $(+nolink-deps) \
>  				$(link-libc-deps),$^))
>  
>  build-module-objlist = $(build-module-helper-objlist) $(LDLIBS-$(@F:%.so=%).so)
> 
> base-commit: 3e2be87832781a29ed67f38f87c1ce3dd4c1b866



More information about the Libc-alpha mailing list