aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2010-03-15 01:59:57 +0000
committerAlan Modra <amodra@gmail.com>2010-03-15 01:59:57 +0000
commit1bbe090216c757ccf79f3860b7db2ad660feb492 (patch)
treeb31c5c1ed30560b651fb46c905f617ab69bb3b1b /bfd
parentf52cd8cdd84ce53129ed4ab610b04d7503cd8208 (diff)
downloadfsf-binutils-gdb-1bbe090216c757ccf79f3860b7db2ad660feb492.zip
fsf-binutils-gdb-1bbe090216c757ccf79f3860b7db2ad660feb492.tar.gz
fsf-binutils-gdb-1bbe090216c757ccf79f3860b7db2ad660feb492.tar.bz2
* elf64-ppc.c (ppc64_elf_has_small_toc_reloc): New function.
* elf64-ppc.h (ppc64_elf_has_small_toc_reloc): Declare.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf64-ppc.c10
-rw-r--r--bfd/elf64-ppc.h2
3 files changed, 17 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index e0260f7..ae895d9 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2010-03-15 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc64_elf_has_small_toc_reloc): New function.
+ * elf64-ppc.h (ppc64_elf_has_small_toc_reloc): Declare.
+
2010-03-14 Alan Modra <amodra@gmail.com>
PR ld/11378
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 1834e22..6c4ff4c 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -8274,6 +8274,16 @@ ppc64_elf_edit_toc (struct bfd_link_info *info)
return TRUE;
}
+/* Return true iff input section I references the TOC using
+ instructions limited to +/-32k offsets. */
+
+bfd_boolean
+ppc64_elf_has_small_toc_reloc (asection *i)
+{
+ return (is_ppc64_elf (i->owner)
+ && ppc64_elf_tdata (i->owner)->has_small_toc_reloc);
+}
+
/* Allocate space for one GOT entry. */
static void
diff --git a/bfd/elf64-ppc.h b/bfd/elf64-ppc.h
index b6bc5fb..c905d30 100644
--- a/bfd/elf64-ppc.h
+++ b/bfd/elf64-ppc.h
@@ -29,6 +29,8 @@ bfd_boolean ppc64_elf_tls_optimize
(struct bfd_link_info *);
bfd_boolean ppc64_elf_edit_toc
(struct bfd_link_info *);
+bfd_boolean ppc64_elf_has_small_toc_reloc
+ (asection *);
bfd_vma ppc64_elf_toc
(bfd *);
int ppc64_elf_setup_section_lists