Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Sep 2008 18:26:09 GMT
From:      Rui Paulo <rpaulo@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 149070 for review
Message-ID:  <200809021826.m82IQ9CR055395@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=149070

Change 149070 by rpaulo@rpaulo_phi on 2008/09/02 18:25:35

	We really need a separate section for the Xcommand_set.
	I understood that we needed this, but I failed to see if the section
	was being copied to loader.efi by objcopy.
	
	Now we have a working EFI boot loader for ia32 (tested on a MacBook).
	
	objcopy tip thanks to:	Marcel

Affected files ...

.. //depot/projects/efi/boot/i386/efi/Makefile#6 edit
.. //depot/projects/efi/boot/i386/efi/ldscript.amd64#2 edit
.. //depot/projects/efi/boot/i386/efi/ldscript.i386#2 edit

Differences ...

==== //depot/projects/efi/boot/i386/efi/Makefile#6 (text+ko) ====

@@ -55,7 +55,7 @@
 		exit 1; \
 	fi
 	${OBJCOPY} -j .data -j .dynamic -j .dynstr -j .dynsym -j .hash \
-	    -j .rel.dyn -j .reloc -j .sdata -j .text \
+	    -j .rel.dyn -j .reloc -j .sdata -j .text -j set_Xcommand_set \
 	    --target=efi-app-ia32 ${.ALLSRC} ${.TARGET}
 
 LIBEFI=		${.OBJDIR}/../../efi/libefi/libefi.a

==== //depot/projects/efi/boot/i386/efi/ldscript.amd64#2 (text+ko) ====

@@ -22,9 +22,6 @@
     *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
     *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
     *(.opd)
-    __start_set_Xcommand_set = .;
-    *(set_Xcommand_set)
-    __stop_set_Xcommand_set = .;
     *(.data .data.* .gnu.linkonce.d.*)
     *(.data1)
     *(.plabel)
@@ -33,6 +30,12 @@
     *(COMMON)
   }
   . = ALIGN(4096);
+  set_Xcommand_set	: {
+    __start_set_Xcommand_set = .;
+    *(set_Xcommand_set)
+    __stop_set_Xcommand_set = .;
+  }
+  . = ALIGN(4096);
   __gp = .;
   .sdata	: {
     *(.got.plt .got)

==== //depot/projects/efi/boot/i386/efi/ldscript.i386#2 (text+ko) ====

@@ -22,9 +22,6 @@
     *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
     *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
     *(.opd)
-    __start_set_Xcommand_set = .;
-    *(set_Xcommand_set)
-    __stop_set_Xcommand_set = .;
     *(.data .data.* .gnu.linkonce.d.*)
     *(.data1)
     *(.plabel)
@@ -33,6 +30,12 @@
     *(COMMON)
   }
   . = ALIGN(4096);
+  set_Xcommand_set	: {
+    __start_set_Xcommand_set = .;
+    *(set_Xcommand_set)
+    __stop_set_Xcommand_set = .;
+  }
+  . = ALIGN(4096);
   __gp = .;
   .sdata	: {
     *(.got.plt .got)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809021826.m82IQ9CR055395>