diff mbox series

[kvm-unit-tests] Makefile: Move -no-pie from CFLAGS into LDFLAGS

Message ID 20230822074906.7205-1-thuth@redhat.com (mailing list archive)
State New, archived
Headers show
Series [kvm-unit-tests] Makefile: Move -no-pie from CFLAGS into LDFLAGS | expand

Commit Message

Thomas Huth Aug. 22, 2023, 7:49 a.m. UTC
"-no-pie" is an option for linking, not for compiling, so we must put
this into the lDFLAGS, not into CFLAGS. Without this change, the linking
currently fails on Ubuntu 22.04 when compiling on a s390x host.

Reported-by: Janosch Frank <frankja@linux.ibm.com>
Fixes: e489c25e ("Rework the common LDFLAGS to become more useful again")
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Andrew Jones Aug. 22, 2023, 8:07 a.m. UTC | #1
On Tue, Aug 22, 2023 at 09:49:06AM +0200, Thomas Huth wrote:
> "-no-pie" is an option for linking, not for compiling, so we must put
> this into the lDFLAGS, not into CFLAGS. Without this change, the linking
                ^ L

> currently fails on Ubuntu 22.04 when compiling on a s390x host.
> 
> Reported-by: Janosch Frank <frankja@linux.ibm.com>
> Fixes: e489c25e ("Rework the common LDFLAGS to become more useful again")
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  Makefile | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 8809a8b6..e7998a40 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -80,7 +80,7 @@ COMMON_CFLAGS += $(if $(U32_LONG_FMT),-D__U32_LONG_FMT__,)
>  ifeq ($(CONFIG_EFI),y)
>  COMMON_CFLAGS += $(EFI_CFLAGS)
>  else
> -COMMON_CFLAGS += $(fno_pic) $(no_pie)
> +COMMON_CFLAGS += $(fno_pic)
>  endif
>  COMMON_CFLAGS += $(wclobbered)
>  COMMON_CFLAGS += $(wunused_but_set_parameter)
> @@ -92,7 +92,7 @@ CFLAGS += -Woverride-init -Wmissing-prototypes -Wstrict-prototypes
>  
>  autodepend-flags = -MMD -MF $(dir $*).$(notdir $*).d
>  
> -LDFLAGS += -nostdlib -z noexecstack
> +LDFLAGS += -nostdlib $(no_pie) -z noexecstack
>  
>  $(libcflat): $(cflatobjs)
>  	$(AR) rcs $@ $^
> -- 
> 2.39.3
> 

Otherwise,

Reviewed-by: Andrew Jones <andrew.jones@linux.dev>

Thanks,
drew
Janosch Frank Aug. 22, 2023, 8:37 a.m. UTC | #2
On 8/22/23 09:49, Thomas Huth wrote:
> "-no-pie" is an option for linking, not for compiling, so we must put
> this into the lDFLAGS, not into CFLAGS. Without this change, the linking
> currently fails on Ubuntu 22.04 when compiling on a s390x host.
> 
> Reported-by: Janosch Frank <frankja@linux.ibm.com>
> Fixes: e489c25e ("Rework the common LDFLAGS to become more useful again")
> Signed-off-by: Thomas Huth <thuth@redhat.com>

Just tested it on my system, this fixes the compile problem.
Thomas Huth Aug. 22, 2023, 9:28 a.m. UTC | #3
On 22/08/2023 10.37, Janosch Frank wrote:
> On 8/22/23 09:49, Thomas Huth wrote:
>> "-no-pie" is an option for linking, not for compiling, so we must put
>> this into the lDFLAGS, not into CFLAGS. Without this change, the linking
>> currently fails on Ubuntu 22.04 when compiling on a s390x host.
>>
>> Reported-by: Janosch Frank <frankja@linux.ibm.com>
>> Fixes: e489c25e ("Rework the common LDFLAGS to become more useful again")
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
> 
> Just tested it on my system, this fixes the compile problem.

Great, thanks for checking, so I pushed it now to the repo.

  Thomas
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 8809a8b6..e7998a40 100644
--- a/Makefile
+++ b/Makefile
@@ -80,7 +80,7 @@  COMMON_CFLAGS += $(if $(U32_LONG_FMT),-D__U32_LONG_FMT__,)
 ifeq ($(CONFIG_EFI),y)
 COMMON_CFLAGS += $(EFI_CFLAGS)
 else
-COMMON_CFLAGS += $(fno_pic) $(no_pie)
+COMMON_CFLAGS += $(fno_pic)
 endif
 COMMON_CFLAGS += $(wclobbered)
 COMMON_CFLAGS += $(wunused_but_set_parameter)
@@ -92,7 +92,7 @@  CFLAGS += -Woverride-init -Wmissing-prototypes -Wstrict-prototypes
 
 autodepend-flags = -MMD -MF $(dir $*).$(notdir $*).d
 
-LDFLAGS += -nostdlib -z noexecstack
+LDFLAGS += -nostdlib $(no_pie) -z noexecstack
 
 $(libcflat): $(cflatobjs)
 	$(AR) rcs $@ $^