mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
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: aa9045e771 ('x86/boot: Rework how 32bit C is linked/included for early boot')
Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
1 parent
1580813006
commit
c05ac8fe30
1 file changed
+9
@@ -66,6 +66,15 @@ SECTIONS
|
||||
*(.comment.*)
|
||||
*(.note.*)
|
||||
}
|
||||
.shstrtab : {
|
||||
*(.shstrtab)
|
||||
}
|
||||
.strtab : {
|
||||
*(.strtab)
|
||||
}
|
||||
.symtab : {
|
||||
*(.symtab)
|
||||
}
|
||||
/* Dynamic linkage sections. Collected simply so we can check they're empty. */
|
||||
.got : {
|
||||
*(.got)
|
||||
|
||||