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>
diff --git a/configure b/configure
index a55dbc5..cba0c08 100755
--- a/configure
+++ b/configure
@@ -34,6 +34,8 @@
 make="make"
 install="install"
 strip="strip"
+objcopy="objcopy"
+ld="ld"
 
 # parse CC options first
 for opt do
@@ -53,6 +55,8 @@
 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 "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 7f987d8..69e6c22 100644
--- a/pc-bios/optionrom/Makefile
+++ b/pc-bios/optionrom/Makefile
@@ -3,7 +3,6 @@
 include ../../config-host.mak
 
 VPATH=$(SRC_PATH)/pc-bios/optionrom
-OBJCOPY=objcopy
 
 # from kernel sources - scripts/Kbuild.include
 # try-run
@@ -35,9 +34,12 @@
 	$(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/