From 40e45c8b6c8500ec4415e644f0d659de14665358 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 9 Aug 2004 06:48:37 +0000 Subject: * 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(+) (limited to 'ld') 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 + * 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 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; -- cgit v1.1