* [PATCH v2/RESEND] riscv: Pass -mno-relax only on lld < 15.0.0
@ 2022-09-18 9:29 Palmer Dabbelt
2022-09-18 9:57 ` Conor Dooley
0 siblings, 1 reply; 4+ messages in thread
From: Palmer Dabbelt @ 2022-09-18 9:29 UTC (permalink / raw)
To: maskray, linux-riscv; +Cc: Palmer Dabbelt
From: Fangrui Song <maskray@google.com>
lld since llvm:6611d58f5bbc ("[ELF] Relax R_RISCV_ALIGN"), which will be
included in the 15.0.0 release, has implemented some RISC-V linker
relaxation. -mno-relax is no longer needed in
KBUILD_CFLAGS/KBUILD_AFLAGS to suppress R_RISCV_ALIGN which older lld
can not handle:
ld.lld: error: capability.c:(.fixup+0x0): relocation R_RISCV_ALIGN
requires unimplemented linker relaxation; recompile with -mno-relax
but the .o is already compiled with -mno-relax
Signed-off-by: Fangrui Song <maskray@google.com>
Link: https://lore.kernel.org/r/20220710071117.446112-1-maskray@google.com/
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Tested-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
---
Fanguri poked me about this one on IRC, I'm not sure what happened but
it didn't make it to my inbox (and neither did the replies, which is
kind of scary). Rather that trying to resurrect that thread from lore,
I figured it would be best to just send the v2 as the commit message
needed a bit of cleanup.
Changes since v1 <20220710071117.446112-1-maskray@google.com>:
* Clean up the commit message a bit.
---
arch/riscv/Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile
index 3fa8ef336822..e7d52a2301e2 100644
--- a/arch/riscv/Makefile
+++ b/arch/riscv/Makefile
@@ -37,6 +37,7 @@ else
endif
ifeq ($(CONFIG_LD_IS_LLD),y)
+ifeq ($(shell test $(CONFIG_LLD_VERSION) -lt 150000; echo $$?),0)
KBUILD_CFLAGS += -mno-relax
KBUILD_AFLAGS += -mno-relax
ifndef CONFIG_AS_IS_LLVM
@@ -44,6 +45,7 @@ ifndef CONFIG_AS_IS_LLVM
KBUILD_AFLAGS += -Wa,-mno-relax
endif
endif
+endif
# ISA string setting
riscv-march-$(CONFIG_ARCH_RV32I) := rv32ima
--
2.34.1
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2/RESEND] riscv: Pass -mno-relax only on lld < 15.0.0
2022-09-18 9:29 [PATCH v2/RESEND] riscv: Pass -mno-relax only on lld < 15.0.0 Palmer Dabbelt
@ 2022-09-18 9:57 ` Conor Dooley
2022-09-18 10:06 ` Palmer Dabbelt
0 siblings, 1 reply; 4+ messages in thread
From: Conor Dooley @ 2022-09-18 9:57 UTC (permalink / raw)
To: Palmer Dabbelt, Nathan Chancellor; +Cc: maskray, linux-riscv
On Sun, Sep 18, 2022 at 02:29:34AM -0700, Palmer Dabbelt wrote:
> From: Fangrui Song <maskray@google.com>
>
> lld since llvm:6611d58f5bbc ("[ELF] Relax R_RISCV_ALIGN"), which will be
> included in the 15.0.0 release, has implemented some RISC-V linker
> relaxation. -mno-relax is no longer needed in
> KBUILD_CFLAGS/KBUILD_AFLAGS to suppress R_RISCV_ALIGN which older lld
> can not handle:
>
> ld.lld: error: capability.c:(.fixup+0x0): relocation R_RISCV_ALIGN
> requires unimplemented linker relaxation; recompile with -mno-relax
> but the .o is already compiled with -mno-relax
>
> Signed-off-by: Fangrui Song <maskray@google.com>
> Link: https://lore.kernel.org/r/20220710071117.446112-1-maskray@google.com/
> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
> Tested-by: Nick Desaulniers <ndesaulniers@google.com>
> Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
> ---
> Fanguri poked me about this one on IRC, I'm not sure what happened but
> it didn't make it to my inbox (and neither did the replies, which is
> kind of scary). Rather that trying to resurrect that thread from lore,
> I figured it would be best to just send the v2 as the commit message
> needed a bit of cleanup.
One of the replies was a T-b from Nathan:
https://lore.kernel.org/linux-riscv/YsxfiKC%2FZBr7U7qI@dev-arch.thelio-3990X/
dunno if you wanna pick that up or he wants to resend..
I gave it a whirl too, so:
Tested-by: Conor Dooley <conor.dooley@microchip.com>
>
> Changes since v1 <20220710071117.446112-1-maskray@google.com>:
>
> * Clean up the commit message a bit.
> ---
> arch/riscv/Makefile | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile
> index 3fa8ef336822..e7d52a2301e2 100644
> --- a/arch/riscv/Makefile
> +++ b/arch/riscv/Makefile
> @@ -37,6 +37,7 @@ else
> endif
>
> ifeq ($(CONFIG_LD_IS_LLD),y)
> +ifeq ($(shell test $(CONFIG_LLD_VERSION) -lt 150000; echo $$?),0)
> KBUILD_CFLAGS += -mno-relax
> KBUILD_AFLAGS += -mno-relax
> ifndef CONFIG_AS_IS_LLVM
> @@ -44,6 +45,7 @@ ifndef CONFIG_AS_IS_LLVM
> KBUILD_AFLAGS += -Wa,-mno-relax
> endif
> endif
> +endif
>
> # ISA string setting
> riscv-march-$(CONFIG_ARCH_RV32I) := rv32ima
> --
> 2.34.1
>
>
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2/RESEND] riscv: Pass -mno-relax only on lld < 15.0.0
2022-09-18 9:57 ` Conor Dooley
@ 2022-09-18 10:06 ` Palmer Dabbelt
2022-09-23 11:15 ` Palmer Dabbelt
0 siblings, 1 reply; 4+ messages in thread
From: Palmer Dabbelt @ 2022-09-18 10:06 UTC (permalink / raw)
To: conor; +Cc: nathan, maskray, linux-riscv
On Sun, 18 Sep 2022 02:57:11 PDT (-0700), conor@kernel.org wrote:
> On Sun, Sep 18, 2022 at 02:29:34AM -0700, Palmer Dabbelt wrote:
>> From: Fangrui Song <maskray@google.com>
>>
>> lld since llvm:6611d58f5bbc ("[ELF] Relax R_RISCV_ALIGN"), which will be
>> included in the 15.0.0 release, has implemented some RISC-V linker
>> relaxation. -mno-relax is no longer needed in
>> KBUILD_CFLAGS/KBUILD_AFLAGS to suppress R_RISCV_ALIGN which older lld
>> can not handle:
>>
>> ld.lld: error: capability.c:(.fixup+0x0): relocation R_RISCV_ALIGN
>> requires unimplemented linker relaxation; recompile with -mno-relax
>> but the .o is already compiled with -mno-relax
>>
>> Signed-off-by: Fangrui Song <maskray@google.com>
>> Link: https://lore.kernel.org/r/20220710071117.446112-1-maskray@google.com/
>> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
>> Tested-by: Nick Desaulniers <ndesaulniers@google.com>
>> Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
>> ---
>> Fanguri poked me about this one on IRC, I'm not sure what happened but
>> it didn't make it to my inbox (and neither did the replies, which is
>> kind of scary). Rather that trying to resurrect that thread from lore,
>> I figured it would be best to just send the v2 as the commit message
>> needed a bit of cleanup.
>
> One of the replies was a T-b from Nathan:
> https://lore.kernel.org/linux-riscv/YsxfiKC%2FZBr7U7qI@dev-arch.thelio-3990X/
> dunno if you wanna pick that up or he wants to resend..
>
> I gave it a whirl too, so:
> Tested-by: Conor Dooley <conor.dooley@microchip.com>
Thanks, I just picked both up.
>
>>
>> Changes since v1 <20220710071117.446112-1-maskray@google.com>:
>>
>> * Clean up the commit message a bit.
>> ---
>> arch/riscv/Makefile | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile
>> index 3fa8ef336822..e7d52a2301e2 100644
>> --- a/arch/riscv/Makefile
>> +++ b/arch/riscv/Makefile
>> @@ -37,6 +37,7 @@ else
>> endif
>>
>> ifeq ($(CONFIG_LD_IS_LLD),y)
>> +ifeq ($(shell test $(CONFIG_LLD_VERSION) -lt 150000; echo $$?),0)
>> KBUILD_CFLAGS += -mno-relax
>> KBUILD_AFLAGS += -mno-relax
>> ifndef CONFIG_AS_IS_LLVM
>> @@ -44,6 +45,7 @@ ifndef CONFIG_AS_IS_LLVM
>> KBUILD_AFLAGS += -Wa,-mno-relax
>> endif
>> endif
>> +endif
>>
>> # ISA string setting
>> riscv-march-$(CONFIG_ARCH_RV32I) := rv32ima
>> --
>> 2.34.1
>>
>>
>> _______________________________________________
>> linux-riscv mailing list
>> linux-riscv@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-riscv
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2/RESEND] riscv: Pass -mno-relax only on lld < 15.0.0
2022-09-18 10:06 ` Palmer Dabbelt
@ 2022-09-23 11:15 ` Palmer Dabbelt
0 siblings, 0 replies; 4+ messages in thread
From: Palmer Dabbelt @ 2022-09-23 11:15 UTC (permalink / raw)
To: linux-riscv; +Cc: conor, nathan, maskray
On Sun, 18 Sep 2022 03:06:44 PDT (-0700), Palmer Dabbelt wrote:
> On Sun, 18 Sep 2022 02:57:11 PDT (-0700), conor@kernel.org wrote:
>> On Sun, Sep 18, 2022 at 02:29:34AM -0700, Palmer Dabbelt wrote:
>>> From: Fangrui Song <maskray@google.com>
>>>
>>> lld since llvm:6611d58f5bbc ("[ELF] Relax R_RISCV_ALIGN"), which will be
>>> included in the 15.0.0 release, has implemented some RISC-V linker
>>> relaxation. -mno-relax is no longer needed in
>>> KBUILD_CFLAGS/KBUILD_AFLAGS to suppress R_RISCV_ALIGN which older lld
>>> can not handle:
>>>
>>> ld.lld: error: capability.c:(.fixup+0x0): relocation R_RISCV_ALIGN
>>> requires unimplemented linker relaxation; recompile with -mno-relax
>>> but the .o is already compiled with -mno-relax
>>>
>>> Signed-off-by: Fangrui Song <maskray@google.com>
>>> Link: https://lore.kernel.org/r/20220710071117.446112-1-maskray@google.com/
>>> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
>>> Tested-by: Nick Desaulniers <ndesaulniers@google.com>
>>> Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
>>> ---
>>> Fanguri poked me about this one on IRC, I'm not sure what happened but
>>> it didn't make it to my inbox (and neither did the replies, which is
>>> kind of scary). Rather that trying to resurrect that thread from lore,
>>> I figured it would be best to just send the v2 as the commit message
>>> needed a bit of cleanup.
>>
>> One of the replies was a T-b from Nathan:
>> https://lore.kernel.org/linux-riscv/YsxfiKC%2FZBr7U7qI@dev-arch.thelio-3990X/
>> dunno if you wanna pick that up or he wants to resend..
>>
>> I gave it a whirl too, so:
>> Tested-by: Conor Dooley <conor.dooley@microchip.com>
>
> Thanks, I just picked both up.
and turns out I'd forgotten the stable tag, so I'm gonig to hold this
one off until next week.
>
>>
>>>
>>> Changes since v1 <20220710071117.446112-1-maskray@google.com>:
>>>
>>> * Clean up the commit message a bit.
>>> ---
>>> arch/riscv/Makefile | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile
>>> index 3fa8ef336822..e7d52a2301e2 100644
>>> --- a/arch/riscv/Makefile
>>> +++ b/arch/riscv/Makefile
>>> @@ -37,6 +37,7 @@ else
>>> endif
>>>
>>> ifeq ($(CONFIG_LD_IS_LLD),y)
>>> +ifeq ($(shell test $(CONFIG_LLD_VERSION) -lt 150000; echo $$?),0)
>>> KBUILD_CFLAGS += -mno-relax
>>> KBUILD_AFLAGS += -mno-relax
>>> ifndef CONFIG_AS_IS_LLVM
>>> @@ -44,6 +45,7 @@ ifndef CONFIG_AS_IS_LLVM
>>> KBUILD_AFLAGS += -Wa,-mno-relax
>>> endif
>>> endif
>>> +endif
>>>
>>> # ISA string setting
>>> riscv-march-$(CONFIG_ARCH_RV32I) := rv32ima
>>> --
>>> 2.34.1
>>>
>>>
>>> _______________________________________________
>>> linux-riscv mailing list
>>> linux-riscv@lists.infradead.org
>>> http://lists.infradead.org/mailman/listinfo/linux-riscv
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-09-23 11:15 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-18 9:29 [PATCH v2/RESEND] riscv: Pass -mno-relax only on lld < 15.0.0 Palmer Dabbelt
2022-09-18 9:57 ` Conor Dooley
2022-09-18 10:06 ` Palmer Dabbelt
2022-09-23 11:15 ` Palmer Dabbelt
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.