[coreboot] r3935 - trunk/payloads/libpayload/bin

svn at coreboot.org svn at coreboot.org
Tue Feb 10 22:12:35 CET 2009


Author: myles
Date: 2009-02-10 22:12:35 +0100 (Tue, 10 Feb 2009)
New Revision: 3935

Modified:
   trunk/payloads/libpayload/bin/lpgcc
Log:
Fix bayou payload execution.

Bayou must link with its own ldscript to end up at a load address that
doesn't interfere with payloads. Make Bayou's ldscript MB compatible, so
the link with libpayload/lib/i386/head.o succeeds.

Signed-off-by: Ulf Jordan <jordan at chalmers.se>
Acked-by: Jordan Crouse <jordan at cosmicpenguin.net>



Modified: trunk/payloads/libpayload/bin/lpgcc
===================================================================
--- trunk/payloads/libpayload/bin/lpgcc	2009-02-10 21:09:03 UTC (rev 3934)
+++ trunk/payloads/libpayload/bin/lpgcc	2009-02-10 21:12:35 UTC (rev 3935)
@@ -39,6 +39,8 @@
 # This will set the _LIBDIR and _INCDIR variables used below
 . $BASE/lp.functions
 
+_LDSCRIPT="-Wl,-T,$_LIBDIR/libpayload.ldscript"
+
 trygccoption() {
 	$DEFAULT_CC $1 -S -xc /dev/null -o .$$.tmp &> /dev/null
 	RET=$?
@@ -73,6 +75,11 @@
 		shift
 		continue
 		;;
+	    -Wl,-T,*)
+		_LDSCRIPT="$1"
+		shift
+		continue
+		;;
 	    *)
 		;;
 	esac
@@ -90,7 +97,7 @@
 
 _CFLAGS="$_CFLAGS -I`$DEFAULT_CC -m32 -print-search-dirs | head -n 1 | cut -d' ' -f2`include"
 
-_LDFLAGS="-Wl,-T,$_LIBDIR/libpayload.ldscript -static"
+_LDFLAGS="$_LDSCRIPT -static"
 
 if [ $DOLINK -eq 0 ]; then
     if [ $DEBUGME -eq 1 ]; then





More information about the coreboot mailing list