aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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. */