On 06/11/2024 11:41 am, Frediano Ziglio wrote: > This toolchain generates different object files. > Object have 3 additional sections which must be handled by the > linker script. > Added sections need to have special type so we put them in > separate sections as linker will copy type from input sections. > > Fixes: aa9045e77130 ('x86/boot: Rework how 32bit C is linked/included for > early boot') > > Signed-off-by: Frediano Ziglio <frediano.zig...@cloud.com>
The patch itself is fine, but the commit message is quite stale now you've split the fix into 3 bits. I'd recommend: ---%<--- x86/boot: Explicitly list .{sym,shstr,str}tab in build32.lds.S Currently, building with LLVM's LLD fails: ld -melf_i386_fbsd --orphan-handling=error -N -T ... ld: error: <internal>:(.symtab) is being placed in '.symtab' ld: error: <internal>:(.shstrtab) is being placed in '.shstrtab' ld: error: <internal>:(.strtab) is being placed in '.strtab' gmake[11]: *** [arch/x86/boot/Makefile:69: arch/x86/boot/built-in-32.base.bin] Error 1 This is a consequence of --orphan-handling, and it appears that Binutils doesn't diagnose some orphaned sections even explicitly asked to do so. List the sections explicitly. Fixes ... ---%<--- Happy to fix on commit. ~Andrew