[SeaBIOS] [PATCH v2] ld: don't hardcode "-melf_i386"

Ian Campbell Ian.Campbell at citrix.com
Wed Apr 16 14:50:29 CEST 2014


On Wed, 2014-04-16 at 14:48 +0200, Idwer Vollering wrote:
> 2014-04-16 9:14 GMT+02:00 Roger Pau Monne <roger.pau at citrix.com>:
> > On FreeBSD, the name of the emulation is "-melf_i386_fbsd", so allow
> > SeaBIOS to fetch the emulation to use from the environment variables.
> >
> > This allows SeaBIOS to compile on FreeBSD with gcc.
> >
> > Signed-off-by: Roger Pau Monné <roger.pau at citrix.com>
> 
> Acked-by: Idwer Vollering <vidwer at gmail.com>
> 
> With the note that one needs to use ld from ports' binutils, not the shipped ld:

Which according to your debug output supports -melf_i386, so why this
patch in that case?

> 
> $ /usr/bin/ld -V && /usr/local/bin/ld -V
> GNU ld 2.17.50 [FreeBSD] 2007-07-03
>   Supported emulations:
>    elf_x86_64_fbsd
>    elf_i386_fbsd
> GNU ld (GNU Binutils) 2.24
>   Supported emulations:
>    elf_x86_64_fbsd
>    elf_i386_fbsd
>    elf_x86_64
>    elf_i386
>    elf_l1om
>    elf_l1om_fbsd
>    elf_k1om
>    elf_k1om_fbsd
> 
> 
> > Cc: Ian Campbell <ian.campbell at citrix.com>
> > ---
> > Changes in v2:
> >  - Rebase on top of master
> > ---
> >  Makefile |    5 +++--
> >  1 files changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/Makefile b/Makefile
> > index e567ba1..4338f94 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -24,6 +24,7 @@ STRIP=$(CROSS_PREFIX)strip
> >  PYTHON=python
> >  CPP=cpp
> >  IASL:=iasl
> > +LD32BIT_FLAG:=-melf_i386
> >
> >  # Source files
> >  SRCBOTH=misc.c stacks.c output.c string.c x86.c block.c cdrom.c mouse.c kbd.c \
> > @@ -154,8 +155,8 @@ $(OUT)romlayout16.lds: $(OUT)ccode32flat.o $(OUT)code32seg.o $(OUT)ccode16.o $(O
> >         @echo "  Building ld scripts"
> >         $(Q)./scripts/buildversion.sh $(OUT)version.c
> >         $(Q)$(CC) $(CFLAGS32FLAT) -c $(OUT)version.c -o $(OUT)version.o
> > -       $(Q)$(LD) -melf_i386 -r $(OUT)ccode32flat.o $(OUT)version.o -o $(OUT)code32flat.o
> > -       $(Q)$(LD) -melf_i386 -r $(OUT)ccode16.o $(OUT)romlayout.o -o $(OUT)code16.o
> > +       $(Q)$(LD) $(LD32BIT_FLAG) -r $(OUT)ccode32flat.o $(OUT)version.o -o $(OUT)code32flat.o
> > +       $(Q)$(LD) $(LD32BIT_FLAG) -r $(OUT)ccode16.o $(OUT)romlayout.o -o $(OUT)code16.o
> >         $(Q)$(OBJDUMP) -thr $(OUT)code32flat.o > $(OUT)code32flat.o.objdump
> >         $(Q)$(OBJDUMP) -thr $(OUT)code32seg.o > $(OUT)code32seg.o.objdump
> >         $(Q)$(OBJDUMP) -thr $(OUT)code16.o > $(OUT)code16.o.objdump
> > --
> > 1.7.7.5 (Apple Git-26)
> >
> >
> > _______________________________________________
> > SeaBIOS mailing list
> > SeaBIOS at seabios.org
> > http://www.seabios.org/mailman/listinfo/seabios





More information about the SeaBIOS mailing list