[parisc-linux] Non-bootable kernel problems

David Huggins-Daines dhd@linuxcare.com
14 Jul 2000 16:40:36 -0400


David Huggins-Daines <dhd@linuxcare.com> writes:

> Jeffrey A Law <law@cygnus.com> writes:
> 
> > Either we need to avoid merging the section symbols to avoid twiddling
> > the addend, or we need to avoid reducing relocs to section symbols to
> > begin with.
> 
> We only reduce relocations to section symbols for static data.  It
> seems that every other platform I've investigated (Sparc, PowerPC,
> Alpha) does the same thing

Wait.  I'm wrong.  PowerPC doesn't:

static struct foo {
  int a;
  int b;
} a = {
  a: 42,
  b: 69
};

int main()
{
  gar(&a.b);
  ...
}

Compiles to:

  4c:	3d 20 00 00 	lis	r9,0
			4e: R_PPC_ADDR16_HA	a+0x4
  50:	38 69 00 04 	addi	r3,r9,4
			52: R_PPC_ADDR16_LO	a+0x4

Okay, I'll investigate this approach.

-- 
dhd@linuxcare.com, http://www.linuxcare.com/
Linuxcare. Support for the revolution.