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>
master
Zhi-zhou Zhang 13 years ago committed by Daniel Schwierzeck
parent fd4d564b3c
commit 0d69d918ab
  1. 7
      arch/mips/cpu/mips64/start.S

@ -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…
Cancel
Save