Apparently some linkers will just throw caution to the wind and
decide to stick stuff we don't explicitly mention at 0, no matter what else has already explicitly been located there. A debian/ubuntu builder noted: gcc -O0 -g3 -fpic -Wall -fshort-wchar -fno-strict-aliasing \ -fno-merge-constants -ffreestanding -fno-stack-protector \ -fno-stack-check --std=c11 -DCONFIG_aarch64 -D__KERNEL__ \ -I/usr/include/efi/ -I/usr/include/efi/aarch64/ \ -iquote/«PKGBUILDDIR»/include "-DDEBUGDIR=L\"/\"" \ -ffreestanding -I/usr/lib/gcc/aarch64-linux-gnu/4.9/include \ -c -o fakeesrt2.o fakeesrt2.c ld -nostdlib --warn-common --no-undefined --fatal-warnings -shared \ -Bsymbolic -L/usr/lib -L/usr/lib --build-id=sha1 \ /usr/lib/crt0-efi-aarch64.o --defsym=EFI_SUBSYSTEM=0xa \ -o fakeesrt2.so fakeesrt2.o -lefi -lgnuefi \ /usr/lib/gcc/aarch64-linux-gnu/4.9/libgcc.a \ -T elf_aarch64_efi.lds ld: section .note.gnu.build-id loaded at [00000000,00000023] overlaps section .text loaded at [00000000,0000668f] This shouldn't be a problem if we explicitly tell it where to put them. Ard added a patch to do this on Arm and aarch64 targets in 16409cad4cb, but it needs to be everywhere. Signed-off-by: Peter Jones <pjones@redhat.com> Signed-off-by: Nigel Croxon <nigel.croxon@hpe.com>
This commit is contained in:
parent
06db4a2b53
commit
d39106b3e4
@ -38,6 +38,7 @@ SECTIONS
|
||||
. = ALIGN(16);
|
||||
_bss_end = .;
|
||||
}
|
||||
|
||||
.rela.dyn : { *(.rela.dyn) }
|
||||
.rela.plt : { *(.rela.plt) }
|
||||
.rela.got : { *(.rela.got) }
|
||||
|
@ -39,6 +39,7 @@ SECTIONS
|
||||
. = ALIGN(16);
|
||||
_bss_end = .;
|
||||
}
|
||||
|
||||
.rel.dyn : { *(.rel.dyn) }
|
||||
.rel.plt : { *(.rel.plt) }
|
||||
.rel.got : { *(.rel.got) }
|
||||
|
@ -46,6 +46,8 @@ SECTIONS
|
||||
*(.bss)
|
||||
*(COMMON)
|
||||
}
|
||||
.note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
|
||||
. = ALIGN(4096);
|
||||
.dynamic : { *(.dynamic) }
|
||||
. = ALIGN(4096);
|
||||
|
@ -46,6 +46,8 @@ SECTIONS
|
||||
*(.bss)
|
||||
*(COMMON)
|
||||
}
|
||||
.note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
|
||||
. = ALIGN(4096);
|
||||
.dynamic : { *(.dynamic) }
|
||||
. = ALIGN(4096);
|
||||
|
@ -43,6 +43,8 @@ SECTIONS
|
||||
*(.bss)
|
||||
*(COMMON)
|
||||
}
|
||||
.note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
|
||||
. = ALIGN(4096);
|
||||
.dynamic : { *(.dynamic) }
|
||||
. = ALIGN(4096);
|
||||
|
@ -46,6 +46,8 @@ SECTIONS
|
||||
*(COMMON)
|
||||
*(.rel.local)
|
||||
}
|
||||
.note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
|
||||
_edata = .;
|
||||
_data_size = . - _etext;
|
||||
. = ALIGN(4096);
|
||||
|
@ -43,6 +43,8 @@ SECTIONS
|
||||
*(COMMON)
|
||||
*(.rel.local)
|
||||
}
|
||||
.note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||
|
||||
. = ALIGN(4096);
|
||||
.dynamic : { *(.dynamic) }
|
||||
. = ALIGN(4096);
|
||||
|
Loading…
Reference in New Issue
Block a user