Hi,

thanks for the notes and the patch.

Committed revision 33649.

There are also pending updates for booth gnu-efi and elilo, but as they did neither not yet just build on our continuous integration test server they are not yet in trunk. I try to take a look on the updates soon, likewise.

Have fun,
  René

On 17.07.2009, at 01:57, Jan Rovins wrote:

Hi,

I had to jump through some strange hoops in order to get elilo built on an x86 embedded build.

This is what got it to build:

1. there is a dependency, elilo needs gnu-efi, this should be added to the T2 package documentation on the website. and also to the internal dependencies.

2. gnu-efi does not build under ia32/x86 arch in the current svn trunk. there is a linker error:


make[1]: Entering directory `/opt/T2/t2-trunk/src.gnu- efi.GW_5.20090716.190157.17660.loadgen1/gnu-efi-3.0/apps' i686-t2-linux-gnu-gcc -I./../apps -I./../apps/../inc -I./../apps/../ inc/ia32 -I./../apps/../inc/protocol -O2 -fpic -Wall -fshort-wchar -fno-strict-aliasing -fno-merge-constants -DCONFIG_ia32 -D__KERNEL__ -I/usr/src/sys/build/include -c t.c -o t.o i686-t2-linux-gnu-ld -nostdlib -T ./../apps/../gnuefi/ elf_ia32_efi.lds -shared -Bsymbolic -L../lib -L../gnuefi ../gnuefi/ crt0-efi-ia32.o t.o -o t.so -lefi -lgnuefi /opt/T2/t2-trunk/build/ GW_5-8.0-trunk-embedded-adax-gw-x86-pentium-m-cross/TOOLCHAIN/ tools.cross/crosscc/../lib/gcc/i686-t2-linux-gnu/4.3.2/libgcc.a i686-t2-linux-gnu-ld: section .data [00000000 -> 00002183] overlaps section .hash [00000000 -> 0000065b] i686-t2-linux-gnu-ld: section .text [00001000 -> 00004b0c] overlaps section .data [00000000 -> 00002183] i686-t2-linux-gnu-ld: section .dynamic [00003000 -> 00003077] overlaps section .text [00001000 -> 00004b0c] i686-t2-linux-gnu-ld: t.so: section .data vma 0x0 overlaps previous sections i686-t2-linux-gnu-ld: t.so: section .text vma 0x1000 overlaps previous sections i686-t2-linux-gnu-ld: t.so: section .dynamic vma 0x3000 overlaps previous sections i686-t2-linux-gnu-ld: t.so: section .rel vma 0x4000 overlaps previous sections i686-t2-linux-gnu-ld: t.so: section .dynsym vma 0x5000 overlaps previous sections i686-t2-linux-gnu-ld: t.so: section .dynstr vma 0x6000 overlaps previous sections
make[1]: *** [t.so] Error 1
rm t.o
make[1]: Leaving directory `/opt/T2/t2-trunk/src.gnu- efi.GW_5.20090716.190157.17660.loadgen1/gnu-efi-3.0/apps'
make: *** [apps] Error 2
Due to previous errors, no 1-gnu-efi.log file!
(Try enabling xtrace in the config to track an error inside the build system.)
--- BUILD ERROR ---

Found  a fix for this on the RedHat website, it is described here:
https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=492183

A corrected lds file for ia32 was posted here:
https://bugzilla.redhat.com/attachment.cgi?id=337523

I Made a patch for this which is attached.
It now links OK.

Jan
diff -aur gnu-efi-3.0/gnuefi/elf_ia32_efi.lds gnu-efi-3.0-fix/gnuefi/ elf_ia32_efi.lds --- gnu-efi-3.0/gnuefi/elf_ia32_efi.lds 2008-09-18 12:52:58.000000000 -0400 +++ gnu-efi-3.0-fix/gnuefi/elf_ia32_efi.lds 2009-07-16 19:15:14.658001000 -0400
@@ -13,9 +13,15 @@
   *(.text.*)
   *(.gnu.linkonce.t.*)
  }
-  .reloc :
+  . = ALIGN(4096);
+  .sdata :
  {
-   *(.reloc)
+   *(.got.plt)
+   *(.got)
+   *(.srodata)
+   *(.sdata)
+   *(.sbss)
+   *(.scommon)
  }
  . = ALIGN(4096);
  .data :
@@ -50,6 +56,11 @@
    *(.data.rel*)
  }
  . = ALIGN(4096);
+  .reloc :             /* This is the PECOFF .reloc section! */
+  {
+    *(.reloc)
+  }
+  . = ALIGN(4096);
  .dynsym   : { *(.dynsym) }
  . = ALIGN(4096);
  .dynstr   : { *(.dynstr) }
@@ -58,5 +69,8 @@
  {
    *(.rel.reloc)
    *(.eh_frame)
+    *(.note.GNU-stack)
  }
+  .comment 0 : { *(.comment) }
}
+
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2

--
  René Rebe - ExactCODE GmbH - Europe, Germany, Berlin
  http://exactcode.de | http://t2-project.org | http://rene.rebe.name

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2

Reply via email to