2009-03-18 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 19 Mar 2009 02:38:53 +0000 (02:38 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 19 Mar 2009 02:38:53 +0000 (02:38 +0000)
* readelf.c (debug_apply_relocations): Allow relocations
against function symbols.

binutils/ChangeLog
binutils/readelf.c

index fc43990f4d8b5cb7d2a6a2279bbd469fba0bf46d..c6984416d17524bc05a0254f0ad917592365457a 100644 (file)
@@ -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
index 3431249a80788f6c6cc51471920308c9a4c1eb9d..276d4dd59b53a3d9efb01ad5b17b652f39a00579 100644 (file)
@@ -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.  */