ABS32
This commit is contained in:
parent
13f422778f
commit
30bdf5c82e
@ -4983,6 +4983,9 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
|
||||
bfd_set_error (bfd_error_bad_value);
|
||||
return FALSE;
|
||||
|
||||
#if ARCH_SIZE == 64
|
||||
case BFD_RELOC_AARCH64_32:
|
||||
#endif
|
||||
case BFD_RELOC_AARCH64_NN:
|
||||
if (rel->r_addend != 0)
|
||||
{
|
||||
@ -5155,6 +5158,9 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
|
||||
*unresolved_reloc_p = FALSE;
|
||||
return bfd_reloc_ok;
|
||||
|
||||
#if ARCH_SIZE == 64
|
||||
case BFD_RELOC_AARCH64_32:
|
||||
#endif
|
||||
case BFD_RELOC_AARCH64_NN:
|
||||
|
||||
/* When generating a shared object or relocatable executable, these
|
||||
@ -5320,9 +5326,6 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
|
||||
}
|
||||
|
||||
case BFD_RELOC_AARCH64_16:
|
||||
#if ARCH_SIZE == 64
|
||||
case BFD_RELOC_AARCH64_32:
|
||||
#endif
|
||||
case BFD_RELOC_AARCH64_ADD_LO12:
|
||||
case BFD_RELOC_AARCH64_BRANCH19:
|
||||
case BFD_RELOC_AARCH64_LDST128_LO12:
|
||||
@ -6797,6 +6800,9 @@ elfNN_aarch64_gc_sweep_hook (bfd *abfd,
|
||||
case BFD_RELOC_AARCH64_MOVW_G1_NC:
|
||||
case BFD_RELOC_AARCH64_MOVW_G2_NC:
|
||||
case BFD_RELOC_AARCH64_MOVW_G3:
|
||||
#if ARCH_SIZE == 64
|
||||
case BFD_RELOC_AARCH64_32:
|
||||
#endif
|
||||
case BFD_RELOC_AARCH64_NN:
|
||||
if (h != NULL && bfd_link_executable (info))
|
||||
{
|
||||
@ -7102,6 +7108,9 @@ elfNN_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info,
|
||||
case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
|
||||
case BFD_RELOC_AARCH64_MOVW_GOTOFF_G0_NC:
|
||||
case BFD_RELOC_AARCH64_MOVW_GOTOFF_G1:
|
||||
#if ARCH_SIZE == 64
|
||||
case BFD_RELOC_AARCH64_32:
|
||||
#endif
|
||||
case BFD_RELOC_AARCH64_NN:
|
||||
if (htab->root.dynobj == NULL)
|
||||
htab->root.dynobj = abfd;
|
||||
@ -7117,6 +7126,9 @@ elfNN_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info,
|
||||
|
||||
switch (bfd_r_type)
|
||||
{
|
||||
#if ARCH_SIZE == 64
|
||||
case BFD_RELOC_AARCH64_32:
|
||||
#endif
|
||||
case BFD_RELOC_AARCH64_NN:
|
||||
|
||||
/* We don't need to handle relocs into sections not going into
|
||||
|
@ -185,6 +185,7 @@ run_dump_test "farcall-bl-none-function"
|
||||
run_dump_test "farcall-b-section"
|
||||
run_dump_test "farcall-bl-section"
|
||||
|
||||
run_dump_test "relocs-258-dyn"
|
||||
run_dump_test "tls-relax-all"
|
||||
run_dump_test "tls-relax-gd-le"
|
||||
run_dump_test "tls-relax-gdesc-le"
|
||||
|
8
ld/testsuite/ld-aarch64/relocs-258-dyn.d
Normal file
8
ld/testsuite/ld-aarch64/relocs-258-dyn.d
Normal file
@ -0,0 +1,8 @@
|
||||
#source: relocs-258-dyn.s
|
||||
#ld: --defsym dummy=0x45034 -T aarch64.ld -shared
|
||||
#readelf: -Wr
|
||||
|
||||
Relocation section '\.rela\.dyn' at offset 0x8080 contains 2 entries:
|
||||
Offset Info Type Symbol's Value Symbol's Name \+ Addend
|
||||
0000000000008010 0000000000000403 R_AARCH64_RELATIVE 800c
|
||||
000000000000800c 0000000200000102 R_AARCH64_ABS32 0000000000045034 dummy \+ 0
|
8
ld/testsuite/ld-aarch64/relocs-258-dyn.s
Normal file
8
ld/testsuite/ld-aarch64/relocs-258-dyn.s
Normal file
@ -0,0 +1,8 @@
|
||||
.text
|
||||
ldr x0, .LC0
|
||||
ldr x0, .LC1
|
||||
ret
|
||||
.LC0:
|
||||
.word dummy
|
||||
.LC1:
|
||||
.word .LC0
|
Loading…
x
Reference in New Issue
Block a user