From 37f9f5d9181178943558a24a30f22764f9edc69f Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 9 Aug 2004 06:48:37 +0000 Subject: [PATCH] * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Error if .toc is too large on relocatable linking. --- ld/ChangeLog | 5 +++++ ld/emultempl/ppc64elf.em | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/ld/ChangeLog b/ld/ChangeLog index f1f45d8c1d..658ea4afb0 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,10 @@ 2004-08-09 Alan Modra + * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Error if + .toc is too large on relocatable linking. + +2004-08-09 Alan Modra + * 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 3ddf941bbd..ffd6a2bcf0 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; -- 2.11.0