From: Michael Brown Date: Mon, 13 Oct 2008 09:41:38 +0000 (+0100) Subject: [efi] Fix linker script for ld 2.17.50.0.9 X-Git-Tag: v0.9.6~73 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=64e5ca0582a54078e789ae36f5b62e0034503323;p=thirdparty%2Fipxe.git [efi] Fix linker script for ld 2.17.50.0.9 Some versions of ld choke on the "AT ( _xxx_lma )" in efi.lds with an error saying "nonconstant expression for load base". Since these were only explicitly setting the LMA to the address that it would have had anyway, they can be safely omitted. --- diff --git a/src/arch/i386/scripts/efi.lds b/src/arch/i386/scripts/efi.lds index 8d9ecd773..7d3281cc1 100644 --- a/src/arch/i386/scripts/efi.lds +++ b/src/arch/i386/scripts/efi.lds @@ -23,7 +23,7 @@ SECTIONS { * */ - .prefix : AT ( _prefix_lma ) { + .prefix : { _prefix = .; *(.prefix) *(.prefix.*) @@ -40,7 +40,7 @@ SECTIONS { */ . = ALIGN ( _max_align ); - .text : AT ( _text_lma ) { + .text : { _text = .; *(.text) *(.text.*) @@ -57,7 +57,7 @@ SECTIONS { */ . = ALIGN ( _max_align ); - .rodata : AT ( _rodata_lma ) { + .rodata : { _rodata = .; *(.rodata) *(.rodata.*) @@ -74,7 +74,7 @@ SECTIONS { */ . = ALIGN ( _max_align ); - .data : AT ( _data_lma ) { + .data : { _data = .; *(.data) *(.data.*) @@ -98,7 +98,7 @@ SECTIONS { */ . = ALIGN ( _max_align ); - .bss : AT ( _bss_lma ) { + .bss : { _bss = .; /* EFI seems to not support proper bss sections */ _mbss = .; @@ -114,7 +114,7 @@ SECTIONS { */ . = ALIGN ( _max_align ); - .reloc : AT ( _reloc_lma ) { + .reloc : { _reloc = .; /* Provide some dummy contents to force ld to include this * section. It will be created by the efilink utility.