From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Packham Date: Mon, 8 Sep 2014 16:32:26 +1200 Subject: [U-Boot] relocation problem on powerpc Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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