[PATCH] Nokia RX-51: Fix compilation with non-zero CONFIG_SYS_TEXT_BASE

Tom Rini trini at konsulko.com
Mon Oct 10 15:54:02 CEST 2022


On Sun, Oct 09, 2022 at 09:37:13PM +0200, Pali Rohár wrote:

> For some unknown reason GNU assembler version 2.31.1 (arm-linux-gnueabi-as
> from Debian Buster) cannot compile following code from located in file
> board/nokia/rx51/lowlevel_init.S:
> 
>   kernoffs:
>     .word  KERNEL_OFFSET - (. - CONFIG_SYS_TEXT_BASE)
> 
> when CONFIG_SYS_TEXT_BASE is set to 0x80008000. It throws strange compile
> error which is even without line number:
> 
>     AS      board/nokia/rx51/lowlevel_init.o
>   {standard input}: Assembler messages:
>   {standard input}: Error: attempt to get value of unresolved symbol `L0'
>   make[2]: *** [scripts/Makefile.build:293: board/nokia/rx51/lowlevel_init.o] Error 1
> 
> I have no idea about this error and my experiments showed that ARM GNU
> assembler is happy with negation of that number. So changing code to:
> 
>   kernoffs:
>     .word  . - CONFIG_SYS_TEXT_BASE - KERNEL_OFFSET
> 
> and then replacing mathematical addition by substraction of "kernoffs"
> value (so calculation of address does not change) compiles assembler file
> without any error now.
> 
> There should be not any functional change.
> 
> Signed-off-by: Pali Rohár <pali at kernel.org>
> ---
> Btw, is somebody understanding that compile error message? Is there (or
> was there) some real issue in the code, so assembler refuse to compile
> it? Or have I triggered bug in GNU assembler?

I would suggest filing a bug with upstream GNU assembler and seeing what
they say.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20221010/95573043/attachment.sig>


More information about the U-Boot mailing list