X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gas%2Fecoff.c;h=250faaee8e8d887a2a7ba665acde9d8aaf4279e9;hb=480a4dd5f347e441a4e550285b300081152ad4e0;hp=69af2cef98b32787f494aa33fccc2a55d2bc48dd;hpb=fe0e921f00237abd926cd9efaeedf758b17170de;p=binutils-gdb.git diff --git a/gas/ecoff.c b/gas/ecoff.c index 69af2cef98b..250faaee8e8 100644 --- a/gas/ecoff.c +++ b/gas/ecoff.c @@ -1,5 +1,5 @@ /* ECOFF debugging support. - Copyright (C) 1993-2020 Free Software Foundation, Inc. + Copyright (C) 1993-2022 Free Software Foundation, Inc. Contributed by Cygnus Support. This file was put together by Ian Lance Taylor . A good deal of it comes directly from mips-tfile.c, by Michael @@ -3551,6 +3551,13 @@ ecoff_stab (segT sec ATTRIBUTE_UNUSED, cur_file_ptr = save_file_ptr; } +static asection ecoff_scom_section; +static const asymbol ecoff_scom_symbol = + GLOBAL_SYM_INIT (SCOMMON, &ecoff_scom_section); +static asection ecoff_scom_section = + BFD_FAKE_SECTION (ecoff_scom_section, &ecoff_scom_symbol, + SCOMMON, 0, SEC_IS_COMMON | SEC_SMALL_DATA); + /* Frob an ECOFF symbol. Small common symbols go into a special .scommon section rather than bfd_com_section. */ @@ -3561,23 +3568,7 @@ ecoff_frob_symbol (symbolS *sym) && S_GET_VALUE (sym) > 0 && S_GET_VALUE (sym) <= bfd_get_gp_size (stdoutput)) { - static asection scom_section; - static asymbol scom_symbol; - - /* We must construct a fake section similar to bfd_com_section - but with the name .scommon. */ - if (scom_section.name == NULL) - { - scom_section = *bfd_com_section_ptr; - scom_section.name = ".scommon"; - scom_section.output_section = &scom_section; - scom_section.symbol = &scom_symbol; - scom_section.symbol_ptr_ptr = &scom_section.symbol; - scom_symbol = *bfd_com_section_ptr->symbol; - scom_symbol.name = ".scommon"; - scom_symbol.section = &scom_section; - } - S_SET_SEGMENT (sym, &scom_section); + S_SET_SEGMENT (sym, &ecoff_scom_section); } /* Double check weak symbols. */