[U-Boot] relocation problem on powerpc

Chris Packham judge.packham at gmail.com
Mon Sep 8 06:32:26 CEST 2014


Hi All,

I have come across what I think is a relocation problem for powerpc.

I've added the following to ArpTimeoutCheck

+       printf("NetArpWaitTimerStart = %ld\n", NetArpWaitTimerStart);
+       printf("&NetArpWaitTimerStart = %p\n", &NetArpWaitTimerStart);
+       printf("NetArpWaitTry = %d\n", NetArpWaitTry);
+       printf("&NetArpWaitTry = %p\n", &NetArpWaitTry);
+       printf("NetArpWaitTxPacketSize = %d\n", NetArpWaitTxPacketSize);
+       printf("&NetArpWaitTxPacketSize = %p\n", &NetArpWaitTxPacketSize);

Which yields the following output

  NetArpWaitTimerStart = 0
  &NetArpWaitTimerStart = f00000d0
  NetArpWaitTry = 1
  &NetArpWaitTry = 7ffb0058
  NetArpWaitTxPacketSize = 42
  &NetArpWaitTxPacketSize = 7ffb0078

That looks to me like NetArpWaitTimerStart hasn't been relocated for
some reason. Looking at my u-boot.map NetArpWaitTimerStart is the last
item in the .sbss section

Here's the relevant snippets for the variables I'm displaying

 0x00000000f0000058                NetArpWaitTry
 0x00000000f0000078                NetArpWaitTxPacketSize
 0x00000000f00000d0                NetArpWaitTimerStart

The actual problem for me is that ARPs timeout and various network
things fail. Has anyone got any clues as to why this one particular
variable isn't getting relocated.

Thanks,
Chris

More info:
  I'm building P2041RDB_config

  $ git describe
  v2014.10-rc2-15-g2ec8915

  => version
  U-Boot 2014.10-rc2-00015-g2ec8915-dirty (Sep 08 2014 - 16:18:42)
  powerpc-e500-linux-gnu-gcc (Gentoo 4.6.3-r1 p1.9, pie-0.5.2) 4.6.3
  GNU ld (GNU Binutils) 2.21


More information about the U-Boot mailing list