On 29.11.2024 02:49, Volodymyr Babchuk wrote:
> Before this change, compiler would generate symbol that points right
> past .rodata.str section. While GNU ld handles this just fine, LLVM ld
> will complain:
>
> ld.lld: error: common/device-tree/device-tree.o:(.rodata.str): offset is outside the section
As this is pretty clearly a bug in the linker, has that been reported
there? A reference to such a bug report would then imo want ...
> --- a/xen/arch/arm/include/asm/bug.h
> +++ b/xen/arch/arm/include/asm/bug.h
> @@ -47,7 +47,11 @@ struct bug_frame {
> ".p2align 2\n" \
> ".long (1b - 4b)\n" \
> ".long (2b - 4b)\n" \
> + ".if " #has_msg "\n" \
> ".long (3b - 4b)\n" \
> + ".else\n" \
> + ".long 0\n" \
> + ".endif\n" \
> ".hword " __stringify(line) ", 0\n" \
> ".popsection"); \
> } while (0)
... attaching as a comment here, to make clear why the extra complexity is
needed.
Jan