[efi] Fix linker script for ld 2.17.50.0.9
authorMichael Brown <mcb30@etherboot.org>
Mon, 13 Oct 2008 09:41:38 +0000 (10:41 +0100)
committerMichael Brown <mcb30@etherboot.org>
Mon, 13 Oct 2008 09:41:38 +0000 (10:41 +0100)
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.

src/arch/i386/scripts/efi.lds

index 8d9ecd7..7d3281c 100644 (file)
@@ -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.