arm64: Add support for relocations needed for linaro gcc

This commit is contained in:
Vladimir Serbinenko 2016-01-22 19:09:37 +01:00
parent b6a03dfd32
commit 605eecc985
6 changed files with 107 additions and 1 deletions

View file

@ -22,5 +22,13 @@
int grub_arm_64_check_xxxx26_offset (grub_int64_t offset);
void
grub_arm64_set_xxxx26_offset (grub_uint32_t *place, grub_int64_t offset);
int
grub_arm64_check_hi21_signed (grub_int64_t offset);
void
grub_arm64_set_hi21 (grub_uint32_t *place, grub_int64_t offset);
void
grub_arm64_set_abs_lo12 (grub_uint32_t *place, grub_int64_t target);
void
grub_arm64_set_abs_lo12_ldst64 (grub_uint32_t *place, grub_int64_t target);
#endif

View file

@ -2068,6 +2068,9 @@ typedef Elf32_Addr Elf32_Conflict;
#define R_AARCH64_NONE 0 /* No relocation. */
#define R_AARCH64_ABS64 257 /* Direct 64 bit. */
#define R_AARCH64_ABS32 258 /* Direct 32 bit. */
#define R_AARCH64_ADR_PREL_PG_HI21 275
#define R_AARCH64_ADD_ABS_LO12_NC 277
#define R_AARCH64_LDST64_ABS_LO12_NC 286
#define R_AARCH64_JUMP26 282 /* 26-bit relative. */
#define R_AARCH64_CALL26 283 /* 26-bit relative. */
#define R_AARCH64_COPY 1024 /* Copy symbol at runtime. */