Le 09/10/2010 07:50, Lei Wen a écrit : > Hi, > > I recently try to port our board code to new uboot, which has been > changed to use new relocation scheme. > But I found a very strange thing, that is if the uboot is loaded to > the TEXT_BASE address, it could run without > problem. But if it is loaded to a different place, it fail to boot up... > > I check the code, and found that in the board_init_f, it calls the > init_sequence which is stored as a data sector > in the u-boot.bin file. While the new scheme use the fPIC, the code > could locate the GOT table correctly, > and it seem to forgot what the GOT table stores is context that is > meaningful in TEXT_BASE, not the loaded base. > That is to say, if the TEXT_BASE is 0xf00000, and loaded base is > 0x500000, I found the GOT table also filled > with 0xf0****, not the 0x50****. This leads the cpu loading wrong > function address in the init_sequence table, and > cause pc become invalid... > > Am I missing something to switch to the new relocation scheme? > > Thanks, > Lei
Can you indicate which hardware (architecture, cpu, SoC, etc) you're running this code on? Amicalement, -- Albert. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot