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@chalmers.se>
Acked-by: Jordan Crouse <jordan@cosmicpenguin.net>



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3935 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Ulf Jordan 2009-02-10 21:12:35 +00:00 committed by Myles Watson
parent 3ba0ce5f58
commit 6818a32367
1 changed files with 8 additions and 1 deletions

View File

@ -39,6 +39,8 @@ BASE=`dirname $0`
# This will set the _LIBDIR and _INCDIR variables used below # This will set the _LIBDIR and _INCDIR variables used below
. $BASE/lp.functions . $BASE/lp.functions
_LDSCRIPT="-Wl,-T,$_LIBDIR/libpayload.ldscript"
trygccoption() { trygccoption() {
$DEFAULT_CC $1 -S -xc /dev/null -o .$$.tmp &> /dev/null $DEFAULT_CC $1 -S -xc /dev/null -o .$$.tmp &> /dev/null
RET=$? RET=$?
@ -73,6 +75,11 @@ while [ $# -gt 0 ]; do
shift shift
continue continue
;; ;;
-Wl,-T,*)
_LDSCRIPT="$1"
shift
continue
;;
*) *)
;; ;;
esac esac
@ -90,7 +97,7 @@ trygccoption -fno-stack-protector
_CFLAGS="$_CFLAGS -I`$DEFAULT_CC -m32 -print-search-dirs | head -n 1 | cut -d' ' -f2`include" _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 [ $DOLINK -eq 0 ]; then
if [ $DEBUGME -eq 1 ]; then if [ $DEBUGME -eq 1 ]; then