mirror of
https://github.com/u-boot/u-boot.git
synced 2024-12-11 21:53:29 +08:00
22069215eb
Now we load $gp with _GLOBAL_OFFSET_TABLE_, but this is incorrect use. As a general principle, we should use _gp for $gp. Thanks to linker script's help we fortunately have _gp which equals to _GLOBAL_OFFSET_TABLE_. But once _gp gets out of alignment, we will not be able to access to GOT entires, global variables and procedure entry points. The right thing to do is to use _gp. This patch also introduce a new symbol `.gpword _GLOBAL_OFFSET_TABLE_' which holds the offset from _gp. When updating GOT entries, we use this offset and _gp to calculate the final _GLOBAL_OFFSET_TABLE_. This patch is originally submitted by Vlad Lungu <vlad@comsys.ro>, then I made some change to leave over num_got_entries. Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi@necel.com> Cc: Vlad Lungu <vlad@comsys.ro> |
||
---|---|---|
.. | ||
asc_serial.c | ||
asc_serial.h | ||
au1x00_eth.c | ||
au1x00_serial.c | ||
au1x00_usb_ohci.c | ||
au1x00_usb_ohci.h | ||
cache.S | ||
config.mk | ||
cpu.c | ||
incaip_clock.c | ||
incaip_wdt.S | ||
interrupts.c | ||
Makefile | ||
start.S |