public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* PATCH: Fix gnu-efi-3.0b-041222 for ia32
@ 2006-03-17 20:23 H. J. Lu
  2006-03-17 20:45 ` James E Wilson
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: H. J. Lu @ 2006-03-17 20:23 UTC (permalink / raw)
  To: linux-ia64

I don't know where I should report gnu-efi bug. The ia32 support in
gnu-efi-3.0b-041222 doesn't work with newer gcc and binutils. The
problem is in the linker script. The new gcc may put functions in
.text* sections. The newer linker handles orphaned sections
differently. I tested this patch on both ia32 and ia64 with different
versions of gcc and binutils by building elilo 3.6. Elilo 3.6 loads
and run kernel correctly on ia64. It seems to work find on ia32.

Thanks.


H.J.
--- gnu-efi/gnuefi/elf_ia32_efi.lds.ia32	2004-12-22 07:52:28.000000000 -0800
+++ gnu-efi/gnuefi/elf_ia32_efi.lds	2006-03-17 11:47:21.000000000 -0800
@@ -9,7 +9,11 @@ SECTIONS
   . = ALIGN(4096);
   .text :
   {
-   *(.text)
+   *(.text*)
+  }
+  .reloc :
+  {
+   *(.reloc)
   }
   . = ALIGN(4096);
   .data :
@@ -48,12 +52,9 @@ SECTIONS
   . = ALIGN(4096);
   .dynstr   : { *(.dynstr) }
   . = ALIGN(4096);
-  .ignored.reloc :
+  /DISCARD/ :
   {
     *(.rel.reloc)
-  }
-  .ignored :
-  {
     *(.eh_frame)
   }
 }
--- gnu-efi/gnuefi/elf_ia64_efi.lds.ia32	2004-12-22 10:18:10.000000000 -0800
+++ gnu-efi/gnuefi/elf_ia64_efi.lds	2006-03-17 11:51:51.000000000 -0800
@@ -59,13 +59,10 @@ SECTIONS
   .dynsym   : { *(.dynsym) }
   . = ALIGN(4096);
   .dynstr   : { *(.dynstr) }
-  .ignored_reloc :
+  /DISCARD/ :
   {
     *(.rela.plabel)
     *(.rela.reloc)
-  }
-  /DISCARD/ :
-  {
     *(.IA_64.unwind*)
     *(.IA64.unwind*)
   }

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2006-03-17 23:54 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-03-17 20:23 PATCH: Fix gnu-efi-3.0b-041222 for ia32 H. J. Lu
2006-03-17 20:45 ` James E Wilson
2006-03-17 20:53 ` James E Wilson
2006-03-17 21:46 ` H. J. Lu
2006-03-17 21:52 ` H. J. Lu
2006-03-17 21:52 ` Matthew Wilcox
2006-03-17 23:07 ` James E Wilson
2006-03-17 23:15 ` James E Wilson
2006-03-17 23:16 ` Stephane Eranian
2006-03-17 23:31 ` H. J. Lu
2006-03-17 23:54 ` James E Wilson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox