binutils-gdb/ld/testsuite/ld-aarch64/pcrel_pic_undefined.d
Nick Clifton 1d75a8e26e Force the AArch64 linker backend to refuse to link when it encounters unresoleable relocations.
* reloc.c (enum bfd_reloc_status): Start values at 2.
	* bfd-in2.h: Regenerate.
	* elfnn-aarch64.c (aarch64_relocate): Invert sense of function, so
	that a TRUE return indicates success.  Compare the result of
	calling _bfd_aarch64_elf_put_addend against bfd_reloc_ok.
	(build_one_stub): Change sense of tests against aarch64_relocate
	return value.
	(elfNN_aarch64_tls_relax): Return bfd_reloc_notsupported, rather
	than FALSE, when an error is detected.
	(elfNN_aarch64_final_link_relocate): Likewise.

	* testsuite/ld-aarch64/pcrel_pic_defined.d: Expect errors not
	warnings.  Expect errors about unsupported relocations.
	* testsuite/ld-aarch64/pcrel_pic_undefined.d: Likewise.
2017-10-12 13:38:20 +01:00

18 lines
1.1 KiB
Makefile

#name: PC-Rel relocation against undefined
#source: pcrel.s
#ld: -shared -e0 -defsym global_b=0x2000
#error: .*: relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `global_a.*bind externally.*fPIC.*
#error: .*: dangerous relocation: unsupported relocation
#error: .*: relocation R_AARCH64_ADR_PREL_PG_HI21_NC against symbol `global_a.*bind externally.*fPIC.*
#error: .*: dangerous relocation: unsupported relocation
#error: .*: relocation R_AARCH64_ADR_PREL_LO21 against symbol `global_a.*bind externally.*fPIC.*
#error: .*: dangerous relocation: unsupported relocation
#error: .*: relocation R_AARCH64_LD_PREL_LO19 against symbol `global_a.*bind externally.*fPIC.*
#error: .*: dangerous relocation: unsupported relocation
#error: .*: relocation R_AARCH64_PREL16 against symbol `global_a.*bind externally.*fPIC.*
#error: .*: dangerous relocation: unsupported relocation
#error: .*: relocation R_AARCH64_PREL32 against symbol `global_a.*bind externally.*fPIC.*
#error: .*: dangerous relocation: unsupported relocation
#error: .*: relocation R_AARCH64_PREL64 against symbol `global_a.*bind externally.*fPIC.*
#error: .*: dangerous relocation: unsupported relocation