aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony Liguori <aliguori@us.ibm.com>2009-07-11 08:48:29 -0500
committerAnthony Liguori <aliguori@us.ibm.com>2009-07-16 08:28:14 -0500
commit7aa486fe6bac2a471b92c3c4aef1ba5c214f06df (patch)
tree9e2186b881d9c2fefd2d27b6650a4cc9e30628b4
parentb8c0e7d7c4e9fe3ec00757053a33605eda1c5ac4 (diff)
Fix multiboot.bin build on mingw32
This combination of ld/object was suggested by Bartlomiej Celary Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rwxr-xr-xconfigure6
-rw-r--r--pc-bios/optionrom/Makefile8
2 files changed, 11 insertions, 3 deletions
diff --git a/configure b/configure
index a55dbc5eff..cba0c08a1d 100755
--- a/configure
+++ b/configure
@@ -34,6 +34,8 @@ ar="ar"
make="make"
install="install"
strip="strip"
+objcopy="objcopy"
+ld="ld"
# parse CC options first
for opt do
@@ -53,6 +55,8 @@ done
cc="${cross_prefix}${cc}"
ar="${cross_prefix}${ar}"
strip="${cross_prefix}${strip}"
+objcopy="${cross_prefix}${objcopy}"
+ld="${cross_prefix}${ld}"
# check that the C compiler works.
cat > $TMPC <<EOF
@@ -1483,6 +1487,8 @@ echo "INSTALL_PROG=$install -m0755 -p" >> $config_mak
echo "CC=$cc" >> $config_mak
echo "HOST_CC=$host_cc" >> $config_mak
echo "AR=$ar" >> $config_mak
+echo "OBJCOPY=$objcopy" >> $config_mak
+echo "LD=$ld" >> $config_mak
# XXX: only use CFLAGS and LDFLAGS ?
# XXX: should export HOST_CFLAGS and HOST_LDFLAGS for cross
# compilation of dyngen tool (useful for win32 build on Linux host)
diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
index 7f987d898f..69e6c22acc 100644
--- a/pc-bios/optionrom/Makefile
+++ b/pc-bios/optionrom/Makefile
@@ -3,7 +3,6 @@ all: build-all
include ../../config-host.mak
VPATH=$(SRC_PATH)/pc-bios/optionrom
-OBJCOPY=objcopy
# from kernel sources - scripts/Kbuild.include
# try-run
@@ -35,9 +34,12 @@ build-all: multiboot.bin
$(CC) $(CFLAGS) -o $@ -c $<
%.img: %.o
- $(LD) --oformat binary -Ttext 0 -o $@ $<
+ $(LD) -Ttext 0 -e _start -s -o $@ $<
-%.bin: %.img
+%.raw: %.img
+ $(OBJCOPY) -O binary -j .text $< $@
+
+%.bin: %.raw
$(SRC_PATH)/pc-bios/optionrom/signrom.sh $< $@
cp $@ $(SRC_PATH)/pc-bios/