aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2004-08-09 06:48:37 +0000
committerAlan Modra <amodra@gmail.com>2004-08-09 06:48:37 +0000
commit40e45c8b6c8500ec4415e644f0d659de14665358 (patch)
tree3fc900b371da0fd3b83f9c0e512114c6c253d804 /ld/emultempl
parent8387904def5e1510b39abce755c964c1b3f52307 (diff)
downloadgdb-40e45c8b6c8500ec4415e644f0d659de14665358.zip
gdb-40e45c8b6c8500ec4415e644f0d659de14665358.tar.gz
gdb-40e45c8b6c8500ec4415e644f0d659de14665358.tar.bz2
* emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Error if
.toc is too large on relocatable linking.
Diffstat (limited to 'ld/emultempl')
-rw-r--r--ld/emultempl/ppc64elf.em8
1 files changed, 8 insertions, 0 deletions
diff --git a/ld/emultempl/ppc64elf.em b/ld/emultempl/ppc64elf.em
index 3ddf941..ffd6a2b 100644
--- a/ld/emultempl/ppc64elf.em
+++ b/ld/emultempl/ppc64elf.em
@@ -352,6 +352,14 @@ gld${EMULATION_NAME}_finish (void)
if (need_laying_out)
ppc_layout_sections_again ();
+ if (link_info.relocatable)
+ {
+ asection *toc = bfd_get_section_by_name (output_bfd, ".toc");
+ if (toc != NULL
+ && bfd_section_size (output_bfd, toc) > 0x10000)
+ einfo ("%X%P: TOC section size exceeds 64k\n");
+ }
+
if (stub_added)
{
char *msg = NULL;