binutils-gdb/ld/testsuite
Renlin Li 79e7419204 [BFD][AARCH64]Disallow R_AARCH64_ABS32(LP64) & R_AARCH64_ABS16 in const section of shared object.
R_AARCH64_ABS64, R_AARCH64_ABS32 and R_AARCH64_ABS16 are data relocations
supported in AArch64 elf ABI.

R_AARCH64_ABS64 under LP64 is allowed in shared object and a dynamic relocation entry
will be generated. This allows the dynamic linker to do further symbol resolution.
R_AARCH64_ABS32 likewise is allowed in shared object, however under ILP32 abi.

The original behavior for R_AARCH64_ABS32 under LP64 is that, it's allowed
in shared object and silently resolved at static linking time.
No dynamic relocation entry is generate for it.

R_AARCH64_ABS16 is allowed in shared object under both L64 and ILP32.
It's resolved at static linking time as well.

Under LP64, the address should be 64-bit. R_AARCH64_ABS32 relocation indicates
an address that is only sized 32 bits which is meaningless in LP64 shared object.
It's useful to error out.

I have checked glibc dynamic linker code, R_AARCH64_ABS16 is not supported at all. So
R_AARCH64_ABS16 should be reject in shared object completely.

In this patch, R_AARCH64_ABS32 is rejected under LP64 in constant section of shared object.
R_AARCH64_ABS16 is rejected in constant section of shared object in both ABI.

This will sometimes provide useful information for buggy code.
2017-12-13 15:15:50 +00:00
..
config Fix handling of GNU Property notes that are not in a GNU NOTE PROPERTY section. 2017-11-20 15:32:55 +00:00
ld-aarch64 [BFD][AARCH64]Disallow R_AARCH64_ABS32(LP64) & R_AARCH64_ABS16 in const section of shared object. 2017-12-13 15:15:50 +00:00
ld-alpha ld: Remove PF_X from PT_PHDR segment 2017-11-12 17:04:03 -08:00
ld-arc [ARC] Improve printing of pc-relative instructions. 2017-11-21 14:56:16 +01:00
ld-arm readelf ngettext fixes 2017-11-07 17:01:16 +10:30
ld-auto-import Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-avr Add support to readelf and objdump for following links to separate debug information files. 2017-11-15 11:34:03 +00:00
ld-bootstrap Run more ld tests when not native 2017-01-02 23:48:08 +10:30
ld-cdtest Run more ld tests when not native 2017-01-02 23:48:08 +10:30
ld-checks ld-checks: tweak overflow checks. 2017-03-15 10:23:19 +01:00
ld-cris readelf ngettext fixes 2017-11-07 17:01:16 +10:30
ld-crx Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-cygwin Run more ld tests when not native 2017-01-02 23:48:08 +10:30
ld-d10v Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-discard Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-elf Objcopy interleave test 2017-12-07 23:04:15 +10:30
ld-elfcomm Fix spelling typos. 2017-07-18 16:58:14 +01:00
ld-elfvers Add -rpath-link to various tests 2017-01-03 12:36:02 +10:30
ld-elfvsb Support different ld --hash-style in the ld testsuite 2017-08-07 22:10:51 +09:30
ld-elfweak weak alias test 2017-12-01 17:23:56 +10:30
ld-fastcall Run more ld tests when not native 2017-01-02 23:48:08 +10:30
ld-frv More support for ld --hash-style in the ld testsuite 2017-08-08 07:22:36 +09:30
ld-gc Remove pr19161 test hppa xfail 2017-08-23 08:58:42 +09:30
ld-h8300 Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-i386 x86 map file textrel 2017-12-04 23:05:01 +10:30
ld-ia64 ld: Remove PF_X from PT_PHDR segment 2017-11-12 17:04:03 -08:00
ld-ifunc ld-ifunc non-PIC tests 2017-11-14 19:53:35 +10:30
ld-libs Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-linkonce Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-m68hc11 Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-m68k readelf ngettext fixes 2017-11-07 17:01:16 +10:30
ld-mep Run more ld tests when not native 2017-01-02 23:48:08 +10:30
ld-metag Support different ld --hash-style in the ld testsuite 2017-08-07 22:10:51 +09:30
ld-mips-elf PR22471, undefined reference to linker-defined symbols 2017-11-28 22:57:00 +10:30
ld-misc Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-mmix Make sure that undefined symbols added to the linker command line via the -u option appear in the output executable, if they have not been resolved. 2017-10-23 18:16:49 +01:00
ld-mn10300 Run more ld tests when not native 2017-01-02 23:48:08 +10:30
ld-msp430-elf Improve MSP430 section placement. 2017-08-29 17:18:43 +01:00
ld-nds32 Fix address violation when disassembling a corrupt binary. 2017-06-14 16:50:03 +01:00
ld-nios2 Run more ld tests when not native 2017-01-02 23:48:08 +10:30
ld-pe pe/coff: handle weak defined symbol for gc-sections. 2017-04-07 10:03:17 +02:00
ld-pie Don't run C tests in ld testsuite unless we have a C compiler 2017-01-03 11:47:47 +10:30
ld-plugin ld: Set non_ir_ref_regular on symbols referenced in regular objects 2017-11-28 03:48:44 -08:00
ld-powerpc Modify ppceabi ld tests to run on all powerpc ELF targets 2017-12-04 10:23:57 +10:30
ld-pru PRU LD Port 2016-12-31 12:04:11 +10:30
ld-riscv-elf Really fix riscv shared library __global_pointer$ problem. 2017-12-05 14:42:12 -08:00
ld-s390 ld: Remove PF_X from PT_PHDR segment 2017-11-12 17:04:03 -08:00
ld-scripts ld: Don't allow '~' as the first char in symbol name 2017-10-09 04:17:24 -07:00
ld-selective Support single digit GCC version 2017-07-11 08:41:22 -07:00
ld-sh readelf ngettext fixes 2017-11-07 17:01:16 +10:30
ld-shared Support different ld --hash-style in the ld testsuite 2017-08-07 22:10:51 +09:30
ld-size Pass $NOPIE_LDFLAGS size tests 2017-06-21 14:45:57 -07:00
ld-sparc ld: Remove PF_X from PT_PHDR segment 2017-11-12 17:04:03 -08:00
ld-spu Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-srec Fix link time warning message when running the srec linker tests. 2017-10-09 15:32:09 +01:00
ld-tic6x readelf ngettext fixes 2017-11-07 17:01:16 +10:30
ld-tilegx Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-tilepro Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-undefined LD/testsuite: Fix undefined symbol tests for MIPS and S+core targets 2017-09-26 12:09:50 +01:00
ld-unique Stop the v850 linker from converting to other output formats whilst linking. 2017-11-21 14:15:51 +00:00
ld-v850 Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-vax-elf readelf ngettext fixes 2017-11-07 17:01:16 +10:30
ld-versados Run more ld tests when not native 2017-01-02 23:48:08 +10:30
ld-visium Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-vxworks Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-x86-64 x86 map file textrel 2017-12-04 23:05:01 +10:30
ld-xc16x Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-xstormy16 Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
ld-xtensa Support different ld --hash-style in the ld testsuite 2017-08-07 22:10:51 +09:30
ld-z8k Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
lib Rewrite check_shared_lib_support 2017-12-07 17:52:49 +10:30
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015 binutils ChangeLog rotation 2016-01-01 22:59:17 +10:30
ChangeLog-9303