From: Sergei Trofimovich slyfox@gentoo.org
Modern binutils unconditionally tracks x86_64 ISA levels in intermediate files in .note.gnu.property. Custom liker script does not handle the section and complains about it:
ld --gc-sections -T out/vgasrc/vgalayout.lds out/vgaccode16.o \ out/vgaentry.o out/vgaversion.o -o out/vgarom.o ld: section .note.gnu.property LMA [0000000000000000,0000000000000027] \ overlaps section .text LMA [0000000000000000,00000000000098af]
The change ignores .note* sections.
CC: Kevin O'Connor kevin@koconnor.net Signed-off-by: Sergei Trofimovich slyfox@gentoo.org --- Change since v1: Use broader '.note*' glob as suggested by Kevin. While at it use newlines to avoid 80-bytes limit and ease review of future additions and removals.
vgasrc/vgalayout.lds.S | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/vgasrc/vgalayout.lds.S b/vgasrc/vgalayout.lds.S index 533734d..c3e4f60 100644 --- a/vgasrc/vgalayout.lds.S +++ b/vgasrc/vgalayout.lds.S @@ -19,5 +19,12 @@ SECTIONS
// Discard regular data sections to force a link error if // 16bit code attempts to access data not marked with VAR16. - /DISCARD/ : { *(.text*) *(.rodata*) *(.data*) *(.bss*) *(COMMON) } + /DISCARD/ : { + *(.text*) + *(.rodata*) + *(.data*) + *(.bss*) + *(COMMON) + *(.note*) + } }