MIPS: fix a latent bug on initialize $gp
If bal is 8 bytes aligned, the _gp will not be 8 bytes aligned. then the following ld insntrustion generates a Adel exception. So here make _gp be always aligned in 8 bytes. Signed-off-by: Zhi-zhou Zhang <zhizhou.zh@gmail.com> Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
This commit is contained in:
parent
fd4d564b3c
commit
0d69d918ab
@ -108,7 +108,12 @@ reset:
|
||||
mtc0 t0, CP0_CONFIG
|
||||
#endif
|
||||
|
||||
/* Initialize $gp */
|
||||
/*
|
||||
* Initialize $gp, force 8 byte alignment of bal instruction to forbid
|
||||
* the compiler to put nop's between bal and _gp. This is required to
|
||||
* keep _gp and ra aligned to 8 byte.
|
||||
*/
|
||||
.align 3
|
||||
bal 1f
|
||||
nop
|
||||
.dword _gp
|
||||
|
Loading…
Reference in New Issue
Block a user