[U-Boot-Users] Non-static global variables cause relocation to fail

Timur Tabi timur at freescale.com
Thu Jun 19 23:12:52 CEST 2008


Wolfgang Denk wrote:
> In message <485AC5C5.5080709 at freescale.com> you wrote:
>> I did say that.  Simply making the global variable not static caused it to fail.
> 
> Ummm... I guess there must be more than one variable in U-Boot, as
> there are several source files and several board configurations.

Sorry, I was under the assumption that the problem is not unique to the actual
variable in question.  That is, making any global variable non-static risks
having relocation fail.

I was looking for a more general explanation to the problem.  I was hoping that
someone who understood the relocation code well could explain to me, in
theoretical terms, how this could happen.

> What is "same"? Which source file is this? Which line?  Which  board?
> Which compiler from which distro? Which binutils?

This is a new file that I haven't posted yet.  It is a replacement for
board/freescale/common/sys_eeprom.c.  It's currently undergoing internal review.
 That's why I asked for a general explanation.

Compiler: powerpc-linux-gnu-gcc (GCC) 4.2.1
Binutils: GNU ld (GNU Binutils) 2.18.50.20070820

-- 
Timur Tabi
Linux kernel developer at Freescale




More information about the U-Boot mailing list