diff options
-rw-r--r-- | ld/ChangeLog | 5 | ||||
-rw-r--r-- | ld/emultempl/ppc64elf.em | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index f1f45d8..658ea4a 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,10 @@ 2004-08-09 Alan Modra <amodra@bigpond.net.au> + * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Error if + .toc is too large on relocatable linking. + +2004-08-09 Alan Modra <amodra@bigpond.net.au> + * emultempl/ppc64elf.em (ppc_after_open): Delete. (LDEMUL_AFTER_OPEN): Don't define. 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; |