aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2009-07-10 14:03:03 +0000
committerH.J. Lu <hjl.tools@gmail.com>2009-07-10 14:03:03 +0000
commit1d7708459220fa4c011f7e7bea9e58a808cb2289 (patch)
treea5225c621917659e64b38c99eb48ca841ff3d74a
parent52cfded73cc013294bb0599e13bf5544341373c6 (diff)
downloadgdb-1d7708459220fa4c011f7e7bea9e58a808cb2289.zip
gdb-1d7708459220fa4c011f7e7bea9e58a808cb2289.tar.gz
gdb-1d7708459220fa4c011f7e7bea9e58a808cb2289.tar.bz2
bfd/
2009-07-10 H.J. Lu <hongjiu.lu@intel.com> * elf.c (_bfd_elf_get_synthetic_symtab): Remove leading zeros when reporting addends. ld/testsuite/ 2009-07-10 H.J. Lu <hongjiu.lu@intel.com> * ld-ifunc/ifunc-1-local-x86.d: Updated. * ld-ifunc/ifunc-1-x86.d: Likewise.Likewise. * ld-ifunc/ifunc-2-local-x86-64.d: Likewise.Likewise. * ld-ifunc/ifunc-2-x86-64.d: Likewise. * ld-ifunc/ifunc-3a-x86.d: Likewise.Likewise.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf.c10
-rw-r--r--ld/testsuite/ChangeLog8
-rw-r--r--ld/testsuite/ld-ifunc/ifunc-1-local-x86.d2
-rw-r--r--ld/testsuite/ld-ifunc/ifunc-1-x86.d2
-rw-r--r--ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d4
-rw-r--r--ld/testsuite/ld-ifunc/ifunc-2-x86-64.d4
-rw-r--r--ld/testsuite/ld-ifunc/ifunc-3a-x86.d2
8 files changed, 28 insertions, 9 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index e53ff76..3495161 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2009-07-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf.c (_bfd_elf_get_synthetic_symtab): Remove leading zeros
+ when reporting addends.
+
2009-07-10 Alan Modra <amodra@bigpond.net.au>
* elf32-spu.c (spu_elf_size_stubs): Do set up soft-icache manager
diff --git a/bfd/elf.c b/bfd/elf.c
index 0a46a84..19f2684 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -8965,10 +8965,16 @@ _bfd_elf_get_synthetic_symtab (bfd *abfd,
names += len;
if (p->addend != 0)
{
+ char buf[30], *a;
+ int len;
memcpy (names, "+0x", sizeof ("+0x") - 1);
names += sizeof ("+0x") - 1;
- bfd_sprintf_vma (abfd, names, p->addend);
- names += strlen (names);
+ bfd_sprintf_vma (abfd, buf, p->addend);
+ for (a = buf; *a == '0'; ++a)
+ ;
+ len = strlen (a);
+ memcpy (names, a, len);
+ names += len;
}
memcpy (names, "@plt", sizeof ("@plt"));
names += sizeof ("@plt");
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index be6e2e5..0c560bd 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2009-07-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-ifunc/ifunc-1-local-x86.d: Updated.
+ * ld-ifunc/ifunc-1-x86.d: Likewise.Likewise.
+ * ld-ifunc/ifunc-2-local-x86-64.d: Likewise.Likewise.
+ * ld-ifunc/ifunc-2-x86-64.d: Likewise.
+ * ld-ifunc/ifunc-3a-x86.d: Likewise.Likewise.
+
2009-07-10 Alan Modra <amodra@bigpond.net.au>
* ld-ifunc/ifunc.exp: Run for powerpc. Really generate static
diff --git a/ld/testsuite/ld-ifunc/ifunc-1-local-x86.d b/ld/testsuite/ld-ifunc/ifunc-1-local-x86.d
index ee043b1207..244ef8c 100644
--- a/ld/testsuite/ld-ifunc/ifunc-1-local-x86.d
+++ b/ld/testsuite/ld-ifunc/ifunc-1-local-x86.d
@@ -3,5 +3,5 @@
#target: x86_64-*-* i?86-*-*
#...
-[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x200@plt>
#pass
diff --git a/ld/testsuite/ld-ifunc/ifunc-1-x86.d b/ld/testsuite/ld-ifunc/ifunc-1-x86.d
index ee043b1207..b0f7ccb 100644
--- a/ld/testsuite/ld-ifunc/ifunc-1-x86.d
+++ b/ld/testsuite/ld-ifunc/ifunc-1-x86.d
@@ -3,5 +3,5 @@
#target: x86_64-*-* i?86-*-*
#...
-[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x220@plt>
#pass
diff --git a/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d
index fa87102..f72359d 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-local-x86-64.d
@@ -4,6 +4,6 @@
#target: x86_64-*-*
#...
-[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*@plt>
-[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x220@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x220@plt>
#pass
diff --git a/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d b/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d
index fa87102..f72359d 100644
--- a/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d
+++ b/ld/testsuite/ld-ifunc/ifunc-2-x86-64.d
@@ -4,6 +4,6 @@
#target: x86_64-*-*
#...
-[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*@plt>
-[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x220@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+lea[ \t]+.*\(%rip\),%rax.*[ \t0-9a-fq]+<\*ABS\*\+0x220@plt>
#pass
diff --git a/ld/testsuite/ld-ifunc/ifunc-3a-x86.d b/ld/testsuite/ld-ifunc/ifunc-3a-x86.d
index 97225ba..88897c2 100644
--- a/ld/testsuite/ld-ifunc/ifunc-3a-x86.d
+++ b/ld/testsuite/ld-ifunc/ifunc-3a-x86.d
@@ -4,5 +4,5 @@
#target: x86_64-*-* i?86-*-*
#...
-[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+call[ \t0-9a-fq]+<\*ABS\*\+0x258@plt>
#pass