aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2009-03-19 02:38:53 +0000
committerH.J. Lu <hjl.tools@gmail.com>2009-03-19 02:38:53 +0000
commit13e4f8ad17b4c8a6a6bcfe6aebe8647068985ce0 (patch)
treef15128d429ee9cadc14d272383e1897eda2423e5 /binutils
parent7728216e03a0a0ec9521aea9c28d4a5ef26f1569 (diff)
downloadgdb-13e4f8ad17b4c8a6a6bcfe6aebe8647068985ce0.zip
gdb-13e4f8ad17b4c8a6a6bcfe6aebe8647068985ce0.tar.gz
gdb-13e4f8ad17b4c8a6a6bcfe6aebe8647068985ce0.tar.bz2
2009-03-18 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (debug_apply_relocations): Allow relocations against function symbols.
Diffstat (limited to 'binutils')
-rw-r--r--binutils/ChangeLog5
-rw-r--r--binutils/readelf.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index fc43990..c698441 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2009-03-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * readelf.c (debug_apply_relocations): Allow relocations
+ against function symbols.
+
2009-03-18 Alan Modra <amodra@bigpond.net.au>
* sysdep.h: Include alloca-conf.h instead of config.h and remove
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 3431249..276d4dd 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -8394,6 +8394,9 @@ debug_apply_relocations (void * file,
Gcc -feliminate-dwarf2-dups may generate symbols
without type for debug info. */
&& ELF_ST_TYPE (sym->st_info) != STT_NOTYPE
+ /* Icc generates relocations against function symbols
+ instead of local labels. */
+ && ELF_ST_TYPE (sym->st_info) != STT_FUNC
/* Relocations against object symbols can happen,
eg when referencing a global array. For an
example of this see the _clz.o binary in libgcc.a. */