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

Idwer Vollering vidwer at gmail.com
Wed Apr 16 14:48:49 CEST 2014


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:

$ /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