From 9232bbb040244905a13453a40beeb3b4ffac8e1b Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 27 Jul 2004 13:56:55 +0000 Subject: [PATCH] * config/tc-ppc.c (ppc_frob_file_before_adjust): Warn if .toc too big. (ppc_arch): Expand comment. --- gas/ChangeLog | 5 +++++ gas/config/tc-ppc.c | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 7fa3398a1a1..d8e4ccc440f 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2004-07-27 Alan Modra + + * config/tc-ppc.c (ppc_frob_file_before_adjust): Warn if .toc too big. + (ppc_arch): Expand comment. + 2004-07-27 Tomer Levi * config/tc-crx.c: Support evaluating the difference between two diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index 7bc70113ff9..3f54f9e50a4 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -1156,7 +1156,8 @@ ppc_set_cpu () } } -/* Figure out the BFD architecture to use. */ +/* Figure out the BFD architecture to use. This function and ppc_mach + are called well before md_begin, when the output file is opened. */ enum bfd_architecture ppc_arch () @@ -1891,6 +1892,7 @@ void ppc_frob_file_before_adjust () { symbolS *symp; + asection *toc; if (!ppc_obj64) return; @@ -1922,6 +1924,11 @@ ppc_frob_file_before_adjust () } + toc = bfd_get_section_by_name (stdoutput, ".toc"); + if (toc != NULL + && bfd_section_size (stdoutput, toc) > 0x10000) + as_warn (_("TOC section size exceeds 64k")); + /* Don't emit .TOC. symbol. */ symp = symbol_find (".TOC."); if (symp != NULL) -- 2.30.2