aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2017-10-14 11:09:29 -0700
committerH.J. Lu <hjl.tools@gmail.com>2017-10-14 11:09:44 -0700
commite01c16a83893b03433c8edf4ccae536d9b9f4831 (patch)
treed48c22fe5df5159d0f43418b970aa94df38db7a5 /ld
parent6ee6e05af482b356f9be4b0db877802fb47b2a12 (diff)
downloadfsf-binutils-gdb-e01c16a83893b03433c8edf4ccae536d9b9f4831.zip
fsf-binutils-gdb-e01c16a83893b03433c8edf4ccae536d9b9f4831.tar.gz
fsf-binutils-gdb-e01c16a83893b03433c8edf4ccae536d9b9f4831.tar.bz2
cris: Check UNDEFWEAK_NO_DYNAMIC_RELOC
Don't generate dynamic relocation against weak undefined symbol if it is resolved to zero. FIXME: UNDEFWEAK_NO_DYNAMIC_RELOC may need to be checked in more places. bfd/ PR ld/22269 * elf32-cris.c (cris_elf_relocate_section): Don't generate dynamic relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true. (cris_elf_check_relocs): Don't allocate dynamic relocation if UNDEFWEAK_NO_DYNAMIC_RELOC is true. ld/ PR ld/22269 * testsuite/ld-cris/weakhiddso.d: Update and remove R_CRIS_NONE.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/testsuite/ld-cris/weakhiddso.d18
2 files changed, 13 insertions, 10 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 47cc5a8..6e7e58d 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2017-10-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/22269
+ * testsuite/ld-cris/weakhiddso.d: Update and remove R_CRIS_NONE.
+
2017-10-13 Alan Modra <amodra@gmail.com>
PR ld/22263
diff --git a/ld/testsuite/ld-cris/weakhiddso.d b/ld/testsuite/ld-cris/weakhiddso.d
index 71a4bdb..c9c793e 100644
--- a/ld/testsuite/ld-cris/weakhiddso.d
+++ b/ld/testsuite/ld-cris/weakhiddso.d
@@ -4,28 +4,26 @@
#objdump: -s -R -T
# Check that .weak and .weak .hidden object references are handled
-# correctly when generating a DSO. For now, we have to live with the
-# R_CRIS_NONE entry.
+# correctly when generating a DSO.
.*: file format elf32-cris
DYNAMIC SYMBOL TABLE:
-0+2214 l d \.data 0+ \.data
-0+2214 g DO \.data 0+c x
+0+2208 l d \.data 0+ \.data
+0+2208 g DO \.data 0+c x
0+ D \*UND\* 0+ xregobj
-0+2220 g D \.data 0+ __bss_start
+0+2214 g D \.data 0+ __bss_start
0+ w D \*UND\* 0+ xweakobj
-0+2220 g D \.data 0+ _edata
+0+2214 g D \.data 0+ _edata
0+2220 g D \.data 0+ _end
DYNAMIC RELOCATION RECORDS
OFFSET TYPE VALUE
-0+ R_CRIS_NONE \*ABS\*
-0+2218 R_CRIS_32 xweakobj
-0+221c R_CRIS_32 xregobj
+0+220c R_CRIS_32 xweakobj
+0+2210 R_CRIS_32 xregobj
Contents of section \.hash:
#...
Contents of section \.data:
- 2214 00000000 00000000 00000000 .*
+ 2208 00000000 00000000 00000000 .*