From: Jim Wilson Date: Mon, 9 Aug 1993 19:42:21 +0000 (-0700) Subject: (assembler_variable): For XCOFF_DEBUG, restore section X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=05be4ceac49b1d6960045eb2121530582202776e;p=gcc.git (assembler_variable): For XCOFF_DEBUG, restore section if dbxout_symbol call changes it. From-SVN: r5122 --- diff --git a/gcc/varasm.c b/gcc/varasm.c index 75f620ac479..e11787665b3 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -1048,7 +1048,26 @@ assemble_variable (decl, top_level, at_end, dont_output_data) /* File-scope global variables are output here. */ if (write_symbols == XCOFF_DEBUG && top_level) - dbxout_symbol (decl, 0); + { + saved_in_section = in_section; + + dbxout_symbol (decl, 0); + + if (in_section != saved_in_section) + { + /* Switch to the proper section for this data. */ +#ifdef SELECT_SECTION + SELECT_SECTION (decl, reloc); +#else + if (TREE_READONLY (decl) + && ! TREE_THIS_VOLATILE (decl) + && ! (flag_pic && reloc)) + readonly_data_section (); + else + data_section (); +#endif + } + } #else /* There must be a statement after a label. */ ;