diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | scripts/localplt.awk | 10 |
2 files changed, 13 insertions, 2 deletions
@@ -1,5 +1,10 @@ 2014-03-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com> + * scripts/localplt.awk: Check for PLT generated by internal IFUNC + calls. + +2014-03-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com> + * nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Revert previous change. diff --git a/scripts/localplt.awk b/scripts/localplt.awk index 2265b026f0..f55c41a037 100644 --- a/scripts/localplt.awk +++ b/scripts/localplt.awk @@ -32,9 +32,15 @@ $1 == "Offset" && $2 == "Info" { in_relocs = 1; next } NF == 0 { in_relocs = 0 } in_relocs && relocs_offset == jmprel_offset && NF >= 5 { - symval = strtonum("0x" $4); - if (symval != 0) + # Relocations against GNU_IFUNC symbols are not shown as an hexadecimal + # value, but rather as the resolver symbol followed by (). + if ($4 ~ /\(\)/) { print whatfile, $5 + } else { + symval = strtonum("0x" $4); + if (symval != 0) + print whatfile, $5 + } } in_relocs { next } |