[LinuxBIOS] Patch file for Fedora 8 compile problems

Uwe Hermann uwe at hermann-uwe.de
Fri Dec 7 22:08:27 CET 2007


On Fri, Dec 07, 2007 at 12:39:36PM -0800, Ed Swierk wrote:
> Here is another attempt that does not rely on the --build-id option,
> incorporating Marc's workaround in src/arch/i386/lib/id.lds for the
> .id allocation issue.

The patch is missing the original Signed-off-by from Marc, and your
Signed-off-by.


> Index: LinuxBIOSv2-2571/src/config/linuxbios_ram.ld
> ===================================================================
> --- LinuxBIOSv2-2571.orig/src/config/linuxbios_ram.ld
> +++ LinuxBIOSv2-2571/src/config/linuxbios_ram.ld
> @@ -62,6 +62,10 @@ SECTIONS
>  		 . = ALIGN(4);
>  
>  		_erodata = .;
> +	}
> +	/* ld segfaults if we give it --build-id and then discard this section */
> +	.note.gnu.build-id : {
> +		*(.note.gnu.build-id)
>  	}	
>  	/*
>  	 * After the code we place initialized data (typically initialized
> Index: LinuxBIOSv2-2571/src/arch/i386/lib/id.lds
> ===================================================================
> --- LinuxBIOSv2-2571.orig/src/arch/i386/lib/id.lds
> +++ LinuxBIOSv2-2571/src/arch/i386/lib/id.lds
> @@ -1,5 +1,10 @@
>  SECTIONS {
> -	. = (_ROMBASE + ROM_IMAGE_SIZE - 0x10) - (__id_end - __id_start);
> +	/*
> +	 * . = (_ROMBASE + ROM_IMAGE_SIZE - 0x10) - (__id_end - __id_start);
> +	 * This is a temporary fix. Under Fedora 8 ld does not like it if the .id section is above address 0xFFFF_EF00
> +	 */
> +	_ROMTEMP = 0xffffef00;
> +	. = _ROMTEMP;

This part breaks the majority of all boards in v2 (checked with abuild).

E.g. on asus/p2b:

./buildrom linuxbios.strip linuxbios.rom payload 0x10000 0x20000
linuxbios image is 192277 bytes; only 65536 allowed
Linuxbios input file larger than allowed size!
: Success
make[1]: *** [linuxbios.rom] Error 2
make[1]: Leaving directory `/tmp/v2/targets/asus/p2b/p2b/normal'
make: *** [normal/linuxbios.rom] Error 1


There must be some other way to fix this.


>  	.id (.): {
>  		*(.id)
>  	}
> Index: LinuxBIOSv2-2571/src/arch/i386/init/ldscript.lb
> ===================================================================
> --- LinuxBIOSv2-2571.orig/src/arch/i386/init/ldscript.lb
> +++ LinuxBIOSv2-2571/src/arch/i386/init/ldscript.lb
> @@ -53,6 +53,10 @@ SECTIONS
>  		_erom = .;
>  	}
>  
> +	.note.gnu.build-id : {
> +		*(.note.gnu.build-id)
> +	}
> +
>  	_lrom = LOADADDR(.rom);
>  	_elrom = LOADADDR(.rom) + SIZEOF(.rom);
>  	_iseg = _RAMBASE;
> @@ -63,5 +67,6 @@ SECTIONS
>  	/DISCARD/ : {
>  		*(.comment)
>  		*(.note)
> +		*(.note.*)
>  	}
>  }


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




More information about the coreboot mailing list