diff options
author | Wolfgang Denk <wd@pollux.denx.de> | 2005-08-30 14:13:23 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@pollux.denx.de> | 2005-08-30 14:13:23 +0200 |
commit | bce84c4dab92062bc5ae7608c4a2508803b1225e (patch) | |
tree | 55060df62dd4a227b5eca5b212daa1d560e6404c /board/cmi | |
parent | f7fbf269feb10af44001236b1bef984fb0e8fff1 (diff) | |
download | u-boot-imx-bce84c4dab92062bc5ae7608c4a2508803b1225e.zip u-boot-imx-bce84c4dab92062bc5ae7608c4a2508803b1225e.tar.gz u-boot-imx-bce84c4dab92062bc5ae7608c4a2508803b1225e.tar.bz2 |
Prepare U-Boot for gcc-4.x: fix global data pointer initialization
The global data pointer, stored in r29 before relocation to RAM, was
not initialized to a correct value. This happened because the pointer
declaration was done locally in the scope of the board_init_f()
function. What follows is a cite from gcc.info, 5.37, "Variables in
Specified Registers":
...
The compiler's data flow analysis is capable of determining where
the specified registers contain live values, and where they are
available for other uses. Stores into local register variables
may be deleted when they appear to be dead according to dataflow
analysis. References to local register variables may be deleted
or moved or simplified.
...
Moving the global data declaration to global scope solved the
problem.
Diffstat (limited to 'board/cmi')
0 files changed, 0 insertions, 0 deletions