[LinuxBIOS] Qemu compile for LinuxBIOSV2

Marc Karasek Marc.Karasek at Sun.COM
Tue Dec 4 20:37:06 CET 2007

I now know what is going on.  I do not know how to fix it... :-)

I have made the changes to the Makefile to add the -Wl,--build-id=none 
option to the appropriate places. 
I am planning on making a patch file for this to cover all the cases.  
This will mean the patch submitted by Ed will not be needed.

The second problem has to do with the .id section and how it is defined 
in id.inc.
Currently it is as follows:
.section ".id", "a", @progbits

With this in place you cannot place the .id section above the address 
0xFFFF_EF00.  Doing so will create the error could not allocate in 
segment 1.  If you use the address 0xFFFF_EF00 or below it will compile 
and the text strings vendor and part are in the final binary image at 
the address specified.

If you change the id.inc file to :
.section .id or .section ".id"

With this in place you can move the address above 0xFFFF_EF00.  The 
vendor & part strings are in the crt0.o file and are listed in the 
linuxbios.map file.  They are NOT in the final binary however.  

At this point I am looking for some guidance/help in what to do/look at 
next.  Do you think this is a ld bug or something else?
Can we live with moving this block below for right now with large 
comments as to why? 

Marc Karasek
Sun Microsystems
mailto:marc.karasek at sun.com

Ed Swierk wrote:
> On 12/3/07, Marc Karasek <Marc.Karasek at sun.com> wrote:
>> Looks to me like the none option does not turn it off but only clears
>> any prior options set on the command line.
> If you look at the ld command line (by adding -v to the gcc command
> line) you will see that gcc adds the --build-id option. So
> --build-id=none turns it off.
> --Ed

More information about the coreboot mailing list