From 6c1065151f0c42e978fb1bc232e45851811eb76c Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Sat, 1 Sep 2012 18:10:50 +0000 Subject: [PATCH] PR gas/14521 * config/tc-mmix.h (tc_frob_file_before_fix): Renumber sections after call to mmix_frob_file. --- gas/ChangeLog | 6 ++++++ gas/config/tc-mmix.h | 13 ++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index e0b47beb014..c3270d22301 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2012-09-01 Hans-Peter Nilsson + + PR gas/14521 + * config/tc-mmix.h (tc_frob_file_before_fix): Renumber sections + after call to mmix_frob_file. + 2012-08-31 Maciej W. Rozycki * doc/c-mips.texi (MIPS Opts): Correct a typo in the -mips5 diff --git a/gas/config/tc-mmix.h b/gas/config/tc-mmix.h index ef901620a82..dba24a2d38c 100644 --- a/gas/config/tc-mmix.h +++ b/gas/config/tc-mmix.h @@ -194,7 +194,18 @@ extern fragS *mmix_opcode_frag; fixups are done and relocs are output. Similarly for each unknown symbol. */ extern void mmix_frob_file (void); -#define tc_frob_file_before_fix mmix_frob_file +#define tc_frob_file_before_fix() \ + do \ + { \ + int i = 0; \ + \ + /* It's likely mmix_frob_file changed (removed) sections, so make \ + sure sections are correctly numbered as per renumber_sections, \ + (static to write.c where this macro is called). */ \ + mmix_frob_file (); \ + bfd_map_over_sections (stdoutput, renumber_sections, &i); \ + } \ + while (0) /* Used by mmix_frob_file. Hangs on section symbols and unknown symbols. */ struct mmix_symbol_gregs; -- 2.30.2