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

Wolfgang Denk wd at denx.de
Sat Jun 21 02:27:54 CEST 2008


In message <485BC2E5.8040101 at freescale.com> you wrote:
> 
> I did notice this code in fsl_i2c.c:
> 
> #ifdef CFG_SPD_BUS_NUM
> static unsigned int i2c_bus_num __attribute__ ((section ("data"))) =
> CFG_SPD_BUS_NUM;
> #else
> static unsigned int i2c_bus_num __attribute__ ((section ("data"))) = 0;
> #endif
> 
> I wrote this code, but I don't remember why I added the "__attribute__ ((section
> ("data")))".  I guess I should have commented it, but I wonder if it applies to
> my current problem.

Most probably you reference these variables before the bss  has  been
set  up  and  initialized,  i.  e.  before relocation to RAM, and you
wanted to make sure that they are really initialized with zero.


Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Good morning. This is the telephone company. Due  to  repairs,  we're
giving  you  advance notice that your service will be cut off indefi-
nitely at ten o'clock. That's two minutes from now.




More information about the U-Boot mailing list