Fix the creation of EFI images that got broken by the import of
binutils 2.15. The linker now creates a .rela.dyn section for dynamic relocations, while our script created a .rela section. Likewise, we copied the .rela section to the EFI image, but not the .rela.dyn section. The fix is to rename .rela to .rela.dyn in the linker script so that all relocations end up in the same section again. This we copy into the EFI image.
This commit is contained in:
parent
fb7ed0f9cc
commit
8af8df6452
@ -47,7 +47,7 @@ SECTIONS
|
||||
. = ALIGN(4096);
|
||||
.dynamic : { *(.dynamic) }
|
||||
. = ALIGN(4096);
|
||||
.rela : {
|
||||
.rela.dyn : {
|
||||
*(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
|
||||
*(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
|
||||
*(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
|
||||
|
@ -41,12 +41,12 @@ vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
|
||||
|
||||
loader.efi: loader.sym
|
||||
${OBJCOPY} -j .text \
|
||||
-j .hash \
|
||||
-j .data \
|
||||
-j .sdata \
|
||||
-j .dynamic \
|
||||
-j .rela \
|
||||
-j .rela.dyn \
|
||||
-j .reloc \
|
||||
-j .hash \
|
||||
-j .dynsym \
|
||||
-j .dynstr \
|
||||
--target=efi-app-${MACHINE_ARCH} \
|
||||
|
@ -41,12 +41,12 @@ vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
|
||||
|
||||
loader.efi: loader.sym
|
||||
${OBJCOPY} -j .text \
|
||||
-j .hash \
|
||||
-j .data \
|
||||
-j .sdata \
|
||||
-j .dynamic \
|
||||
-j .rela \
|
||||
-j .rela.dyn \
|
||||
-j .reloc \
|
||||
-j .hash \
|
||||
-j .dynsym \
|
||||
-j .dynstr \
|
||||
--target=efi-app-${MACHINE_ARCH} \
|
||||
|
@ -47,7 +47,7 @@ SECTIONS
|
||||
. = ALIGN(4096);
|
||||
.dynamic : { *(.dynamic) }
|
||||
. = ALIGN(4096);
|
||||
.rela : {
|
||||
.rela.dyn : {
|
||||
*(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
|
||||
*(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
|
||||
*(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
|
||||
|
Loading…
Reference in New Issue
Block a user