aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2009-06-15 18:25:20 +0000
committerH.J. Lu <hjl.tools@gmail.com>2009-06-15 18:25:20 +0000
commit188dbb07f1cfd26aef9c470a430e3b26f5be829a (patch)
tree60f1c93326fd9f89e65c890e8657f84916f4584e
parent048cbda4419086de3a9dac2c18e2ec50fc655451 (diff)
downloadgdb-188dbb07f1cfd26aef9c470a430e3b26f5be829a.zip
gdb-188dbb07f1cfd26aef9c470a430e3b26f5be829a.tar.gz
gdb-188dbb07f1cfd26aef9c470a430e3b26f5be829a.tar.bz2
2009-06-15 H.J. Lu <hongjiu.lu@intel.com>
* elf32-i386.c (elf_i386_allocate_dynrelocs): Update comments. * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-i386.c10
-rw-r--r--bfd/elf64-x86-64.c10
3 files changed, 15 insertions, 10 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index e89dc00..4d4469b 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,10 @@
2009-06-15 H.J. Lu <hongjiu.lu@intel.com>
+ * elf32-i386.c (elf_i386_allocate_dynrelocs): Update comments.
+ * elf64-x86-64.c (elf64_x86_64_allocate_dynrelocs): Likewise.
+
+2009-06-15 H.J. Lu <hongjiu.lu@intel.com>
+
* elf32-i386.c (elf_i386_check_relocs): Reformat.
* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 6cbf428..c9e2c1d 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -2141,11 +2141,11 @@ elf_i386_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
asection *plt, *gotplt, *relplt;
/* When a shared library references a STT_GNU_IFUNC symbol
- defined in executable. the .got.plt slot in the shared library
- will contain address of the .plt slot in the binary and only
- its .got.plt will contain the resolved function that should be
- called. Pointer equality won't work correctly. PIE should
- be used if pointer equality is required here. */
+ defined in executable, the address of the resolved function
+ may be used. But in non-shared executable, the address of
+ its .plt slot may be used. Pointer equality may not work
+ correctly. PIE should be used if pointer equality is
+ required here. */
if (!info->shared
&& (h->dynindx != -1
|| info->export_dynamic)
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index f7a48e9..02e8201 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -1983,11 +1983,11 @@ elf64_x86_64_allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf)
asection *plt, *gotplt, *relplt;
/* When a shared library references a STT_GNU_IFUNC symbol
- defined in executable. the .got.plt slot in the shared library
- will contain address of the .plt slot in the binary and only
- its .got.plt will contain the resolved function that should be
- called. Pointer equality won't work correctly. PIE should
- be used if pointer equality is required here. */
+ defined in executable, the address of the resolved function
+ may be used. But in non-shared executable, the address of
+ its .plt slot may be used. Pointer equality may not work
+ correctly. PIE should be used if pointer equality is
+ required here. */
if (!info->shared
&& (h->dynindx != -1
|| info->export_dynamic)