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 -- linuxbios mailing list linuxbios@linuxbios.org http://www.linuxbios.org/mailman/listinfo/linuxbios