defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two arguments.

* defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
	arguments.  Always use ".-symbol" as expression argument.
	* doc/tm.texi: Update to match.  Document requirement for
	".size symbol, .-symbol" to be acceptable to assembler.

	* config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
	config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
	config/i386/freebsd-aout.h, config/i386/sco5.h,
	config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
	config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.

From-SVN: r55820
This commit is contained in:
Zack Weinberg 2002-07-28 18:44:34 +00:00
parent 5922c46ce9
commit 99086d596f
15 changed files with 53 additions and 117 deletions

View File

@ -1,3 +1,16 @@
2002-07-28 Zack Weinberg <zack@codesourcery.com>
* defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
arguments. Always use ".-symbol" as expression argument.
* doc/tm.texi: Update to match. Document requirement for
".size symbol, .-symbol" to be acceptable to assembler.
* config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
config/i386/freebsd-aout.h, config/i386/sco5.h,
config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
config/xtensa/linux.h: Update uses of ASM_OUTPUT_MEASURED_SIZE.
2002-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* Makefile.in (gengtype-lex.c): Fix error in last change.
@ -34,7 +47,7 @@
[HONOR_SNANS]: New macro.
* toplev.c [flag_signaling_nans]: Initialize to false.
(f_options): Add processing for "-fsignaling-nans".
(f_options): Add processing for "-fsignaling-nans".
(set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
(process_options): flag_signaling_nans implies flag_trapping_math.
@ -50,8 +63,8 @@
* rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
required by HONOR_SNANS. (may_trap_p): Floating point DIV, MOD,
UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
-fsignaling_nans. EQ and NE only trap for flag_signaling_nans
UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
-fsignaling_nans. EQ and NE only trap for flag_signaling_nans
not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
* doc/invoke.texi: Document new -fsignaling-nans compiler option.
@ -239,7 +252,7 @@ Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
2002-07-25 Gabriel Dos Reis <gdr@nerim.net>
* c-common.c (c_sizeof_or_alignof_type): Take a third argument for
complaining.
complaining.
* c-common.h (c_sizeof): Adjust definition.
(c_alignof): Likewise.
* c-tree.h (c_sizeof_nowarn): Now macro.
@ -274,7 +287,7 @@ Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
* config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
TARGET_ISEL, and TARGET_FPRS.
* doc/invoke.texi (RS/6000 and PowerPC Options): Document
-mabi=spe, -mabi=no-spe, and -misel=.
@ -289,7 +302,7 @@ Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
(*ne0): Same.
(negsf2): Change to expand and rename old pattern to *negsf2.
(abssf2): Change to expand and rename old pattern to *abssf2.
New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
fixunssfsi2.
@ -406,7 +419,7 @@ Thu Jul 25 10:23:41 2002 J"orn Rennecke <joern.rennecke@superh.com>
(rs6000_builtins): Add SPE builtins.
* testsuite/gcc.dg/ppc-spe.c: New.
* config/rs6000/eabispe.h: New.
* config/rs6000/spe.h: New.
@ -587,7 +600,7 @@ Tue Jul 23 21:49:24 2002 J"orn Rennecke <joern.rennecke@superh.com>
(LARGEST_EXPONENT_IS_NORMAL): Ditto.
(VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
(TARGET_G_FLOAT): Default to 0 if not defined.
(ieeetoe): New, common routine to convert target format floats
(ieeetoe): New, common routine to convert target format floats
to internal form.
(e24toe, e53toe): Change to use ieeetoe, distinguish DEC
vs. others.
@ -787,7 +800,7 @@ Mon Jul 22 15:27:25 2002 J"orn Rennecke <joern.rennecke@superh.com>
* gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
* function.c (SYMBOL__MAIN): Remove definition.
* global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
* predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
* predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
* profile.c (GCOV_INDEX_TO_BB): Remove.
* sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
* simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
@ -830,7 +843,7 @@ Sun Jul 21 21:36:41 CEST 2002 Jan Hubicka <jh@suse.cz>
2002-07-21 Andreas Jaeger <aj@suse.de>
* reload1.c (fixup_abnormal_edges): Remove unused variable.
* reload1.c (fixup_abnormal_edges): Remove unused variable.
2002-07-21 Bernd Schmidt <bernds@redhat.com>

View File

@ -79,14 +79,7 @@ Boston, MA 02111-1307, USA. */
{ \
ARM_DECLARE_FUNCTION_SIZE (FILE, FNAME, DECL); \
if (!flag_inhibit_size_directive) \
{ \
char label[256]; \
static int labelno; \
labelno ++; \
ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); \
ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); \
ASM_OUTPUT_MEASURED_SIZE (FILE, (FNAME), label); \
} \
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \
} \
while (0)

View File

@ -1969,14 +1969,7 @@ do { \
#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \
do { \
if (!flag_inhibit_size_directive) \
{ \
char label[256]; \
static int labelno; \
labelno++; \
ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); \
ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); \
ASM_OUTPUT_MEASURED_SIZE (FILE, (FNAME), label); \
} \
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \
} while (0)
/* A C statement (sans semicolon) to output to the stdio stream
STREAM any text necessary for declaring the size of a function

View File

@ -339,16 +339,7 @@ Boston, MA 02111-1307, USA. */
do \
{ \
if (!flag_inhibit_size_directive) \
{ \
char label[256]; \
static int labelno; \
\
labelno++; \
\
ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); \
ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); \
ASM_OUTPUT_MEASURED_SIZE (FILE, (FNAME), label); \
} \
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \
} \
while (0)

View File

@ -354,16 +354,7 @@ Boston, MA 02111-1307, USA. */
do \
{ \
if (!flag_inhibit_size_directive) \
{ \
char label[256]; \
static int labelno; \
\
labelno++; \
\
ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); \
ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); \
ASM_OUTPUT_MEASURED_SIZE (FILE, (FNAME), label); \
} \
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \
} \
while (0)
#endif

View File

@ -207,14 +207,7 @@ do { \
#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \
do { \
if (!flag_inhibit_size_directive) \
{ \
char label[256]; \
static int labelno; \
labelno++; \
ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); \
ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); \
ASM_OUTPUT_MEASURED_SIZE (FILE, (FNAME), label); \
} \
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \
} while (0)
#define ASM_SPEC " %| %{fpic:-k} %{fPIC:-k}"

View File

@ -150,7 +150,7 @@ do { \
#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \
do { \
if (TARGET_ELF && !flag_inhibit_size_directive) \
ASM_OUTPUT_MEASURED_SIZE (FILE, (FNAME), "."); \
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \
} while (0)
#undef ASM_DECLARE_OBJECT_NAME

View File

@ -2139,14 +2139,7 @@ do { \
#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \
do { \
if (!flag_inhibit_size_directive) \
{ \
char label[256]; \
static int labelno; \
labelno++; \
ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); \
ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); \
ASM_OUTPUT_MEASURED_SIZE (FILE, (FNAME), label); \
} \
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \
} while (0)
/* A C statement (sans semicolon) to output to the stdio stream
STREAM any text necessary for declaring the size of a function

View File

@ -1866,18 +1866,8 @@ do { \
#undef ASM_DECLARE_FUNCTION_SIZE
#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \
do { \
if (DECLARE_ASM_NAME) \
{ \
if (!flag_inhibit_size_directive) \
{ \
char label[256]; \
static int labelno = 0; \
labelno++; \
ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); \
ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); \
ASM_OUTPUT_MEASURED_SIZE (FILE, (FNAME), label); \
} \
} \
if (DECLARE_ASM_NAME && !flag_inhibit_size_directive) \
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \
} while (0)
/* This is how to output the definition of a user-level label named NAME,

View File

@ -196,13 +196,6 @@ Boston, MA 02111-1307, USA. */
do \
{ \
if (!flag_inhibit_size_directive) \
{ \
char label[256]; \
static int labelno; \
labelno++; \
ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); \
ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); \
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME, label); \
} \
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \
} \
while (0)

View File

@ -212,10 +212,10 @@ Boston, MA 02111-1307, USA. */
#ifndef OBSD_HAS_DECLARE_FUNCTION_SIZE
/* Declare the size of a function. */
#undef ASM_DECLARE_FUNCTION_SIZE
#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \
do { \
if (!flag_inhibit_size_directive) \
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME, "."); \
#define ASM_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL) \
do { \
if (!flag_inhibit_size_directive) \
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \
} while (0)
#endif

View File

@ -112,16 +112,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
do \
{ \
if (!flag_inhibit_size_directive) \
{ \
char label[256]; \
static int labelno; \
\
labelno++; \
\
ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); \
ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); \
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME, label); \
} \
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \
XTENSA_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL); \
} \
while (0)

View File

@ -68,16 +68,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
do \
{ \
if (!flag_inhibit_size_directive) \
{ \
char label[256]; \
static int labelno; \
\
labelno++; \
\
ASM_GENERATE_INTERNAL_LABEL (label, "Lfe", labelno); \
ASM_OUTPUT_INTERNAL_LABEL (FILE, "Lfe", labelno); \
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME, label); \
} \
ASM_OUTPUT_MEASURED_SIZE (FILE, FNAME); \
XTENSA_DECLARE_FUNCTION_SIZE(FILE, FNAME, DECL); \
} \
while (0)

View File

@ -200,15 +200,13 @@ do { fputs (integer_asm_op (POINTER_SIZE / UNITS_PER_WORD, TRUE), FILE); \
} \
while (0)
#define ASM_OUTPUT_MEASURED_SIZE(STREAM, BEG, END) \
#define ASM_OUTPUT_MEASURED_SIZE(STREAM, NAME) \
do \
{ \
fputs (SIZE_ASM_OP, STREAM); \
assemble_name (STREAM, BEG); \
fputs (", ", STREAM); \
assemble_name (STREAM, END); \
putc ('-', STREAM); \
assemble_name (STREAM, BEG); \
assemble_name (STREAM, NAME); \
fputs (", .-", STREAM); \
assemble_name (STREAM, NAME); \
putc ('\n', STREAM); \
} \
while (0)

View File

@ -6421,12 +6421,18 @@ If you define @code{SIZE_ASM_OP}, a default definition of this macro is
provided.
@findex ASM_OUTPUT_MEASURED_SIZE
@item ASM_OUTPUT_MEASURED_SIZE (@var{stream}, @var{beg}, @var{end})
@item ASM_OUTPUT_MEASURED_SIZE (@var{stream}, @var{name})
A C statement (sans semicolon) to output to the stdio stream
@var{stream} a directive telling the assembler to calculate the size of
the symbol @var{beg} by subtracting its address from that of the symbol
@var{end}. If you define @code{SIZE_ASM_OP}, a default definition of
this macro is provided.
the symbol @var{name} by subtracting its address from the current
address.
If you define @code{SIZE_ASM_OP}, a default definition of this macro is
provided. The default assumes that the assembler recognizes a special
@samp{.} symbol as referring to the current address, and can calculate
the difference between this and another symbol. If your assembler does
not recognize @samp{.} or cannot do calculations with it, you will need
to redefine @code{ASM_OUTPUT_MEASURED_SIZE} to use some other technique.
@findex TYPE_ASM_OP
@item TYPE_ASM_OP