From: Anatoly Sokolov Date: Fri, 8 Apr 2011 06:44:09 +0000 (+0400) Subject: tm.texi.in (ASM_OUTPUT_BSS): Remove documentation. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=07c5f94e8209f6c52ac32a94cc234182dd6f10d2;p=gcc.git tm.texi.in (ASM_OUTPUT_BSS): Remove documentation. * doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation. (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation. * doc/tm.texi: Regenerate. * system.h (ASM_OUTPUT_BSS): Poison. * varasm.c (asm_output_bss): Remove function. (emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro. * config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment. * config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise. * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise. * config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Likewise. * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Likewise. * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Likewise. * config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise. From-SVN: r172166 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 780d46e7bac..62df9162caa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,23 @@ +2011-04-08 Anatoly Sokolov + + * doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation. + (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation. + * doc/tm.texi: Regenerate. + * system.h (ASM_OUTPUT_BSS): Poison. + * varasm.c (asm_output_bss): Remove function. + (emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro. + + * config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment. + * config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise. + * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise. + * config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): + Likewise. + * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): + Likewise. + * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): + Likewise. + * config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise. + 2011-04-07 Joseph Myers * config/rx/rx.opt (rx610, rx200, rx600): Use Enum not Name on diff --git a/gcc/config/fr30/fr30.h b/gcc/config/fr30/fr30.h index 89510459c43..ca483fa88ea 100644 --- a/gcc/config/fr30/fr30.h +++ b/gcc/config/fr30/fr30.h @@ -702,13 +702,6 @@ enum reg_class `".data"' is right. */ #define DATA_SECTION_ASM_OP "\t.data" -/* If defined, a C expression whose value is a string containing the - assembler operation to identify the following data as - uninitialized global data. If not defined, and neither - `ASM_OUTPUT_BSS' nor `ASM_OUTPUT_ALIGNED_BSS' are defined, - uninitialized global data will be output in the data section if - `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be - used. */ #define BSS_SECTION_ASM_OP "\t.section .bss" /*}}}*/ diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h index 5d206824382..937ae1809a5 100644 --- a/gcc/config/frv/frv.h +++ b/gcc/config/frv/frv.h @@ -1574,13 +1574,6 @@ __asm__("\n" \ `".data"' is right. */ #define DATA_SECTION_ASM_OP "\t.data" -/* If defined, a C expression whose value is a string containing the - assembler operation to identify the following data as - uninitialized global data. If not defined, and neither - `ASM_OUTPUT_BSS' nor `ASM_OUTPUT_ALIGNED_BSS' are defined, - uninitialized global data will be output in the data section if - `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be - used. */ #define BSS_SECTION_ASM_OP "\t.section .bss,\"aw\"" /* Short Data Support */ diff --git a/gcc/config/i386/djgpp.h b/gcc/config/i386/djgpp.h index d8af241ee94..d1109a2ff3f 100644 --- a/gcc/config/i386/djgpp.h +++ b/gcc/config/i386/djgpp.h @@ -24,13 +24,6 @@ along with GCC; see the file COPYING3. If not see /* Don't assume anything about the header files. */ #define NO_IMPLICIT_EXTERN_C -/* If defined, a C expression whose value is a string containing the - assembler operation to identify the following data as - uninitialized global data. If not defined, and neither - `ASM_OUTPUT_BSS' nor `ASM_OUTPUT_ALIGNED_BSS' are defined, - uninitialized global data will be output in the data section if - `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be - used. */ #undef BSS_SECTION_ASM_OP #define BSS_SECTION_ASM_OP "\t.section\t.bss" diff --git a/gcc/config/i386/i386elf.h b/gcc/config/i386/i386elf.h index eb9797aff31..1b942cba914 100644 --- a/gcc/config/i386/i386elf.h +++ b/gcc/config/i386/i386elf.h @@ -100,24 +100,9 @@ along with GCC; see the file COPYING3. If not see /* Switch into a generic section. */ #define TARGET_ASM_NAMED_SECTION default_elf_asm_named_section -/* If defined, a C expression whose value is a string containing the - assembler operation to identify the following data as - uninitialized global data. If not defined, and neither - `ASM_OUTPUT_BSS' nor `ASM_OUTPUT_ALIGNED_BSS' are defined, - uninitialized global data will be output in the data section if - `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be - used. */ #undef BSS_SECTION_ASM_OP #define BSS_SECTION_ASM_OP "\t.section\t.bss" -/* Like `ASM_OUTPUT_BSS' except takes the required alignment as a - separate, explicit argument. If you define this macro, it is used - in place of `ASM_OUTPUT_BSS', and gives you more flexibility in - handling the required alignment of the variable. The alignment is - specified as the number of bits. - - Try to use function `asm_output_aligned_bss' defined in file - `varasm.c' when defining this macro. */ #undef ASM_OUTPUT_ALIGNED_BSS #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) diff --git a/gcc/config/m68k/m68kelf.h b/gcc/config/m68k/m68kelf.h index d3fc41a4e49..a9e37be0881 100644 --- a/gcc/config/m68k/m68kelf.h +++ b/gcc/config/m68k/m68kelf.h @@ -1,7 +1,7 @@ /* m68kelf support, derived from m68kv4.h */ /* Target definitions for GNU compiler for mc680x0 running System V.4 - Copyright (C) 1991, 1993, 2000, 2002, 2003, 2004, 2007, 2010 + Copyright (C) 1991, 1993, 2000, 2002, 2003, 2004, 2007, 2010, 2011 Free Software Foundation, Inc. Written by Ron Guilmette (rfg@netcom.com) and Fred Fish (fnf@cygnus.com). @@ -139,25 +139,10 @@ do { \ #undef STARTFILE_SPEC #define STARTFILE_SPEC "crtbegin.o%s" -/* If defined, a C expression whose value is a string containing the - assembler operation to identify the following data as - uninitialized global data. If not defined, and neither - `ASM_OUTPUT_BSS' nor `ASM_OUTPUT_ALIGNED_BSS' are defined, - uninitialized global data will be output in the data section if - `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be - used. */ #ifndef BSS_SECTION_ASM_OP #define BSS_SECTION_ASM_OP "\t.section\t.bss" #endif -/* Like `ASM_OUTPUT_BSS' except takes the required alignment as a - separate, explicit argument. If you define this macro, it is used - in place of `ASM_OUTPUT_BSS', and gives you more flexibility in - handling the required alignment of the variable. The alignment is - specified as the number of bits. - - Try to use function `asm_output_aligned_bss' defined in file - `varasm.c' when defining this macro. */ #ifndef ASM_OUTPUT_ALIGNED_BSS #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) diff --git a/gcc/config/m68k/netbsd-elf.h b/gcc/config/m68k/netbsd-elf.h index acad40ff96e..725f71bddf1 100644 --- a/gcc/config/m68k/netbsd-elf.h +++ b/gcc/config/m68k/netbsd-elf.h @@ -171,15 +171,6 @@ while (0) #define BSS_SECTION_ASM_OP ".section\t.bss" -/* Like `ASM_OUTPUT_BSS' except takes the required alignment as a - separate, explicit argument. If you define this macro, it is used - in place of `ASM_OUTPUT_BSS', and gives you more flexibility in - handling the required alignment of the variable. The alignment is - specified as the number of bits. - - Try to use function `asm_output_aligned_bss' defined in file - `varasm.c' when defining this macro. */ - #undef ASM_OUTPUT_ALIGNED_BSS #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h index 9df2ea4425d..1e4dd7adc31 100644 --- a/gcc/config/sh/sh.h +++ b/gcc/config/sh/sh.h @@ -2113,26 +2113,10 @@ struct sh_args { # endif #endif - -/* If defined, a C expression whose value is a string containing the - assembler operation to identify the following data as - uninitialized global data. If not defined, and neither - `ASM_OUTPUT_BSS' nor `ASM_OUTPUT_ALIGNED_BSS' are defined, - uninitialized global data will be output in the data section if - `-fno-common' is passed, otherwise `ASM_OUTPUT_COMMON' will be - used. */ #ifndef BSS_SECTION_ASM_OP #define BSS_SECTION_ASM_OP "\t.section\t.bss" #endif -/* Like `ASM_OUTPUT_BSS' except takes the required alignment as a - separate, explicit argument. If you define this macro, it is used - in place of `ASM_OUTPUT_BSS', and gives you more flexibility in - handling the required alignment of the variable. The alignment is - specified as the number of bits. - - Try to use function `asm_output_aligned_bss' defined in file - `varasm.c' when defining this macro. */ #ifndef ASM_OUTPUT_ALIGNED_BSS #define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi index e5938fe45f8..24c6b809c53 100644 --- a/gcc/doc/tm.texi +++ b/gcc/doc/tm.texi @@ -6821,8 +6821,8 @@ data. @defmac BSS_SECTION_ASM_OP If defined, a C expression whose value is a string, including spacing, containing the assembler operation to identify the following data as -uninitialized global data. If not defined, and neither -@code{ASM_OUTPUT_BSS} nor @code{ASM_OUTPUT_ALIGNED_BSS} are defined, +uninitialized global data. If not defined, and +@code{ASM_OUTPUT_ALIGNED_BSS} not defined, uninitialized global data will be output in the data section if @option{-fno-common} is passed, otherwise @code{ASM_OUTPUT_COMMON} will be used. @@ -7598,20 +7598,19 @@ in place of both @code{ASM_OUTPUT_COMMON} and the variable's decl in order to chose what to output. @end defmac -@defmac ASM_OUTPUT_BSS (@var{stream}, @var{decl}, @var{name}, @var{size}, @var{rounded}) +@defmac ASM_OUTPUT_ALIGNED_BSS (@var{stream}, @var{decl}, @var{name}, @var{size}, @var{alignment}) A C statement (sans semicolon) to output to the stdio stream @var{stream} the assembler definition of uninitialized global @var{decl} named -@var{name} whose size is @var{size} bytes. The variable @var{rounded} -is the size rounded up to whatever alignment the caller wants. +@var{name} whose size is @var{size} bytes. The variable @var{alignment} +is the alignment specified as the number of bits. -Try to use function @code{asm_output_bss} defined in @file{varasm.c} when -defining this macro. If unable, use the expression +Try to use function @code{asm_output_aligned_bss} defined in file +@file{varasm.c} when defining this macro. If unable, use the expression @code{assemble_name (@var{stream}, @var{name})} to output the name itself; before and after that, output the additional assembler syntax for defining the name, and a newline. -There are two ways of handling global BSS@. One is to define either -this macro or its aligned counterpart, @code{ASM_OUTPUT_ALIGNED_BSS}. +There are two ways of handling global BSS@. One is to define this macro. The other is to have @code{TARGET_ASM_SELECT_SECTION} return a switchable BSS section (@pxref{TARGET_HAVE_SWITCHABLE_BSS_SECTIONS}). You do not need to do both. @@ -7623,17 +7622,6 @@ not support global BSS, the front end may choose to make globals common in order to save space in the object file. @end defmac -@defmac ASM_OUTPUT_ALIGNED_BSS (@var{stream}, @var{decl}, @var{name}, @var{size}, @var{alignment}) -Like @code{ASM_OUTPUT_BSS} except takes the required alignment as a -separate, explicit argument. If you define this macro, it is used in -place of @code{ASM_OUTPUT_BSS}, and gives you more flexibility in -handling the required alignment of the variable. The alignment is specified -as the number of bits. - -Try to use function @code{asm_output_aligned_bss} defined in file -@file{varasm.c} when defining this macro. -@end defmac - @defmac ASM_OUTPUT_LOCAL (@var{stream}, @var{name}, @var{size}, @var{rounded}) A C statement (sans semicolon) to output to the stdio stream @var{stream} the assembler definition of a local-common-label named diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in index 27949d126af..e6e778f1fd3 100644 --- a/gcc/doc/tm.texi.in +++ b/gcc/doc/tm.texi.in @@ -6799,8 +6799,8 @@ data. @defmac BSS_SECTION_ASM_OP If defined, a C expression whose value is a string, including spacing, containing the assembler operation to identify the following data as -uninitialized global data. If not defined, and neither -@code{ASM_OUTPUT_BSS} nor @code{ASM_OUTPUT_ALIGNED_BSS} are defined, +uninitialized global data. If not defined, and +@code{ASM_OUTPUT_ALIGNED_BSS} not defined, uninitialized global data will be output in the data section if @option{-fno-common} is passed, otherwise @code{ASM_OUTPUT_COMMON} will be used. @@ -7564,20 +7564,19 @@ in place of both @code{ASM_OUTPUT_COMMON} and the variable's decl in order to chose what to output. @end defmac -@defmac ASM_OUTPUT_BSS (@var{stream}, @var{decl}, @var{name}, @var{size}, @var{rounded}) +@defmac ASM_OUTPUT_ALIGNED_BSS (@var{stream}, @var{decl}, @var{name}, @var{size}, @var{alignment}) A C statement (sans semicolon) to output to the stdio stream @var{stream} the assembler definition of uninitialized global @var{decl} named -@var{name} whose size is @var{size} bytes. The variable @var{rounded} -is the size rounded up to whatever alignment the caller wants. +@var{name} whose size is @var{size} bytes. The variable @var{alignment} +is the alignment specified as the number of bits. -Try to use function @code{asm_output_bss} defined in @file{varasm.c} when -defining this macro. If unable, use the expression +Try to use function @code{asm_output_aligned_bss} defined in file +@file{varasm.c} when defining this macro. If unable, use the expression @code{assemble_name (@var{stream}, @var{name})} to output the name itself; before and after that, output the additional assembler syntax for defining the name, and a newline. -There are two ways of handling global BSS@. One is to define either -this macro or its aligned counterpart, @code{ASM_OUTPUT_ALIGNED_BSS}. +There are two ways of handling global BSS@. One is to define this macro. The other is to have @code{TARGET_ASM_SELECT_SECTION} return a switchable BSS section (@pxref{TARGET_HAVE_SWITCHABLE_BSS_SECTIONS}). You do not need to do both. @@ -7589,17 +7588,6 @@ not support global BSS, the front end may choose to make globals common in order to save space in the object file. @end defmac -@defmac ASM_OUTPUT_ALIGNED_BSS (@var{stream}, @var{decl}, @var{name}, @var{size}, @var{alignment}) -Like @code{ASM_OUTPUT_BSS} except takes the required alignment as a -separate, explicit argument. If you define this macro, it is used in -place of @code{ASM_OUTPUT_BSS}, and gives you more flexibility in -handling the required alignment of the variable. The alignment is specified -as the number of bits. - -Try to use function @code{asm_output_aligned_bss} defined in file -@file{varasm.c} when defining this macro. -@end defmac - @defmac ASM_OUTPUT_LOCAL (@var{stream}, @var{name}, @var{size}, @var{rounded}) A C statement (sans semicolon) to output to the stdio stream @var{stream} the assembler definition of a local-common-label named diff --git a/gcc/system.h b/gcc/system.h index c611fed4d53..92293022991 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -830,7 +830,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN; FUNCTION_ARG_BOUNDARY MUST_USE_SJLJ_EXCEPTIONS US_SOFTWARE_GOFAST \ USING_SVR4_H SVR4_ASM_SPEC FUNCTION_ARG FUNCTION_ARG_ADVANCE \ FUNCTION_INCOMING_ARG IRA_COVER_CLASSES TARGET_VERSION \ - MACHINE_TYPE TARGET_HAS_TARGETCM + MACHINE_TYPE TARGET_HAS_TARGETCM ASM_OUTPUT_BSS /* Hooks that are no longer used. */ #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \ diff --git a/gcc/varasm.c b/gcc/varasm.c index 84eae3e7d44..332f0f46033 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -121,10 +121,6 @@ static unsigned min_align (unsigned, unsigned); static void globalize_decl (tree); static bool decl_readonly_section_1 (enum section_category); #ifdef BSS_SECTION_ASM_OP -#ifdef ASM_OUTPUT_BSS -static void asm_output_bss (FILE *, tree, const char *, - unsigned HOST_WIDE_INT, unsigned HOST_WIDE_INT); -#endif #ifdef ASM_OUTPUT_ALIGNED_BSS static void asm_output_aligned_bss (FILE *, tree, const char *, unsigned HOST_WIDE_INT, int) @@ -427,34 +423,6 @@ resolve_unique_section (tree decl, int reloc ATTRIBUTE_UNUSED, #ifdef BSS_SECTION_ASM_OP -#ifdef ASM_OUTPUT_BSS - -/* Utility function for ASM_OUTPUT_BSS for targets to use if - they don't support alignments in .bss. - ??? It is believed that this function will work in most cases so such - support is localized here. */ - -static void ATTRIBUTE_UNUSED -asm_output_bss (FILE *file, tree decl ATTRIBUTE_UNUSED, - const char *name, - unsigned HOST_WIDE_INT size ATTRIBUTE_UNUSED, - unsigned HOST_WIDE_INT rounded) -{ - gcc_assert (strcmp (XSTR (XEXP (DECL_RTL (decl), 0), 0), name) == 0); - targetm.asm_out.globalize_decl_name (file, decl); - switch_to_section (bss_section); -#ifdef ASM_DECLARE_OBJECT_NAME - last_assemble_variable_decl = decl; - ASM_DECLARE_OBJECT_NAME (file, name, decl); -#else - /* Standard thing is just output label for the object. */ - ASM_OUTPUT_LABEL (file, name); -#endif /* ASM_DECLARE_OBJECT_NAME */ - ASM_OUTPUT_SKIP (file, rounded ? rounded : 1); -} - -#endif - #ifdef ASM_OUTPUT_ALIGNED_BSS /* Utility function for targets to use in implementing @@ -1795,7 +1763,7 @@ emit_local (tree decl ATTRIBUTE_UNUSED, /* A noswitch_section_callback for bss_noswitch_section. */ -#if defined ASM_OUTPUT_ALIGNED_BSS || defined ASM_OUTPUT_BSS +#if defined ASM_OUTPUT_ALIGNED_BSS static bool emit_bss (tree decl ATTRIBUTE_UNUSED, const char *name ATTRIBUTE_UNUSED, @@ -1805,9 +1773,6 @@ emit_bss (tree decl ATTRIBUTE_UNUSED, #if defined ASM_OUTPUT_ALIGNED_BSS ASM_OUTPUT_ALIGNED_BSS (asm_out_file, decl, name, size, DECL_ALIGN (decl)); return true; -#else - ASM_OUTPUT_BSS (asm_out_file, decl, name, size, rounded); - return false; #endif } #endif @@ -6004,7 +5969,7 @@ init_varasm_once (void) comm_section = get_noswitch_section (SECTION_WRITE | SECTION_BSS | SECTION_COMMON, emit_common); -#if defined ASM_OUTPUT_ALIGNED_BSS || defined ASM_OUTPUT_BSS +#if defined ASM_OUTPUT_ALIGNED_BSS bss_noswitch_section = get_noswitch_section (SECTION_WRITE | SECTION_BSS, emit_bss); #endif