On Wed, 1 Apr 2020 at 20:02, Nick Desaulniers <ndesaulniers@xxxxxxxxxx> wrote: > > On Sun, Mar 29, 2020 at 1:33 PM Stefan Agner <stefan@xxxxxxxx> wrote: > > > > The adrl instruction has been introduced with commit dd31394779aa ("ARM: > > omap3: Thumb-2 compatibility for sleep34xx.S"), back when this assembly > > file was considerably longer. Today adr seems to have enough reach, even > > when inserting about 60 instructions between the use site and the label. > > Replace adrl with conventional adr instruction. > > > > This allows to build this file using Clang's integrated assembler (which > > does not support the adrl pseudo instruction). > > Context: https://github.com/ClangBuiltLinux/linux/issues/430#issuecomment-476124724 > If Peter says it's difficult to implement, I trust him. > Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> > I take it this implies that the LLVM linker does not support the R_ARM_ALU_PC_Gn relocations? Since otherwise, adrl could simply be expanded to a pair of adds with the appropriate relocations, letting the linker fix up the immediates (and the ADD vs SUB bits) > > > > Link: https://github.com/ClangBuiltLinux/linux/issues/430 > > Signed-off-by: Stefan Agner <stefan@xxxxxxxx> > > --- > > arch/arm/mach-omap2/sleep34xx.S | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/arch/arm/mach-omap2/sleep34xx.S b/arch/arm/mach-omap2/sleep34xx.S > > index ac1324c6453b..c4e97d35c310 100644 > > --- a/arch/arm/mach-omap2/sleep34xx.S > > +++ b/arch/arm/mach-omap2/sleep34xx.S > > @@ -72,7 +72,7 @@ ENTRY(enable_omap3630_toggle_l2_on_restore) > > stmfd sp!, {lr} @ save registers on stack > > /* Setup so that we will disable and enable l2 */ > > mov r1, #0x1 > > - adrl r3, l2dis_3630_offset @ may be too distant for plain adr > > + adr r3, l2dis_3630_offset > > ldr r2, [r3] @ value for offset > > str r1, [r2, r3] @ write to l2dis_3630 > > ldmfd sp!, {pc} @ restore regs and return > > -- > > 2.25.1 > > > > -- > > You received this message because you are subscribed to the Google Groups "Clang Built Linux" group. > > To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@xxxxxxxxxxxxxxxx. > > To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/5a6807f19fd69f2de6622c794639cc5d70b9563a.1585513949.git.stefan%40agner.ch. > > > > -- > Thanks, > ~Nick Desaulniers > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel