[LinuxBIOS] patch: extending LAR, and removing elf from linuxbios (it is not needed)
ron minnich
rminnich at gmail.com
Wed Aug 29 16:34:53 CEST 2007
On 8/29/07, Stefan Reinauer <stepan at coresystems.de> wrote:
> > > What was that linker auto rename trick that Marc mentioned recently?
> >
> > The naming is not the issue. The issue is getting gcc to do abs calls,
> > not relative calls, for some symbols.
I did the auto-rename trick. It is a simple objcopy with
--prefix-symbols and whatever you want -- e.g. stage0.
Then in initram you can do this (which I did):
int (*printk)(int level, char *fmt, ...) = stage0printk;
The problem comes in with includes. How do you declare printk? In
console.h it is this:
int printk(int level, char *fmt, ...)
So you get a compile time error. Do you change all the include files? uck.
The simplest, easiest way to make this go would be a pragma on certain
symbols that makes gcc do an absolute, not relative, call. is this
possible?
ron
More information about the coreboot
mailing list