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.