[LinuxBIOS] [PATCH] v3: Add support for building on Debian GNU/kFreeBSD

Uwe Hermann uwe at hermann-uwe.de
Fri Sep 14 18:54:46 CEST 2007


On Sat, Sep 08, 2007 at 10:37:08PM +0200, Uwe Hermann wrote:
> On Sat, Sep 08, 2007 at 08:12:27PM +0200, Stefan Reinauer wrote:
> > * Uwe Hermann <uwe at hermann-uwe.de> [070908 00:30]:
> > > +	$(Q)# On Debian GNU/kFreeBSD we need the linker output format
> > > +	$(Q)# 'elf32-i386-freebsd' instead of just 'elf32-i386'.
> > > +ifneq (, $(filter Linux GNU GNU_%, $(shell uname -s)))
> > 
> > I think stuff like this belongs in xcompile!
> 
> Good point. Updated patch attached.

OK to commit with the changes?

 
> Uwe.
> -- 
> http://www.hermann-uwe.de  | http://www.holsham-traders.de
> http://www.crazy-hacks.org | http://www.unmaintained-free-software.org

> Add support for building LinuxBIOSv3 on Debian GNU/kFreeBSD systems.
> 
> We need the following fixes:
> 
>  - Debian GNU/kFreeBSD uses 'elf32-i386-freebsd' (instead of
>    'elf32-i386') as linker output format.
> 
>  - dtc is missing an '#include <stdint.h>' (needed for uint32_t et al).
>    Doesn't seem to be fatal on Linux, but it is on kFreeBSD.
> 
>  - kFreeBSD has 'dnsdomainname' (as has Linux) instead of 'domainname'.
> 
> Signed-off-by: Uwe Hermann <uwe at hermann-uwe.de>
> 
> Index: arch/x86/Makefile
> ===================================================================
> --- arch/x86/Makefile	(revision 496)
> +++ arch/x86/Makefile	(working copy)
> @@ -143,7 +143,7 @@
>  	$(Q)# to properly invoke ld.
>  	$(Q)printf "  CC      $(subst $(shell pwd)/,,$(@))\n"
>  	$(Q)$(CC) -nostdlib -static -T $(src)/arch/x86/ldscript.ld \
> -		$(STAGE0_OBJ) -o $(obj)/stage0.o
> +		$(STAGE0_OBJ) -Wl,--oformat,$(LD_OFORMAT) -o $(obj)/stage0.o
>  
>  	$(Q)printf "  OBJCOPY $(subst $(shell pwd)/,,$(@))\n"
>  	$(Q)$(OBJCOPY) -O binary $(obj)/stage0.o $(obj)/stage0.init
> Index: util/xcompile/xcompile
> ===================================================================
> --- util/xcompile/xcompile	(revision 496)
> +++ util/xcompile/xcompile	(working copy)
> @@ -109,6 +109,14 @@
>  
>  echo "CFLAGS_x86 := $CFLAGS"
>  
> +# On Debian GNU/kFreeBSD we need the linker output format
> +# 'elf32-i386-freebsd' instead of just 'elf32-i386'.
> +if [ "$OS" == "GNU/kFreeBSD" ]; then
> +	echo "LD_OFORMAT := elf32-i386-freebsd"
> +else
> +	echo "LD_OFORMAT := elf32-i386"
> +fi
> +
>  # TODO: The same as above for PowerPC, and other architectures
>  #       as soon as they are supported by LinuxBIOSv3.
>  
> Index: util/dtc/endian.h
> ===================================================================
> --- util/dtc/endian.h	(revision 496)
> +++ util/dtc/endian.h	(working copy)
> @@ -37,6 +37,8 @@
>   * See Solaris as an example.
>   */
>  
> +#include <stdint.h>
> +
>   /* define __BYTE_ORDER to __LITTLE_ENDIAN or __BIG_ENDIAN as appropriate */
>  #ifdef linux
>  #include <endian.h>
> Index: Makefile
> ===================================================================
> --- Makefile	(revision 496)
> +++ Makefile	(working copy)
> @@ -143,7 +143,7 @@
>  	$(Q)printf "#define LINUXBIOS_COMPILE_TIME \"`LANG= date +%T`\"\n" >> $(obj)/build.h
>  	$(Q)printf "#define LINUXBIOS_COMPILE_BY \"$(shell PATH=$$PATH:/usr/ucb whoami)\"\n" >> $(obj)/build.h
>  	$(Q)printf "#define LINUXBIOS_COMPILE_HOST \"$(shell hostname)\"\n" >> $(obj)/build.h
> -	$(Q)printf "#define LINUXBIOS_COMPILE_DOMAIN \"$(shell test `uname -s` = "Linux" && dnsdomainname || domainname)\"\n" >> $(obj)/build.h
> +	$(Q)printf "#define LINUXBIOS_COMPILE_DOMAIN \"$(shell test `uname -s` = "Linux" -o `uname -s` = "GNU/kFreeBSD" && dnsdomainname || domainname)\"\n" >> $(obj)/build.h
>  
>  clean:
>  	$(Q)printf "  CLEAN   $(subst $(shell pwd)/,,$(obj))\n"




> -- 
> linuxbios mailing list
> linuxbios at linuxbios.org
> http://www.linuxbios.org/mailman/listinfo/linuxbios

-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20070914/718d030c/attachment.sig>


More information about the coreboot mailing list