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 <p...@kernel.org>
Thanks for following up with upstream here. I see they didn't answer your final question, but my read of the series is that what you're doing here should always work. Reviewed-by: Tom Rini <tr...@konsulko.com> Link: https://sourceware.org/pipermail/binutils/2022-October/123472.html -- Tom
signature.asc
Description: PGP signature