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

Timur Tabi timur at freescale.com
Thu Jun 19 20:44:21 CEST 2008


I tried to find documentation on this, but couldn't.

I've discovered, on PowerPC 85xx systems at least, that the mere presence of a
non-static global variable, even if it isn't used by any code, will cause
relocation to fail.  Exactly how it fails, I can't say, but U-Boot does hang.

If I make the global variable static, the problem goes away.  Note that I have
no code that actually references the variable.  It just sits there, occupying space.

Fortunately, the data structure doesn't need to be non-static.  I just forgot to
put 'static' in its definition.  Of course, it would have been nice to know this
up front.

Can someone explain why this is the case?  Do I need to do anything special in
my code to access global variables, static or not static?

-- 
Timur Tabi
Linux kernel developer at Freescale




More information about the U-Boot mailing list