This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Get rid of ASM_SIZE_DIRECTIVE (another take)


Ping.

On Sat, Nov 03, 2012 at 07:18:15PM +0100, Marek Polacek wrote:
> So this is another shot on removing ASM_SIZE_DIRECTIVE.  Instead that
> I've used SIZE_EXPR, there was some discussion on how to actually
> name it better, see e.g.
> http://www.cygwin.com/ml/libc-alpha/2012-09/msg00481.html
> 
> Tested x86_64, ok for trunk?
> 
> 2012-11-03  Marek Polacek  <polacek@redhat.com>
> 
> 	[BZ #14414]
> 	* include/libc-symbols.h [__ASSEMBLER__] (SIZE_EXPR): Define macro.
> 	* sysdeps/s390/s390-32/sysdep.h (ASM_SIZE_DIRECTIVE): Remove macro.
> 	Replace ASM_SIZE_DIRECTIVE with SIZE_EXPR.
> 	* sysdeps/s390/s390-64/sysdep.h: Likewise.
> 	* sysdeps/i386/sysdep.h: Likewise.
> 	* sysdeps/sh/sysdep.h: Likewise.
> 	* sysdeps/x86_64/sysdep.h: Likewise.
> 	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
> 	(ASM_SIZE_DIRECTIVE): Remove macro.
> 	* sysdeps/powerpc/sysdep.h: Likewise.
> 	* sysdeps/s390/s390-32/s390-mcount.S: Replace ASM_SIZE_DIRECTIVE with
> 	SIZE_EXPR.
> 	* sysdeps/s390/s390-64/s390x-mcount.S: Likewise.
> 	* sysdeps/x86_64/fpu/s_sincosf.S
> 	* sysdeps/i386/i686/fpu/multiarch/s_sincosf-sse2.S
> 	* sysdeps/i386/fpu/e_powf.S: Likewise.
> 	* sysdeps/i386/fpu/e_expl.S: Likewise.
> 	* sysdeps/i386/fpu/e_atanhf.S: Likewise.
> 	* sysdeps/i386/fpu/e_acosh.S: Likewise.
> 	* sysdeps/i386/fpu/e_pow.S: Likewise.
> 	* sysdeps/i386/fpu/s_asinhl.S: Likewise.
> 	* sysdeps/i386/fpu/e_acoshl.S: Likewise.
> 	* sysdeps/i386/fpu/s_expm1.S: Likewise.
> 	* sysdeps/i386/fpu/s_frexpf.S: Likewise.
> 	* sysdeps/i386/fpu/e_log2.S: Likewise.
> 	* sysdeps/i386/fpu/e_log2l.S: Likewise.
> 	* sysdeps/i386/fpu/e_scalb.S: Likewise.
> 	* sysdeps/i386/fpu/e_powl.S: Likewise.
> 	* sysdeps/i386/fpu/e_log10f.S: Likewise.
> 	* sysdeps/i386/fpu/s_cbrtf.S: Likewise.
> 	* sysdeps/i386/fpu/e_logl.S: Likewise.
> 	* sysdeps/i386/fpu/s_cbrt.S: Likewise.
> 	* sysdeps/i386/fpu/s_frexpl.S: Likewise.
> 	* sysdeps/i386/fpu/s_expm1f.S: Likewise.
> 	* sysdeps/i386/fpu/e_log2f.S: Likewise.
> 	* sysdeps/i386/fpu/e_acoshf.S: Likewise.
> 	* sysdeps/i386/fpu/e_log.S: Likewise.
> 	* sysdeps/i386/fpu/e_scalbf.S: Likewise.
> 	* sysdeps/i386/fpu/e_logf.S: Likewise.
> 	* sysdeps/i386/fpu/e_log10l.S: Likewise.
> 	* sysdeps/i386/fpu/e_atanh.S: Likewise.
> 	* sysdeps/i386/fpu/s_asinhf.S: Likewise.
> 	* sysdeps/i386/fpu/e_log10.S: Likewise.
> 	* sysdeps/i386/fpu/s_frexp.S: Likewise.
> 	* sysdeps/i386/fpu/e_atanhl.S: Likewise.
> 	* sysdeps/i386/fpu/s_asinh.S: Likewise.
> 	* sysdeps/i386/fpu/s_cbrtl.S: Likewise.
> 	* sysdeps/i386/fpu/e_scalbl.S: Likewise.
> 	* sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S: Likewise.
> 	* sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S: Likewise.
> 	* sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S: Likewise.
> 	* sysdeps/i386/i686/fpu/e_logl.S: Likewise.
> 	* sysdeps/i386/i386-mcount.S: Likewise.
> 	* sysdeps/x86_64/fpu/e_expl.S: Likewise.
> 	* sysdeps/x86_64/fpu/e_log2l.S: Likewise.
> 	* sysdeps/x86_64/fpu/s_cosf.S: Likewise.
> 	* sysdeps/x86_64/fpu/e_powl.S: Likewise.
> 	* sysdeps/x86_64/fpu/s_sinf.S: Likewise.
> 	* sysdeps/x86_64/fpu/e_logl.S: Likewise.
> 	* sysdeps/x86_64/fpu/e_expf.S: Likewise.
> 	* sysdeps/x86_64/fpu/e_log10l.S: Likewise.
> 	* sysdeps/x86_64/fpu/s_copysignf.S: Likewise.
> 	* sysdeps/x86_64/fpu/s_copysign.S: Likewise.
> 	* sysdeps/x86_64/fpu/e_scalbl.S: Likewise.
> 	* sysdeps/x86_64/_mcount.S: Likewise.
> 	* sysdeps/sh/_mcount.S: Likewise.
> 	* sysdeps/powerpc/powerpc64/start.S: Likewise.
> 	* sysdeps/powerpc/powerpc32/start.S: Likewise.
> 	* sysdeps/powerpc/powerpc32/sysdep.h: Likewise.
> 
> diff --git a/include/libc-symbols.h b/include/libc-symbols.h
> index a626d59..fb1c5b5 100644
> --- a/include/libc-symbols.h
> +++ b/include/libc-symbols.h
> @@ -111,6 +111,8 @@
>  
>  #else /* __ASSEMBLER__ */
>  
> +# define SIZE_EXPR(name) .size name,.-name
> +
>  # ifdef HAVE_ASM_SET_DIRECTIVE
>  #  ifdef HAVE_ASM_GLOBAL_DOT_NAME
>  #   define strong_alias(original, alias)				\
> diff --git a/sysdeps/i386/fpu/e_acosh.S b/sysdeps/i386/fpu/e_acosh.S
> index 474f5c9..f52e347 100644
> --- a/sysdeps/i386/fpu/e_acosh.S
> +++ b/sysdeps/i386/fpu/e_acosh.S
> @@ -1,5 +1,5 @@
>  /* ix87 specific implementation of arcsinh.
> -   Copyright (C) 1996, 2005, 2011-2012 Free Software Foundation, Inc.
> +   Copyright (C) 1996-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
>  
> @@ -24,10 +24,10 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%edx)
> diff --git a/sysdeps/i386/fpu/e_acoshf.S b/sysdeps/i386/fpu/e_acoshf.S
> index 456fe46..da38076 100644
> --- a/sysdeps/i386/fpu/e_acoshf.S
> +++ b/sysdeps/i386/fpu/e_acoshf.S
> @@ -1,5 +1,5 @@
>  /* ix87 specific implementation of arcsinh.
> -   Copyright (C) 1996-1997, 2005, 2011-2012 Free Software Foundation, Inc.
> +   Copyright (C) 1996-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
>  
> @@ -24,10 +24,10 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%edx)
> diff --git a/sysdeps/i386/fpu/e_acoshl.S b/sysdeps/i386/fpu/e_acoshl.S
> index d9b3add..2b419f1 100644
> --- a/sysdeps/i386/fpu/e_acoshl.S
> +++ b/sysdeps/i386/fpu/e_acoshl.S
> @@ -1,5 +1,5 @@
>  /* ix87 specific implementation of arcsinh.
> -   Copyright (C) 1996-1997, 2005, 2011-2012 Free Software Foundation, Inc.
> +   Copyright (C) 1996-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
>  
> @@ -27,13 +27,13 @@
>  	   problems.  The advantage is that the code is simpler.  */
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	/* It is not important that this constant is precise.  It is only
>  	   a value which is known to be on the safe side for using the
>  	   fyl2xp1 instruction.  */
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%edx)
> diff --git a/sysdeps/i386/fpu/e_atanh.S b/sysdeps/i386/fpu/e_atanh.S
> index b8ae6ef..d86dd85 100644
> --- a/sysdeps/i386/fpu/e_atanh.S
> +++ b/sysdeps/i386/fpu/e_atanh.S
> @@ -1,5 +1,5 @@
>  /* ix87 specific implementation of arctanh function.
> -   Copyright (C) 1996, 1999, 2005, 2011-2012 Free Software Foundation, Inc.
> +   Copyright (C) 1996-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
>  
> @@ -24,16 +24,16 @@
>  	.align ALIGNARG(4)
>  	.type half,@object
>  half:	.double 0.5
> -	ASM_SIZE_DIRECTIVE(half)
> +	SIZE_EXPR(half)
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  	.type ln2_2,@object
>  ln2_2:	.tfloat 0.3465735902799726547086160
> -	ASM_SIZE_DIRECTIVE(ln2_2)
> +	SIZE_EXPR(ln2_2)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%edx)
> diff --git a/sysdeps/i386/fpu/e_atanhf.S b/sysdeps/i386/fpu/e_atanhf.S
> index c637485..f63cfe4 100644
> --- a/sysdeps/i386/fpu/e_atanhf.S
> +++ b/sysdeps/i386/fpu/e_atanhf.S
> @@ -1,5 +1,5 @@
>  /* ix87 specific implementation of arctanh function.
> -   Copyright (C) 1996, 1999, 2005, 2011-2012 Free Software Foundation, Inc.
> +   Copyright (C) 1996-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
>  
> @@ -24,17 +24,17 @@
>  	.align ALIGNARG(4)
>  	.type half,@object
>  half:	.double 0.5
> -	ASM_SIZE_DIRECTIVE(half)
> +	SIZE_EXPR(half)
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  	.align ALIGNARG(4)
>  	.type ln2_2,@object
>  ln2_2:	.tfloat 0.3465735902799726547086160
> -	ASM_SIZE_DIRECTIVE(ln2_2)
> +	SIZE_EXPR(ln2_2)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%edx)
> diff --git a/sysdeps/i386/fpu/e_atanhl.S b/sysdeps/i386/fpu/e_atanhl.S
> index 9e22e89..c1f6dc9 100644
> --- a/sysdeps/i386/fpu/e_atanhl.S
> +++ b/sysdeps/i386/fpu/e_atanhl.S
> @@ -1,5 +1,5 @@
>  /* ix87 specific implementation of arctanh function.
> -   Copyright (C) 1996, 1999, 2011-2012 Free Software Foundation, Inc.
> +   Copyright (C) 1996-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
>  
> @@ -27,20 +27,20 @@
>  	   problems.  The advantage is that the code is simpler.  */
>  	.type half,@object
>  half:	.double 0.5
> -	ASM_SIZE_DIRECTIVE(half)
> +	SIZE_EXPR(half)
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	/* It is not important that this constant is precise.  It is only
>  	   a value which is known to be on the safe side for using the
>  	   fyl2xp1 instruction.  */
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  	.align ALIGNARG(4)
>  	.type ln2_2,@object
>  ln2_2:	.tfloat 0.3465735902799726547086160
> -	ASM_SIZE_DIRECTIVE(ln2_2)
> +	SIZE_EXPR(ln2_2)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%edx)
> diff --git a/sysdeps/i386/fpu/e_expl.S b/sysdeps/i386/fpu/e_expl.S
> index af339f0..966aef6 100644
> --- a/sysdeps/i386/fpu/e_expl.S
> +++ b/sysdeps/i386/fpu/e_expl.S
> @@ -45,26 +45,26 @@
>  	.type c0,@object
>  c0:	.byte 0, 0, 0, 0, 0, 0, 0x9a, 0xd4, 0x00, 0x40
>  	.byte 0, 0, 0, 0, 0, 0
> -	ASM_SIZE_DIRECTIVE(c0)
> +	SIZE_EXPR(c0)
>  	.type c1,@object
>  c1:	.byte 0x58, 0x92, 0xfc, 0x15, 0x37, 0x9a, 0x97, 0xf0, 0xef, 0x3f
>  	.byte 0, 0, 0, 0, 0, 0
> -	ASM_SIZE_DIRECTIVE(c1)
> +	SIZE_EXPR(c1)
>  #else
>  	.type c0,@object
>  c0:	.byte 0, 0, 0, 0, 0, 0, 0xaa, 0xb8, 0xff, 0x3f
>  	.byte 0, 0, 0, 0, 0, 0
> -	ASM_SIZE_DIRECTIVE(c0)
> +	SIZE_EXPR(c0)
>  	.type c1,@object
>  c1:	.byte 0x20, 0xfa, 0xee, 0xc2, 0x5f, 0x70, 0xa5, 0xec, 0xed, 0x3f
>  	.byte 0, 0, 0, 0, 0, 0
> -	ASM_SIZE_DIRECTIVE(c1)
> +	SIZE_EXPR(c1)
>  #endif
>  #ifndef USE_AS_EXPM1L
>  	.type csat,@object
>  csat:	.byte 0, 0, 0, 0, 0, 0, 0, 0x80, 0x0e, 0x40
>  	.byte 0, 0, 0, 0, 0, 0
> -	ASM_SIZE_DIRECTIVE(csat)
> +	SIZE_EXPR(csat)
>  #endif
>  
>  #ifdef PIC
> diff --git a/sysdeps/i386/fpu/e_log.S b/sysdeps/i386/fpu/e_log.S
> index 0877924..a040d62 100644
> --- a/sysdeps/i386/fpu/e_log.S
> +++ b/sysdeps/i386/fpu/e_log.S
> @@ -12,13 +12,13 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	/* It is not important that this constant is precise.  It is only
>  	   a value which is known to be on the safe side for using the
>  	   fyl2xp1 instruction.  */
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/i386/fpu/e_log10.S b/sysdeps/i386/fpu/e_log10.S
> index ce6a81a..932d8b6 100644
> --- a/sysdeps/i386/fpu/e_log10.S
> +++ b/sysdeps/i386/fpu/e_log10.S
> @@ -12,13 +12,13 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	/* It is not important that this constant is precise.  It is only
>  	   a value which is known to be on the safe side for using the
>  	   fyl2xp1 instruction.  */
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/i386/fpu/e_log10f.S b/sysdeps/i386/fpu/e_log10f.S
> index 8c20723..6d07e5c 100644
> --- a/sysdeps/i386/fpu/e_log10f.S
> +++ b/sysdeps/i386/fpu/e_log10f.S
> @@ -13,13 +13,13 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	/* It is not important that this constant is precise.  It is only
>  	   a value which is known to be on the safe side for using the
>  	   fyl2xp1 instruction.  */
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/i386/fpu/e_log10l.S b/sysdeps/i386/fpu/e_log10l.S
> index cde987b..109570e 100644
> --- a/sysdeps/i386/fpu/e_log10l.S
> +++ b/sysdeps/i386/fpu/e_log10l.S
> @@ -14,13 +14,13 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	/* It is not important that this constant is precise.  It is only
>  	   a value which is known to be on the safe side for using the
>  	   fyl2xp1 instruction.  */
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/i386/fpu/e_log2.S b/sysdeps/i386/fpu/e_log2.S
> index a202bc7..ea5d81b 100644
> --- a/sysdeps/i386/fpu/e_log2.S
> +++ b/sysdeps/i386/fpu/e_log2.S
> @@ -13,13 +13,13 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	/* It is not important that this constant is precise.  It is only
>  	   a value which is known to be on the safe side for using the
>  	   fyl2xp1 instruction.  */
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/i386/fpu/e_log2f.S b/sysdeps/i386/fpu/e_log2f.S
> index f4f9a8c..315800e 100644
> --- a/sysdeps/i386/fpu/e_log2f.S
> +++ b/sysdeps/i386/fpu/e_log2f.S
> @@ -13,13 +13,13 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	/* It is not important that this constant is precise.  It is only
>  	   a value which is known to be on the safe side for using the
>  	   fyl2xp1 instruction.  */
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/i386/fpu/e_log2l.S b/sysdeps/i386/fpu/e_log2l.S
> index bd51b56..8ecc4c9 100644
> --- a/sysdeps/i386/fpu/e_log2l.S
> +++ b/sysdeps/i386/fpu/e_log2l.S
> @@ -13,13 +13,13 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	/* It is not important that this constant is precise.  It is only
>  	   a value which is known to be on the safe side for using the
>  	   fyl2xp1 instruction.  */
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/i386/fpu/e_logf.S b/sysdeps/i386/fpu/e_logf.S
> index 485180e..f505d77 100644
> --- a/sysdeps/i386/fpu/e_logf.S
> +++ b/sysdeps/i386/fpu/e_logf.S
> @@ -13,13 +13,13 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	/* It is not important that this constant is precise.  It is only
>  	   a value which is known to be on the safe side for using the
>  	   fyl2xp1 instruction.  */
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/i386/fpu/e_logl.S b/sysdeps/i386/fpu/e_logl.S
> index d7a459a..58f267e 100644
> --- a/sysdeps/i386/fpu/e_logl.S
> +++ b/sysdeps/i386/fpu/e_logl.S
> @@ -13,13 +13,13 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	/* It is not important that this constant is precise.  It is only
>  	   a value which is known to be on the safe side for using the
>  	   fyl2xp1 instruction.  */
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/i386/fpu/e_pow.S b/sysdeps/i386/fpu/e_pow.S
> index de85022..92d9bcf 100644
> --- a/sysdeps/i386/fpu/e_pow.S
> +++ b/sysdeps/i386/fpu/e_pow.S
> @@ -1,6 +1,5 @@
>  /* ix87 specific implementation of pow function.
> -   Copyright (C) 1996-1999, 2001, 2004-2005, 2007, 2011-2012
> -   Free Software Foundation, Inc.
> +   Copyright (C) 1996-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
>  
> @@ -25,16 +24,16 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  	.type p63,@object
>  p63:	.byte 0, 0, 0, 0, 0, 0, 0xe0, 0x43
> -	ASM_SIZE_DIRECTIVE(p63)
> +	SIZE_EXPR(p63)
>  	.type p10,@object
>  p10:	.byte 0, 0, 0, 0, 0, 0, 0x90, 0x40
> -	ASM_SIZE_DIRECTIVE(p10)
> +	SIZE_EXPR(p10)
>  
>  	.section .rodata.cst16,"aM",@progbits,16
>  
> @@ -43,17 +42,17 @@ p10:	.byte 0, 0, 0, 0, 0, 0, 0x90, 0x40
>  inf_zero:
>  infinity:
>  	.byte 0, 0, 0, 0, 0, 0, 0xf0, 0x7f
> -	ASM_SIZE_DIRECTIVE(infinity)
> +	SIZE_EXPR(infinity)
>  	.type zero,@object
>  zero:	.double 0.0
> -	ASM_SIZE_DIRECTIVE(zero)
> +	SIZE_EXPR(zero)
>  	.type minf_mzero,@object
>  minf_mzero:
>  minfinity:
>  	.byte 0, 0, 0, 0, 0, 0, 0xf0, 0xff
>  mzero:
>  	.byte 0, 0, 0, 0, 0, 0, 0, 0x80
> -	ASM_SIZE_DIRECTIVE(minf_mzero)
> +	SIZE_EXPR(minf_mzero)
>  
>  #ifdef PIC
>  # define MO(op) op##@GOTOFF(%ecx)
> diff --git a/sysdeps/i386/fpu/e_powf.S b/sysdeps/i386/fpu/e_powf.S
> index 4c622fc..8866a99 100644
> --- a/sysdeps/i386/fpu/e_powf.S
> +++ b/sysdeps/i386/fpu/e_powf.S
> @@ -1,6 +1,5 @@
>  /* ix87 specific implementation of pow function.
> -   Copyright (C) 1996-1997, 1999, 2001, 2004, 2005, 2007, 2011-2012
> -   Free Software Foundation, Inc.
> +   Copyright (C) 1996-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
>  
> @@ -25,13 +24,13 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  	.type p31,@object
>  p31:	.byte 0, 0, 0, 0, 0, 0, 0xe0, 0x41
> -	ASM_SIZE_DIRECTIVE(p31)
> +	SIZE_EXPR(p31)
>  
>  	.section .rodata.cst16,"aM",@progbits,16
>  
> @@ -40,17 +39,17 @@ p31:	.byte 0, 0, 0, 0, 0, 0, 0xe0, 0x41
>  inf_zero:
>  infinity:
>  	.byte 0, 0, 0, 0, 0, 0, 0xf0, 0x7f
> -	ASM_SIZE_DIRECTIVE(infinity)
> +	SIZE_EXPR(infinity)
>  	.type zero,@object
>  zero:	.double 0.0
> -	ASM_SIZE_DIRECTIVE(zero)
> +	SIZE_EXPR(zero)
>  	.type minf_mzero,@object
>  minf_mzero:
>  minfinity:
>  	.byte 0, 0, 0, 0, 0, 0, 0xf0, 0xff
>  mzero:
>  	.byte 0, 0, 0, 0, 0, 0, 0, 0x80
> -	ASM_SIZE_DIRECTIVE(minf_mzero)
> +	SIZE_EXPR(minf_mzero)
>  
>  #ifdef PIC
>  # define MO(op) op##@GOTOFF(%ecx)
> diff --git a/sysdeps/i386/fpu/e_powl.S b/sysdeps/i386/fpu/e_powl.S
> index 933418c..2253af6 100644
> --- a/sysdeps/i386/fpu/e_powl.S
> +++ b/sysdeps/i386/fpu/e_powl.S
> @@ -1,6 +1,5 @@
>  /* ix87 specific implementation of pow function.
> -   Copyright (C) 1996-1999, 2001, 2004-2005, 2007, 2011-2012
> -   Free Software Foundation, Inc.
> +   Copyright (C) 1996-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
>  
> @@ -25,19 +24,19 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  	.type p63,@object
>  p63:	.byte 0, 0, 0, 0, 0, 0, 0xe0, 0x43
> -	ASM_SIZE_DIRECTIVE(p63)
> +	SIZE_EXPR(p63)
>  	.type p64,@object
>  p64:	.byte 0, 0, 0, 0, 0, 0, 0xf0, 0x43
> -	ASM_SIZE_DIRECTIVE(p64)
> +	SIZE_EXPR(p64)
>  	.type p78,@object
>  p78:	.byte 0, 0, 0, 0, 0, 0, 0xd0, 0x44
> -	ASM_SIZE_DIRECTIVE(p78)
> +	SIZE_EXPR(p78)
>  
>  	.section .rodata.cst16,"aM",@progbits,16
>  
> @@ -46,17 +45,17 @@ p78:	.byte 0, 0, 0, 0, 0, 0, 0xd0, 0x44
>  inf_zero:
>  infinity:
>  	.byte 0, 0, 0, 0, 0, 0, 0xf0, 0x7f
> -	ASM_SIZE_DIRECTIVE(infinity)
> +	SIZE_EXPR(infinity)
>  	.type zero,@object
>  zero:	.double 0.0
> -	ASM_SIZE_DIRECTIVE(zero)
> +	SIZE_EXPR(zero)
>  	.type minf_mzero,@object
>  minf_mzero:
>  minfinity:
>  	.byte 0, 0, 0, 0, 0, 0, 0xf0, 0xff
>  mzero:
>  	.byte 0, 0, 0, 0, 0, 0, 0, 0x80
> -	ASM_SIZE_DIRECTIVE(minf_mzero)
> +	SIZE_EXPR(minf_mzero)
>  
>  #ifdef PIC
>  # define MO(op) op##@GOTOFF(%ecx)
> diff --git a/sysdeps/i386/fpu/e_scalb.S b/sysdeps/i386/fpu/e_scalb.S
> index 20d489e..10200d0 100644
> --- a/sysdeps/i386/fpu/e_scalb.S
> +++ b/sysdeps/i386/fpu/e_scalb.S
> @@ -16,7 +16,7 @@ zero_nan:
>  nan:	.byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f
>  	.byte 0, 0, 0, 0, 0, 0, 0, 0x80
>  	.byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f
> -	ASM_SIZE_DIRECTIVE(zero_nan)
> +	SIZE_EXPR(zero_nan)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/i386/fpu/e_scalbf.S b/sysdeps/i386/fpu/e_scalbf.S
> index b6dd021..b381c4f 100644
> --- a/sysdeps/i386/fpu/e_scalbf.S
> +++ b/sysdeps/i386/fpu/e_scalbf.S
> @@ -17,7 +17,7 @@ zero_nan:
>  nan:	.byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f
>  	.byte 0, 0, 0, 0, 0, 0, 0, 0x80
>  	.byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f
> -	ASM_SIZE_DIRECTIVE(zero_nan)
> +	SIZE_EXPR(zero_nan)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/i386/fpu/e_scalbl.S b/sysdeps/i386/fpu/e_scalbl.S
> index 83f17b2..33e60c6 100644
> --- a/sysdeps/i386/fpu/e_scalbl.S
> +++ b/sysdeps/i386/fpu/e_scalbl.S
> @@ -18,7 +18,7 @@ zero_nan:
>  nan:	.byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f
>  	.byte 0, 0, 0, 0, 0, 0, 0, 0x80
>  	.byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f
> -	ASM_SIZE_DIRECTIVE(zero_nan)
> +	SIZE_EXPR(zero_nan)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/i386/fpu/s_asinh.S b/sysdeps/i386/fpu/s_asinh.S
> index 8bdcfcc..124721c 100644
> --- a/sysdeps/i386/fpu/s_asinh.S
> +++ b/sysdeps/i386/fpu/s_asinh.S
> @@ -1,5 +1,5 @@
>  /* ix87 specific implementation of arcsinh.
> -   Copyright (C) 1996-1997, 2005, 2012 Free Software Foundation, Inc.
> +   Copyright (C) 1996-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
>  
> @@ -24,13 +24,13 @@
>  	.align ALIGNARG(4)
>  	.type huge,@object
>  huge:	.double 1e+300
> -	ASM_SIZE_DIRECTIVE(huge)
> +	SIZE_EXPR(huge)
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%edx)
> diff --git a/sysdeps/i386/fpu/s_asinhf.S b/sysdeps/i386/fpu/s_asinhf.S
> index 86a49a3..ee1a350 100644
> --- a/sysdeps/i386/fpu/s_asinhf.S
> +++ b/sysdeps/i386/fpu/s_asinhf.S
> @@ -1,5 +1,5 @@
>  /* ix87 specific implementation of arcsinh.
> -   Copyright (C) 1996-1997, 1999, 2005, 2012 Free Software Foundation, Inc.
> +   Copyright (C) 1996-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
>  
> @@ -24,13 +24,13 @@
>  	.align ALIGNARG(4)
>  	.type huge,@object
>  huge:	.double 1e+36
> -	ASM_SIZE_DIRECTIVE(huge)
> +	SIZE_EXPR(huge)
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%edx)
> diff --git a/sysdeps/i386/fpu/s_asinhl.S b/sysdeps/i386/fpu/s_asinhl.S
> index 4ec5c10..b190ed9 100644
> --- a/sysdeps/i386/fpu/s_asinhl.S
> +++ b/sysdeps/i386/fpu/s_asinhl.S
> @@ -1,5 +1,5 @@
>  /* ix87 specific implementation of arcsinh.
> -   Copyright (C) 1996-1997, 2005, 2012 Free Software Foundation, Inc.
> +   Copyright (C) 1996-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
>  
> @@ -24,20 +24,20 @@
>  	.align ALIGNARG(4)
>  	.type huge,@object
>  huge:	.tfloat 1e+4930
> -	ASM_SIZE_DIRECTIVE(huge)
> +	SIZE_EXPR(huge)
>  	.align ALIGNARG(4)
>  	/* Please note that we use double value for 1.0.  This number
>  	   has an exact representation and so we don't get accuracy
>  	   problems.  The advantage is that the code is simpler.  */
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	/* It is not important that this constant is precise.  It is only
>  	   a value which is known to be on the safe side for using the
>  	   fyl2xp1 instruction.  */
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%edx)
> diff --git a/sysdeps/i386/fpu/s_cbrt.S b/sysdeps/i386/fpu/s_cbrt.S
> index aca0b5a..a00179f 100644
> --- a/sysdeps/i386/fpu/s_cbrt.S
> +++ b/sysdeps/i386/fpu/s_cbrt.S
> @@ -1,5 +1,5 @@
>  /* Compute cubic root of double value.
> -   Copyright (C) 1997, 2005, 2012 Free Software Foundation, Inc.
> +   Copyright (C) 1997-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Dirk Alboth <dirka@uni-paderborn.de> and
>     Ulrich Drepper <drepper@cygnus.com>, 1997.
> @@ -25,25 +25,25 @@
>          .align ALIGNARG(4)
>          .type f7,@object
>  f7:	.double -0.145263899385486377
> -	ASM_SIZE_DIRECTIVE(f7)
> +	SIZE_EXPR(f7)
>          .type f6,@object
>  f6:	.double 0.784932344976639262
> -	ASM_SIZE_DIRECTIVE(f6)
> +	SIZE_EXPR(f6)
>          .type f5,@object
>  f5:	.double -1.83469277483613086
> -	ASM_SIZE_DIRECTIVE(f5)
> +	SIZE_EXPR(f5)
>          .type f4,@object
>  f4:	.double 2.44693122563534430
> -	ASM_SIZE_DIRECTIVE(f4)
> +	SIZE_EXPR(f4)
>          .type f3,@object
>  f3:	.double -2.11499494167371287
> -	ASM_SIZE_DIRECTIVE(f3)
> +	SIZE_EXPR(f3)
>          .type f2,@object
>  f2:	.double 1.50819193781584896
> -	ASM_SIZE_DIRECTIVE(f2)
> +	SIZE_EXPR(f2)
>          .type f1,@object
>  f1:	.double 0.354895765043919860
> -	ASM_SIZE_DIRECTIVE(f1)
> +	SIZE_EXPR(f1)
>  
>  #define CBRT2		1.2599210498948731648
>  #define ONE_CBRT2	0.793700525984099737355196796584
> @@ -56,11 +56,11 @@ factor:	.double ONE_SQR_CBRT2
>  	.double 1.0
>  	.double CBRT2
>  	.double SQR_CBRT2
> -	ASM_SIZE_DIRECTIVE(factor)
> +	SIZE_EXPR(factor)
>  
>          .type two54,@object
>  two54:  .byte 0, 0, 0, 0, 0, 0, 0x50, 0x43
> -        ASM_SIZE_DIRECTIVE(two54)
> +        SIZE_EXPR(two54)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%ebx)
> diff --git a/sysdeps/i386/fpu/s_cbrtf.S b/sysdeps/i386/fpu/s_cbrtf.S
> index c3ba2fa..3fb3478 100644
> --- a/sysdeps/i386/fpu/s_cbrtf.S
> +++ b/sysdeps/i386/fpu/s_cbrtf.S
> @@ -1,5 +1,5 @@
>  /* Compute cubic root of float value.
> -   Copyright (C) 1997, 2005, 2012 Free Software Foundation, Inc.
> +   Copyright (C) 1997-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Dirk Alboth <dirka@uni-paderborn.de> and
>     Ulrich Drepper <drepper@cygnus.com>, 1997.
> @@ -25,13 +25,13 @@
>          .align ALIGNARG(4)
>          .type f3,@object
>  f3:	.double 0.191502161678719066
> -        ASM_SIZE_DIRECTIVE(f3)
> +        SIZE_EXPR(f3)
>          .type f2,@object
>  f2:	.double 0.697570460207922770
> -        ASM_SIZE_DIRECTIVE(f2)
> +        SIZE_EXPR(f2)
>          .type f1,@object
>  f1:	.double 0.492659620528969547
> -        ASM_SIZE_DIRECTIVE(f1)
> +        SIZE_EXPR(f1)
>  
>  #define CBRT2		1.2599210498948731648
>  #define ONE_CBRT2	0.793700525984099737355196796584
> @@ -45,11 +45,11 @@ factor:	.double ONE_SQR_CBRT2
>  	.double 1.0
>  	.double CBRT2
>  	.double SQR_CBRT2
> -	ASM_SIZE_DIRECTIVE(factor)
> +	SIZE_EXPR(factor)
>  
>          .type two25,@object
>  two25:	.byte 0, 0, 0, 0x4c
> -        ASM_SIZE_DIRECTIVE(two25)
> +        SIZE_EXPR(two25)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%ebx)
> diff --git a/sysdeps/i386/fpu/s_cbrtl.S b/sysdeps/i386/fpu/s_cbrtl.S
> index 8b50ba4..9ffaa8e 100644
> --- a/sysdeps/i386/fpu/s_cbrtl.S
> +++ b/sysdeps/i386/fpu/s_cbrtl.S
> @@ -1,5 +1,5 @@
>  /* Compute cubic root of long double value.
> -   Copyright (C) 1997, 2005, 2012 Free Software Foundation, Inc.
> +   Copyright (C) 1997-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Dirk Alboth <dirka@uni-paderborn.de> and
>     Ulrich Drepper <drepper@cygnus.com>, 1997.
> @@ -25,35 +25,35 @@
>          .align ALIGNARG(4)
>          .type f8,@object
>  f8:	.tfloat 0.161617097923756032
> -	ASM_SIZE_DIRECTIVE(f8)
> +	SIZE_EXPR(f8)
>          .align ALIGNARG(4)
>          .type f7,@object
>  f7:	.tfloat -0.988553671195413709
> -	ASM_SIZE_DIRECTIVE(f7)
> +	SIZE_EXPR(f7)
>          .align ALIGNARG(4)
>          .type f6,@object
>  f6:	.tfloat 2.65298938441952296
> -	ASM_SIZE_DIRECTIVE(f6)
> +	SIZE_EXPR(f6)
>          .align ALIGNARG(4)
>          .type f5,@object
>  f5:	.tfloat -4.11151425200350531
> -	ASM_SIZE_DIRECTIVE(f5)
> +	SIZE_EXPR(f5)
>          .align ALIGNARG(4)
>          .type f4,@object
>  f4:	.tfloat 4.09559907378707839
> -	ASM_SIZE_DIRECTIVE(f4)
> +	SIZE_EXPR(f4)
>          .align ALIGNARG(4)
>          .type f3,@object
>  f3:	.tfloat -2.82414939754975962
> -	ASM_SIZE_DIRECTIVE(f3)
> +	SIZE_EXPR(f3)
>          .align ALIGNARG(4)
>          .type f2,@object
>  f2:	.tfloat 1.67595307700780102
> -	ASM_SIZE_DIRECTIVE(f2)
> +	SIZE_EXPR(f2)
>          .align ALIGNARG(4)
>          .type f1,@object
>  f1:	.tfloat 0.338058687610520237
> -	ASM_SIZE_DIRECTIVE(f1)
> +	SIZE_EXPR(f1)
>  
>  #define CBRT2		1.2599210498948731648
>  #define ONE_CBRT2	0.793700525984099737355196796584
> @@ -73,12 +73,12 @@ factor:	.tfloat ONE_SQR_CBRT2
>  	.tfloat CBRT2
>  	.byte 0, 0, 0, 0, 0, 0
>  	.tfloat SQR_CBRT2
> -	ASM_SIZE_DIRECTIVE(factor)
> +	SIZE_EXPR(factor)
>  
>          .type two64,@object
>          .align ALIGNARG(4)
>  two64:  .byte 0, 0, 0, 0, 0, 0, 0xf0, 0x43
> -        ASM_SIZE_DIRECTIVE(two64)
> +        SIZE_EXPR(two64)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%ebx)
> diff --git a/sysdeps/i386/fpu/s_expm1.S b/sysdeps/i386/fpu/s_expm1.S
> index 2aad34c..58f6205 100644
> --- a/sysdeps/i386/fpu/s_expm1.S
> +++ b/sysdeps/i386/fpu/s_expm1.S
> @@ -1,5 +1,5 @@
>  /* ix87 specific implementation of exp(x)-1.
> -   Copyright (C) 1996-1997, 2005, 2012 Free Software Foundation, Inc.
> +   Copyright (C) 1996-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
>     Based on code by John C. Bowman <bowman@ipp-garching.mpg.de>.
> @@ -29,13 +29,13 @@
>  	.align ALIGNARG(4)
>  	.type minus1,@object
>  minus1:	.double -1.0
> -	ASM_SIZE_DIRECTIVE(minus1)
> +	SIZE_EXPR(minus1)
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	.type l2e,@object
>  l2e:	.tfloat 1.442695040888963407359924681002
> -	ASM_SIZE_DIRECTIVE(l2e)
> +	SIZE_EXPR(l2e)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%edx)
> diff --git a/sysdeps/i386/fpu/s_expm1f.S b/sysdeps/i386/fpu/s_expm1f.S
> index b039049..b50adbf 100644
> --- a/sysdeps/i386/fpu/s_expm1f.S
> +++ b/sysdeps/i386/fpu/s_expm1f.S
> @@ -1,5 +1,5 @@
>  /* ix87 specific implementation of exp(x)-1.
> -   Copyright (C) 1996-1997, 2005, 2012 Free Software Foundation, Inc.
> +   Copyright (C) 1996-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
>     Based on code by John C. Bowman <bowman@ipp-garching.mpg.de>.
> @@ -29,13 +29,13 @@
>  	.align ALIGNARG(4)
>  	.type minus1,@object
>  minus1:	.double -1.0
> -	ASM_SIZE_DIRECTIVE(minus1)
> +	SIZE_EXPR(minus1)
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	.type l2e,@object
>  l2e:	.tfloat 1.442695040888963407359924681002
> -	ASM_SIZE_DIRECTIVE(l2e)
> +	SIZE_EXPR(l2e)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%edx)
> diff --git a/sysdeps/i386/fpu/s_frexp.S b/sysdeps/i386/fpu/s_frexp.S
> index e76732d..e5269be 100644
> --- a/sysdeps/i386/fpu/s_frexp.S
> +++ b/sysdeps/i386/fpu/s_frexp.S
> @@ -1,5 +1,5 @@
>  /* ix87 specific frexp implementation for double.
> -   Copyright (C) 1997, 2000, 2005, 2012 Free Software Foundation, Inc.
> +   Copyright (C) 1997-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
>  
> @@ -26,7 +26,7 @@
>  	.align ALIGNARG(4)
>  	.type two54,@object
>  two54:	.byte 0, 0, 0, 0, 0, 0, 0x50, 0x43
> -	ASM_SIZE_DIRECTIVE(two54)
> +	SIZE_EXPR(two54)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%edx)
> diff --git a/sysdeps/i386/fpu/s_frexpf.S b/sysdeps/i386/fpu/s_frexpf.S
> index af0dc8e..d0fe146 100644
> --- a/sysdeps/i386/fpu/s_frexpf.S
> +++ b/sysdeps/i386/fpu/s_frexpf.S
> @@ -1,5 +1,5 @@
>  /* ix87 specific frexp implementation for float.
> -   Copyright (C) 1997, 2000, 2005, 2012 Free Software Foundation, Inc.
> +   Copyright (C) 1997-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
>  
> @@ -26,7 +26,7 @@
>  	.align ALIGNARG(4)
>  	.type two25,@object
>  two25:	.byte 0, 0, 0, 0x4c
> -	ASM_SIZE_DIRECTIVE(two25)
> +	SIZE_EXPR(two25)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%edx)
> diff --git a/sysdeps/i386/fpu/s_frexpl.S b/sysdeps/i386/fpu/s_frexpl.S
> index 6f464a8..5236fcb 100644
> --- a/sysdeps/i386/fpu/s_frexpl.S
> +++ b/sysdeps/i386/fpu/s_frexpl.S
> @@ -1,5 +1,5 @@
>  /* ix87 specific frexp implementation for long double.
> -   Copyright (C) 1997, 2000-2001, 2005, 2012 Free Software Foundation, Inc.
> +   Copyright (C) 1997-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
>  
> @@ -26,7 +26,7 @@
>  	.align ALIGNARG(4)
>  	.type two64,@object
>  two64:	.byte 0, 0, 0, 0, 0, 0, 0xf0, 0x43
> -	ASM_SIZE_DIRECTIVE(two64)
> +	SIZE_EXPR(two64)
>  
>  #ifdef PIC
>  #define MO(op) op##@GOTOFF(%edx)
> diff --git a/sysdeps/i386/i386-mcount.S b/sysdeps/i386/i386-mcount.S
> index dfe19a2..f8c8210 100644
> --- a/sysdeps/i386/i386-mcount.S
> +++ b/sysdeps/i386/i386-mcount.S
> @@ -48,7 +48,7 @@ C_LABEL(_mcount)
>  	popl %ecx
>  	popl %eax
>  	ret
> -	ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(_mcount))
> +	SIZE_EXPR(C_SYMBOL_NAME(_mcount))
>  
>  #undef mcount
>  weak_alias (_mcount, mcount)
> @@ -76,4 +76,4 @@ C_LABEL(__fentry__)
>  	popl %ecx
>  	popl %eax
>  	ret
> -	ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(__fentry__))
> +	SIZE_EXPR(C_SYMBOL_NAME(__fentry__))
> diff --git a/sysdeps/i386/i686/fpu/e_logl.S b/sysdeps/i386/i686/fpu/e_logl.S
> index 8a86222..2dba5b6 100644
> --- a/sysdeps/i386/i686/fpu/e_logl.S
> +++ b/sysdeps/i386/i686/fpu/e_logl.S
> @@ -14,13 +14,13 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	/* It is not important that this constant is precise.  It is only
>  	   a value which is known to be on the safe side for using the
>  	   fyl2xp1 instruction.  */
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S b/sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S
> index 111838a..3b63c69 100644
> --- a/sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S
> +++ b/sysdeps/i386/i686/fpu/multiarch/e_expf-sse2.S
> @@ -244,81 +244,81 @@ L(DP_T): /* table of double precision values 2^(j/K) for j=[0..K-1] */
>  	.long	0x5b6e4540, 0x3fff5076
>  	.long	0x819e90d8, 0x3fffa7c1
>  	.type L(DP_T), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_T))
> +	SIZE_EXPR(L(DP_T))
>  
>  	.section .rodata.cst8,"aM",@progbits,8
>  	.p2align 3
>  L(DP_KLN2): /* double precision K/log(2) */
>  	.long	0x652b82fe, 0x40571547
>  	.type L(DP_KLN2), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_KLN2))
> +	SIZE_EXPR(L(DP_KLN2))
>  
>  	.p2align 3
>  L(DP_NLN2K): /* double precision -log(2)/K */
>  	.long	0xfefa39ef, 0xbf862e42
>  	.type L(DP_NLN2K), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_NLN2K))
> +	SIZE_EXPR(L(DP_NLN2K))
>  
>  	.p2align 3
>  L(DP_RS): /* double precision 2^23+2^22 */
>  	.long	0x00000000, 0x41680000
>  	.type L(DP_RS), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_RS))
> +	SIZE_EXPR(L(DP_RS))
>  
>  	.p2align 3
>  L(DP_P3): /* double precision polynomial coefficient P3 */
>  	.long	0xeb78fa85, 0x3fa56420
>  	.type L(DP_P3), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_P3))
> +	SIZE_EXPR(L(DP_P3))
>  
>  	.p2align 3
>  L(DP_P1): /* double precision polynomial coefficient P1 */
>  	.long	0x008d6118, 0x3fe00000
>  	.type L(DP_P1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_P1))
> +	SIZE_EXPR(L(DP_P1))
>  
>  	.p2align 3
>  L(DP_P2): /* double precision polynomial coefficient P2 */
>  	.long	0xda752d4f, 0x3fc55550
>  	.type L(DP_P2), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_P2))
> +	SIZE_EXPR(L(DP_P2))
>  
>  	.p2align 3
>  L(DP_P0): /* double precision polynomial coefficient P0 */
>  	.long	0xffffe7c6, 0x3fefffff
>  	.type L(DP_P0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_P0))
> +	SIZE_EXPR(L(DP_P0))
>  
>  	.p2align 2
>  L(SP_INF_0):
>  	.long	0x7f800000	/* single precision Inf */
>  	.long	0		/* single precision zero */
>  	.type L(SP_INF_0), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_INF_0))
> +	SIZE_EXPR(L(SP_INF_0))
>  
>  	.section .rodata.cst4,"aM",@progbits,4
>  	.p2align 2
>  L(SP_RS): /* single precision 2^23+2^22 */
>  	.long	0x4b400000
>  	.type L(SP_RS), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_RS))
> +	SIZE_EXPR(L(SP_RS))
>  
>  	.p2align 2
>  L(SP_SMALL): /* single precision small value 2^(-100) */
>  	.long	0x0d800000
>  	.type L(SP_SMALL), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_SMALL))
> +	SIZE_EXPR(L(SP_SMALL))
>  
>  	.p2align 2
>  L(SP_LARGE): /* single precision large value 2^100 */
>  	.long	0x71800000
>  	.type L(SP_LARGE), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_LARGE))
> +	SIZE_EXPR(L(SP_LARGE))
>  
>  	.p2align 2
>  L(SP_ONE): /* single precision 1.0 */
>  	.long	0x3f800000
>  	.type L(SP_ONE), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_ONE))
> +	SIZE_EXPR(L(SP_ONE))
>  
>  strong_alias (__ieee754_expf_sse2, __expf_finite_sse2)
> diff --git a/sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S b/sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S
> index 405c6ea..7967eb5 100644
> --- a/sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S
> +++ b/sysdeps/i386/i686/fpu/multiarch/s_cosf-sse2.S
> @@ -363,7 +363,7 @@ L(PIO4J): /* Table of j*Pi/4, for j=0,1,..,10 */
>  	.long	0xbeccb2bb,0x401c463a
>  	.long	0x2955385e,0x401f6a7a
>  	.type L(PIO4J), @object
> -	ASM_SIZE_DIRECTIVE(L(PIO4J))
> +	SIZE_EXPR(L(PIO4J))
>  
>  	.p2align 3
>  L(_FPI): /* 4/Pi broken into sum of positive DP values */
> @@ -393,7 +393,7 @@ L(_FPI): /* 4/Pi broken into sum of positive DP values */
>  	.long	0x24000000,0x1964ce7d
>  	.long	0x16000000,0x17b908bf
>  	.type L(_FPI), @object
> -	ASM_SIZE_DIRECTIVE(L(_FPI))
> +	SIZE_EXPR(L(_FPI))
>  
>  /* Coefficients of polynomial
>   for cos(x)~=1.0+x^2*DP_COS2_0+x^4*DP_COS2_1, |x|<2^-5.  */
> @@ -401,27 +401,27 @@ L(_FPI): /* 4/Pi broken into sum of positive DP values */
>  L(DP_COS2_0):
>  	.long	0xff5cc6fd,0xbfdfffff
>  	.type L(DP_COS2_0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_COS2_0))
> +	SIZE_EXPR(L(DP_COS2_0))
>  
>  	.p2align 3
>  L(DP_COS2_1):
>  	.long	0xb178dac5,0x3fa55514
>  	.type L(DP_COS2_1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_COS2_1))
> +	SIZE_EXPR(L(DP_COS2_1))
>  
>  	.p2align 3
>  L(DP_ZERONE):
>  	.long	0x00000000,0x00000000	/* 0.0 */
>  	.long	0x00000000,0xbff00000	/* 1.0 */
>  	.type L(DP_ZERONE),@object
> -	ASM_SIZE_DIRECTIVE(L(DP_ZERONE))
> +	SIZE_EXPR(L(DP_ZERONE))
>  
>  	.p2align 3
>  L(DP_ONES):
>  	.long	0x00000000,0x3ff00000	/* +1.0 */
>  	.long	0x00000000,0xbff00000	/* -1.0 */
>  	.type L(DP_ONES), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ONES))
> +	SIZE_EXPR(L(DP_ONES))
>  
>  /* Coefficients of polynomial
>   for sin(t)~=t+t^3*(S0+t^2*(S1+t^2*(S2+t^2*(S3+t^2*S4)))), |t|<Pi/4.  */
> @@ -429,31 +429,31 @@ L(DP_ONES):
>  L(DP_S3):
>  	.long	0x64e6b5b4,0x3ec71d72
>  	.type L(DP_S3), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S3))
> +	SIZE_EXPR(L(DP_S3))
>  
>  	.p2align 3
>  L(DP_S1):
>  	.long	0x10c2688b,0x3f811111
>  	.type L(DP_S1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S1))
> +	SIZE_EXPR(L(DP_S1))
>  
>  	.p2align 3
>  L(DP_S4):
>  	.long	0x1674b58a,0xbe5a947e
>  	.type L(DP_S4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S4))
> +	SIZE_EXPR(L(DP_S4))
>  
>  	.p2align 3
>  L(DP_S2):
>  	.long	0x8b4bd1f9,0xbf2a019f
>  	.type L(DP_S2), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S2))
> +	SIZE_EXPR(L(DP_S2))
>  
>  	.p2align 3
>  L(DP_S0):
>  	.long	0x55551cd9,0xbfc55555
>  	.type L(DP_S0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S0))
> +	SIZE_EXPR(L(DP_S0))
>  
>  /* Coefficients of polynomial
>   for cos(t)~=1.0+t^2*(C0+t^2*(C1+t^2*(C2+t^2*(C3+t^2*C4)))), |t|<Pi/4.  */
> @@ -461,93 +461,93 @@ L(DP_S0):
>  L(DP_C3):
>  	.long	0x9ac43cc0,0x3efa00eb
>  	.type L(DP_C3), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C3))
> +	SIZE_EXPR(L(DP_C3))
>  
>  	.p2align 3
>  L(DP_C1):
>  	.long	0x545c50c7,0x3fa55555
>  	.type L(DP_C1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C1))
> +	SIZE_EXPR(L(DP_C1))
>  
>  	.p2align 3
>  L(DP_C4):
>  	.long	0xdd8844d7,0xbe923c97
>  	.type L(DP_C4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C4))
> +	SIZE_EXPR(L(DP_C4))
>  
>  	.p2align 3
>  L(DP_C2):
>  	.long	0x348b6874,0xbf56c16b
>  	.type L(DP_C2), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C2))
> +	SIZE_EXPR(L(DP_C2))
>  
>  	.p2align 3
>  L(DP_C0):
>  	.long	0xfffe98ae,0xbfdfffff
>  	.type L(DP_C0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C0))
> +	SIZE_EXPR(L(DP_C0))
>  
>  	.p2align 3
>  L(DP_PIO4):
>  	.long	0x54442d18,0x3fe921fb	/* Pi/4 */
>  	.type L(DP_PIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4))
> +	SIZE_EXPR(L(DP_PIO4))
>  
>  	.p2align 3
>  L(DP_2POW52):
>  	.long	0x00000000,0x43300000	/* +2^52 */
>  	.long	0x00000000,0xc3300000	/* -2^52 */
>  	.type L(DP_2POW52), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_2POW52))
> +	SIZE_EXPR(L(DP_2POW52))
>  
>  	.p2align 3
>  L(DP_INVPIO4):
>  	.long	0x6dc9c883,0x3ff45f30	/* 4/Pi */
>  	.type L(DP_INVPIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_INVPIO4))
> +	SIZE_EXPR(L(DP_INVPIO4))
>  
>  	.p2align 3
>  L(DP_PIO4HI):
>  	.long	0x54000000,0xbfe921fb	/* High part of Pi/4 */
>  	.type L(DP_PIO4HI), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4HI))
> +	SIZE_EXPR(L(DP_PIO4HI))
>  
>  	.p2align 3
>  L(DP_PIO4LO):
>  	.long	0x11A62633,0xbe010b46	/* Low part of Pi/4 */
>  	.type L(DP_PIO4LO), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4LO))
> +	SIZE_EXPR(L(DP_PIO4LO))
>  
>  	.p2align 2
>  L(SP_INVPIO4):
>  	.long	0x3fa2f983		/* 4/Pi */
>  	.type L(SP_INVPIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_INVPIO4))
> +	SIZE_EXPR(L(SP_INVPIO4))
>  
>  	.p2align 4
>  L(DP_ABS_MASK): /* Mask for getting DP absolute value */
>  	.long	0xffffffff,0x7fffffff
>  	.long	0xffffffff,0x7fffffff
>  	.type L(DP_ABS_MASK), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ABS_MASK))
> +	SIZE_EXPR(L(DP_ABS_MASK))
>  
>  	.p2align 3
>  L(DP_HI_MASK): /* Mask for getting high 21 bits of DP value */
>  	.long	0x00000000,0xffffffff
>  	.type L(DP_HI_MASK), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_HI_MASK))
> +	SIZE_EXPR(L(DP_HI_MASK))
>  
>  	.p2align 4
>  L(SP_ABS_MASK): /* Mask for getting SP absolute value */
>  	.long	0x7fffffff,0x7fffffff
>  	.long	0x7fffffff,0x7fffffff
>  	.type L(SP_ABS_MASK), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_ABS_MASK))
> +	SIZE_EXPR(L(SP_ABS_MASK))
>  
>  	.p2align 2
>  L(SP_ONE):
>  	.long	0x3f800000		/* 1.0 */
>  	.type L(SP_ONE), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_ONE))
> +	SIZE_EXPR(L(SP_ONE))
>  
>  weak_alias (__cosf, cosf)
> diff --git a/sysdeps/i386/i686/fpu/multiarch/s_sincosf-sse2.S b/sysdeps/i386/i686/fpu/multiarch/s_sincosf-sse2.S
> index 622f07a..5022e76 100644
> --- a/sysdeps/i386/i686/fpu/multiarch/s_sincosf-sse2.S
> +++ b/sysdeps/i386/i686/fpu/multiarch/s_sincosf-sse2.S
> @@ -411,7 +411,7 @@ L(PIO4J): /* Table of j*Pi/4, for j=0,1,..,10 */
>  	.long	0xbeccb2bb,0x401c463a
>  	.long	0x2955385e,0x401f6a7a
>  	.type L(PIO4J), @object
> -	ASM_SIZE_DIRECTIVE(L(PIO4J))
> +	SIZE_EXPR(L(PIO4J))
>  
>  	.p2align 3
>  L(_FPI): /* 4/Pi broken into sum of positive DP values */
> @@ -441,7 +441,7 @@ L(_FPI): /* 4/Pi broken into sum of positive DP values */
>  	.long	0x24000000,0x1964ce7d
>  	.long	0x16000000,0x17b908bf
>  	.type L(_FPI), @object
> -	ASM_SIZE_DIRECTIVE(L(_FPI))
> +	SIZE_EXPR(L(_FPI))
>  
>  /* Coefficients of polynomials for */
>  /* sin(x)~=x+x*x^2*(DP_SIN2_0+x^2*DP_SIN2_1) in low  DP part, */
> @@ -452,28 +452,28 @@ L(DP_SINCOS2_0):
>  	.long	0x5543d49d,0xbfc55555
>  	.long	0xff5cc6fd,0xbfdfffff
>  	.type L(DP_SINCOS2_0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SINCOS2_0))
> +	SIZE_EXPR(L(DP_SINCOS2_0))
>  
>  	.p2align 4
>  L(DP_SINCOS2_1):
>  	.long	0x75cec8c5,0x3f8110f4
>  	.long	0xb178dac5,0x3fa55514
>  	.type L(DP_SINCOS2_1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SINCOS2_1))
> +	SIZE_EXPR(L(DP_SINCOS2_1))
>  
>  	.p2align 3
>  L(DP_ZERONE):
>  	.long	0x00000000,0x00000000	/* 0.0 */
>  	.long	0x00000000,0xbff00000	/* 1.0 */
>  	.type L(DP_ZERONE), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ZERONE))
> +	SIZE_EXPR(L(DP_ZERONE))
>  
>  	.p2align 3
>  L(DP_ONES):
>  	.long	0x00000000,0x3ff00000	/* +1.0 */
>  	.long	0x00000000,0xbff00000	/* -1.0 */
>  	.type L(DP_ONES), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ONES))
> +	SIZE_EXPR(L(DP_ONES))
>  
>  /* Coefficients of polynomials for */
>  /* sin(t)~=t+t*t^2*(S0+t^2*(S1+t^2*(S2+t^2*(S3+t^2*S4)))) in low  DP part, */
> @@ -484,103 +484,103 @@ L(DP_SC4):
>  	.long	0x1674b58a,0xbe5a947e
>  	.long	0xdd8844d7,0xbe923c97
>  	.type L(DP_SC4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SC4))
> +	SIZE_EXPR(L(DP_SC4))
>  
>  	.p2align 4
>  L(DP_SC3):
>  	.long	0x64e6b5b4,0x3ec71d72
>  	.long	0x9ac43cc0,0x3efa00eb
>  	.type L(DP_SC3), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SC3))
> +	SIZE_EXPR(L(DP_SC3))
>  
>  	.p2align 4
>  L(DP_SC2):
>  	.long	0x8b4bd1f9,0xbf2a019f
>  	.long	0x348b6874,0xbf56c16b
>  	.type L(DP_SC2), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SC2))
> +	SIZE_EXPR(L(DP_SC2))
>  
>  	.p2align 4
>  L(DP_SC1):
>  	.long	0x10c2688b,0x3f811111
>  	.long	0x545c50c7,0x3fa55555
>  	.type L(DP_SC1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SC1))
> +	SIZE_EXPR(L(DP_SC1))
>  
>  	.p2align 4
>  L(DP_SC0):
>  	.long	0x55551cd9,0xbfc55555
>  	.long	0xfffe98ae,0xbfdfffff
>  	.type L(DP_SC0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SC0))
> +	SIZE_EXPR(L(DP_SC0))
>  
>  	.p2align 3
>  L(DP_SMALL):
>  	.long	0x00000000,0x3cd00000	/* 2^(-50) */
>  	.type L(DP_SMALL), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SMALL))
> +	SIZE_EXPR(L(DP_SMALL))
>  
>  	.p2align 3
>  L(DP_PIO4):
>  	.long	0x54442d18,0x3fe921fb	/* Pi/4 */
>  	.type L(DP_PIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4))
> +	SIZE_EXPR(L(DP_PIO4))
>  
>  	.p2align 3
>  L(DP_2POW52):
>  	.long	0x00000000,0x43300000	/* +2^52 */
>  	.long	0x00000000,0xc3300000	/* -2^52 */
>  	.type L(DP_2POW52), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_2POW52))
> +	SIZE_EXPR(L(DP_2POW52))
>  
>  	.p2align 3
>  L(DP_INVPIO4):
>  	.long	0x6dc9c883,0x3ff45f30	/* 4/Pi */
>  	.type L(DP_INVPIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_INVPIO4))
> +	SIZE_EXPR(L(DP_INVPIO4))
>  
>  	.p2align 3
>  L(DP_PIO4HI):
>  	.long	0x54000000,0xbfe921fb	/* High part of Pi/4 */
>  	.type L(DP_PIO4HI), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4HI))
> +	SIZE_EXPR(L(DP_PIO4HI))
>  
>  	.p2align 3
>  L(DP_PIO4LO):
>  	.long	0x11A62633,0xbe010b46	/* Low part of Pi/4 */
>  	.type L(DP_PIO4LO), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4LO))
> +	SIZE_EXPR(L(DP_PIO4LO))
>  
>  	.p2align 2
>  L(SP_INVPIO4):
>  	.long	0x3fa2f983		/* 4/Pi */
>  	.type L(SP_INVPIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_INVPIO4))
> +	SIZE_EXPR(L(SP_INVPIO4))
>  
>  	.p2align 4
>  L(DP_ABS_MASK): /* Mask for getting DP absolute value */
>  	.long	0xffffffff,0x7fffffff
>  	.long	0xffffffff,0x7fffffff
>  	.type L(DP_ABS_MASK), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ABS_MASK))
> +	SIZE_EXPR(L(DP_ABS_MASK))
>  
>  	.p2align 3
>  L(DP_HI_MASK): /* Mask for getting high 21 bits of DP value */
>  	.long	0x00000000,0xffffffff
>  	.type L(DP_HI_MASK), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_HI_MASK))
> +	SIZE_EXPR(L(DP_HI_MASK))
>  
>  	.p2align 4
>  L(SP_ABS_MASK): /* Mask for getting SP absolute value */
>  	.long	0x7fffffff,0x7fffffff
>  	.long	0x7fffffff,0x7fffffff
>  	.type L(SP_ABS_MASK), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_ABS_MASK))
> +	SIZE_EXPR(L(SP_ABS_MASK))
>  
>  	.p2align 2
>  L(SP_ONE):
>  	.long	0x3f800000		/* 1.0 */
>  	.type L(SP_ONE), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_ONE))
> +	SIZE_EXPR(L(SP_ONE))
>  
>  weak_alias(__sincosf, sincosf)
> diff --git a/sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S b/sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S
> index 49d59b5..96ef24a 100644
> --- a/sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S
> +++ b/sysdeps/i386/i686/fpu/multiarch/s_sinf-sse2.S
> @@ -383,7 +383,7 @@ L(PIO4J): /* Table of j*Pi/4, for j=0,1,..,10 */
>  	.long	0xbeccb2bb,0x401c463a
>  	.long	0x2955385e,0x401f6a7a
>  	.type L(PIO4J), @object
> -	ASM_SIZE_DIRECTIVE(L(PIO4J))
> +	SIZE_EXPR(L(PIO4J))
>  
>  	.p2align 3
>  L(_FPI): /* 4/Pi broken into sum of positive DP values */
> @@ -413,7 +413,7 @@ L(_FPI): /* 4/Pi broken into sum of positive DP values */
>  	.long	0x24000000,0x1964ce7d
>  	.long	0x16000000,0x17b908bf
>  	.type L(_FPI), @object
> -	ASM_SIZE_DIRECTIVE(L(_FPI))
> +	SIZE_EXPR(L(_FPI))
>  
>  /* Coefficients of polynomial
>     for sin(x)~=x+x^3*DP_SIN2_0+x^5*DP_SIN2_1, |x|<2^-5.  */
> @@ -421,27 +421,27 @@ L(_FPI): /* 4/Pi broken into sum of positive DP values */
>  L(DP_SIN2_0):
>  	.long	0x5543d49d,0xbfc55555
>  	.type L(DP_SIN2_0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SIN2_0))
> +	SIZE_EXPR(L(DP_SIN2_0))
>  
>  	.p2align 3
>  L(DP_SIN2_1):
>  	.long	0x75cec8c5,0x3f8110f4
>  	.type L(DP_SIN2_1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SIN2_1))
> +	SIZE_EXPR(L(DP_SIN2_1))
>  
>  	.p2align 3
>  L(DP_ZERONE):
>  	.long	0x00000000,0x00000000	/* 0.0 */
>  	.long	0x00000000,0xbff00000	/* 1.0 */
>  	.type L(DP_ZERONE), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ZERONE))
> +	SIZE_EXPR(L(DP_ZERONE))
>  
>  	.p2align 3
>  L(DP_ONES):
>  	.long	0x00000000,0x3ff00000	/* +1.0 */
>  	.long	0x00000000,0xbff00000	/* -1.0 */
>  	.type L(DP_ONES), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ONES))
> +	SIZE_EXPR(L(DP_ONES))
>  
>  /* Coefficients of polynomial
>     for sin(t)~=t+t^3*(S0+t^2*(S1+t^2*(S2+t^2*(S3+t^2*S4)))), |t|<Pi/4.  */
> @@ -449,37 +449,37 @@ L(DP_ONES):
>  L(DP_S3):
>  	.long	0x64e6b5b4,0x3ec71d72
>  	.type L(DP_S3), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S3))
> +	SIZE_EXPR(L(DP_S3))
>  
>  	.p2align 3
>  L(DP_S1):
>  	.long	0x10c2688b,0x3f811111
>  	.type L(DP_S1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S1))
> +	SIZE_EXPR(L(DP_S1))
>  
>  	.p2align 3
>  L(DP_S4):
>  	.long	0x1674b58a,0xbe5a947e
>  	.type L(DP_S4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S4))
> +	SIZE_EXPR(L(DP_S4))
>  
>  	.p2align 3
>  L(DP_S2):
>  	.long	0x8b4bd1f9,0xbf2a019f
>  	.type L(DP_S2), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S2))
> +	SIZE_EXPR(L(DP_S2))
>  
>  	.p2align 3
>  L(DP_S0):
>  	.long	0x55551cd9,0xbfc55555
>  	.type L(DP_S0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S0))
> +	SIZE_EXPR(L(DP_S0))
>  
>  	.p2align 3
>  L(DP_SMALL):
>  	.long	0x00000000,0x3cd00000	/* 2^(-50) */
>  	.type L(DP_SMALL), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SMALL))
> +	SIZE_EXPR(L(DP_SMALL))
>  
>  /* Coefficients of polynomial
>     for cos(t)~=1.0+t^2*(C0+t^2*(C1+t^2*(C2+t^2*(C3+t^2*C4)))), |t|<Pi/4.  */
> @@ -487,80 +487,80 @@ L(DP_SMALL):
>  L(DP_C3):
>  	.long	0x9ac43cc0,0x3efa00eb
>  	.type L(DP_C3), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C3))
> +	SIZE_EXPR(L(DP_C3))
>  
>  	.p2align 3
>  L(DP_C1):
>  	.long	0x545c50c7,0x3fa55555
>  	.type L(DP_C1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C1))
> +	SIZE_EXPR(L(DP_C1))
>  
>  	.p2align 3
>  L(DP_C4):
>  	.long	0xdd8844d7,0xbe923c97
>  	.type L(DP_C4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C4))
> +	SIZE_EXPR(L(DP_C4))
>  
>  	.p2align 3
>  L(DP_C2):
>  	.long	0x348b6874,0xbf56c16b
>  	.type L(DP_C2), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C2))
> +	SIZE_EXPR(L(DP_C2))
>  
>  	.p2align 3
>  L(DP_C0):
>  	.long	0xfffe98ae,0xbfdfffff
>  	.type L(DP_C0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C0))
> +	SIZE_EXPR(L(DP_C0))
>  
>  	.p2align 3
>  L(DP_PIO4):
>  	.long	0x54442d18,0x3fe921fb	/* Pi/4 */
>  	.type L(DP_PIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4))
> +	SIZE_EXPR(L(DP_PIO4))
>  
>  	.p2align 3
>  L(DP_2POW52):
>  	.long	0x00000000,0x43300000	/* +2^52 */
>  	.long	0x00000000,0xc3300000	/* -2^52 */
>  	.type L(DP_2POW52), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_2POW52))
> +	SIZE_EXPR(L(DP_2POW52))
>  
>  	.p2align 3
>  L(DP_INVPIO4):
>  	.long	0x6dc9c883,0x3ff45f30	/* 4/Pi */
>  	.type L(DP_INVPIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_INVPIO4))
> +	SIZE_EXPR(L(DP_INVPIO4))
>  
>  	.p2align 3
>  L(DP_PIO4HI):
>  	.long	0x54000000,0xbfe921fb	/* High part of Pi/4 */
>  	.type L(DP_PIO4HI), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4HI))
> +	SIZE_EXPR(L(DP_PIO4HI))
>  
>  	.p2align 3
>  L(DP_PIO4LO):
>  	.long	0x11A62633,0xbe010b46	/* Low part of Pi/4 */
>  	.type L(DP_PIO4LO), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4LO))
> +	SIZE_EXPR(L(DP_PIO4LO))
>  
>  	.p2align 2
>  L(SP_INVPIO4):
>  	.long	0x3fa2f983		/* 4/Pi */
>  	.type L(SP_INVPIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_INVPIO4))
> +	SIZE_EXPR(L(SP_INVPIO4))
>  
>  	.p2align 4
>  L(DP_ABS_MASK): /* Mask for getting DP absolute value */
>  	.long	0xffffffff,0x7fffffff
>  	.long	0xffffffff,0x7fffffff
>  	.type L(DP_ABS_MASK), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ABS_MASK))
> +	SIZE_EXPR(L(DP_ABS_MASK))
>  
>  	.p2align 3
>  L(DP_HI_MASK): /* Mask for getting high 21 bits of DP value */
>  	.long	0x00000000,0xffffffff
>  	.type L(DP_HI_MASK), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_HI_MASK))
> +	SIZE_EXPR(L(DP_HI_MASK))
>  
>  weak_alias (__sinf, sinf)
> diff --git a/sysdeps/i386/sysdep.h b/sysdeps/i386/sysdep.h
> index 4ea7202..acccea3 100644
> --- a/sysdeps/i386/sysdep.h
> +++ b/sysdeps/i386/sysdep.h
> @@ -1,6 +1,5 @@
>  /* Assembler macros for i386.
> -   Copyright (C) 1991-93,95,96,98,2002,2003,2005,2006,2011,2012
> -   Free Software Foundation, Inc.
> +   Copyright (C) 1991-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>  
>     The GNU C Library is free software; you can redistribute it and/or
> @@ -50,7 +49,6 @@
>  
>  /* ELF uses byte-counts for .align, most others use log2 of count of bytes.  */
>  #define ALIGNARG(log2) 1<<log2
> -#define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
>  
>  
>  /* Define an entry point visible from C.
> @@ -69,7 +67,7 @@
>  #undef	END
>  #define END(name)							      \
>    cfi_endproc;								      \
> -  ASM_SIZE_DIRECTIVE(name)
> +  SIZE_EXPR(name)
>  
>  #define ENTRY_CHK(name) ENTRY (name)
>  #define END_CHK(name) END (name)
> diff --git a/sysdeps/powerpc/powerpc32/start.S b/sysdeps/powerpc/powerpc32/start.S
> index 4935e64..519ebce 100644
> --- a/sysdeps/powerpc/powerpc32/start.S
> +++ b/sysdeps/powerpc/powerpc32/start.S
> @@ -1,6 +1,5 @@
>  /* Startup code for programs linked with GNU libc.
> -   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2009, 2011
> -   Free Software Foundation, Inc.
> +   Copyright (C) 1998-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>  
>     The GNU C Library is free software; you can redistribute it and/or
> @@ -49,7 +48,7 @@ L(start_addresses):
>  	.long	BP_SYM (main)
>  	.long 	__libc_csu_init
>  	.long 	__libc_csu_fini
> -	ASM_SIZE_DIRECTIVE(L(start_addresses))
> +	SIZE_EXPR(L(start_addresses))
>  
>  	.section ".text"
>  ENTRY(_start)
> diff --git a/sysdeps/powerpc/powerpc32/sysdep.h b/sysdeps/powerpc/powerpc32/sysdep.h
> index 02917a8..c155c2d 100644
> --- a/sysdeps/powerpc/powerpc32/sysdep.h
> +++ b/sysdeps/powerpc/powerpc32/sysdep.h
> @@ -1,6 +1,5 @@
>  /* Assembly macros for 32-bit PowerPC.
> -   Copyright (C) 1999, 2001-2003, 2006, 2011-2012
> -	Free Software Foundation, Inc.
> +   Copyright (C) 1999-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>  
>     The GNU C Library is free software; you can redistribute it and/or
> @@ -87,7 +86,7 @@ GOT_LABEL:			;					      \
>  #undef	END
>  #define END(name)							      \
>    cfi_endproc;								      \
> -  ASM_SIZE_DIRECTIVE(name)
> +  SIZE_EXPR(name)
>  
>  #define DO_CALL(syscall)						      \
>      li 0,syscall;							      \
> diff --git a/sysdeps/powerpc/powerpc64/start.S b/sysdeps/powerpc/powerpc64/start.S
> index d9c92d1..bd89cb4 100644
> --- a/sysdeps/powerpc/powerpc64/start.S
> +++ b/sysdeps/powerpc/powerpc64/start.S
> @@ -1,6 +1,5 @@
>  /* Startup code for programs linked with GNU libc.  PowerPC64 version.
> -   Copyright (C) 1998,1999,2000,2001,2002,2003,2009
> -   Free Software Foundation, Inc.
> +   Copyright (C) 1998-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>  
>     The GNU C Library is free software; you can redistribute it and/or
> @@ -51,7 +50,7 @@ L(start_addresses):
>  	.quad 	__libc_csu_init
>  	.quad 	__libc_csu_fini
>  
> -	ASM_SIZE_DIRECTIVE(L(start_addresses))
> +	SIZE_EXPR(L(start_addresses))
>  
>  	.section	".toc","aw"
>  .L01:
> diff --git a/sysdeps/powerpc/sysdep.h b/sysdeps/powerpc/sysdep.h
> index 302f559..31d2ce9 100644
> --- a/sysdeps/powerpc/sysdep.h
> +++ b/sysdeps/powerpc/sysdep.h
> @@ -1,4 +1,4 @@
> -/* Copyright (C) 1999, 2001-2002, 2006, 2012 Free Software Foundation, Inc.
> +/* Copyright (C) 1999-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>  
>     The GNU C Library is free software; you can redistribute it and/or
> @@ -147,6 +147,5 @@
>  
>  /* This seems to always be the case on PPC.  */
>  #define ALIGNARG(log2) log2
> -#define ASM_SIZE_DIRECTIVE(name) .size name,.-name
>  
>  #endif	/* __ASSEMBLER__ */
> diff --git a/sysdeps/s390/s390-32/s390-mcount.S b/sysdeps/s390/s390-32/s390-mcount.S
> index 04e14eb..70783fc 100644
> --- a/sysdeps/s390/s390-32/s390-mcount.S
> +++ b/sysdeps/s390/s390-32/s390-mcount.S
> @@ -83,7 +83,7 @@ C_LABEL(_mcount)
>  	cfi_adjust_cfa_offset (-128)
>  	br    %r14
>  	cfi_endproc
> -	ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(_mcount))
> +	SIZE_EXPR(C_SYMBOL_NAME(_mcount))
>  
>  #undef mcount
>  weak_alias (_mcount, mcount)
> diff --git a/sysdeps/s390/s390-32/sysdep.h b/sysdeps/s390/s390-32/sysdep.h
> index 78749ee..818ab83 100644
> --- a/sysdeps/s390/s390-32/sysdep.h
> +++ b/sysdeps/s390/s390-32/sysdep.h
> @@ -1,5 +1,5 @@
>  /* Assembler macros for s390.
> -   Copyright (C) 2000, 2001, 2003, 2012 Free Software Foundation, Inc.
> +   Copyright (C) 2000-2012 Free Software Foundation, Inc.
>     Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
>     This file is part of the GNU C Library.
>  
> @@ -25,7 +25,6 @@
>  
>  /* ELF uses byte-counts for .align, most others use log2 of count of bytes.  */
>  #define ALIGNARG(log2) 1<<log2
> -#define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
>  
>  
>  /* Define an entry point visible from C. */
> @@ -40,7 +39,7 @@
>  #undef	END
>  #define END(name)							      \
>    cfi_endproc;								      \
> -  ASM_SIZE_DIRECTIVE(name)						      \
> +  SIZE_EXPR(name)
>  
>  /* If compiled for profiling, call `mcount' at the start of each function.  */
>  #ifdef	PROF
> diff --git a/sysdeps/s390/s390-64/s390x-mcount.S b/sysdeps/s390/s390-64/s390x-mcount.S
> index 3d43929..f6aec3e 100644
> --- a/sysdeps/s390/s390-64/s390x-mcount.S
> +++ b/sysdeps/s390/s390-64/s390x-mcount.S
> @@ -71,7 +71,7 @@ C_LABEL(_mcount)
>  	cfi_adjust_cfa_offset (-224)
>          br    %r14
>  	cfi_endproc
> -	ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(_mcount))
> +	SIZE_EXPR(C_SYMBOL_NAME(_mcount))
>  
>  #undef mcount
>  weak_alias (_mcount, mcount)
> diff --git a/sysdeps/s390/s390-64/sysdep.h b/sysdeps/s390/s390-64/sysdep.h
> index e62191c..de75baa 100644
> --- a/sysdeps/s390/s390-64/sysdep.h
> +++ b/sysdeps/s390/s390-64/sysdep.h
> @@ -1,5 +1,5 @@
>  /* Assembler macros for 64 bit S/390.
> -   Copyright (C) 2001, 2003, 2012 Free Software Foundation, Inc.
> +   Copyright (C) 2001-2012 Free Software Foundation, Inc.
>     Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
>     This file is part of the GNU C Library.
>  
> @@ -25,7 +25,6 @@
>  
>  /* ELF uses byte-counts for .align, most others use log2 of count of bytes.  */
>  #define ALIGNARG(log2) 1<<log2
> -#define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
>  
>  
>  /* Define an entry point visible from C. */
> @@ -40,7 +39,7 @@
>  #undef	END
>  #define END(name)							      \
>    cfi_endproc;								      \
> -  ASM_SIZE_DIRECTIVE(name)						      \
> +  SIZE_EXPR(name)
>  
>  /* If compiled for profiling, call `mcount' at the start of each function.  */
>  #ifdef	PROF
> diff --git a/sysdeps/sh/_mcount.S b/sysdeps/sh/_mcount.S
> index 7c9f6d1..4b87071 100644
> --- a/sysdeps/sh/_mcount.S
> +++ b/sysdeps/sh/_mcount.S
> @@ -81,7 +81,7 @@ C_LABEL(_mcount)
>  1:	.long	C_SYMBOL_NAME(__mcount_internal)
>  #endif
>  	cfi_endproc
> -ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(_mcount))
> +SIZE_EXPR(C_SYMBOL_NAME(_mcount))
>  
>  #undef mcount
>  weak_alias (_mcount, mcount)
> diff --git a/sysdeps/sh/sysdep.h b/sysdeps/sh/sysdep.h
> index 1111b8b..db57668 100644
> --- a/sysdeps/sh/sysdep.h
> +++ b/sysdeps/sh/sysdep.h
> @@ -1,5 +1,5 @@
>  /* Assembler macros for SH.
> -   Copyright (C) 1999, 2000, 2005, 2012 Free Software Foundation, Inc.
> +   Copyright (C) 1999-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>  
>     The GNU C Library is free software; you can redistribute it and/or
> @@ -23,7 +23,6 @@
>  /* Syntactic details of assembler.  */
>  
>  #define ALIGNARG(log2) log2
> -#define ASM_SIZE_DIRECTIVE(name) .size name,.-name
>  
>  #ifdef SHARED
>  #define PLTJMP(_x)	_x##@PLT
> @@ -44,7 +43,7 @@
>  #undef	END
>  #define END(name)							      \
>    cfi_endproc;								      \
> -  ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(name))
> +  SIZE_EXPR(C_SYMBOL_NAME(name))
>  
>  /* If compiled for profiling, call `mcount' at the start of each function.  */
>  #ifdef	PROF
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
> index 9b0693a..13dfffa 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h
> @@ -1,5 +1,4 @@
> -/* Copyright (C) 1992,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2012
> -	Free Software Foundation, Inc.
> +/* Copyright (C) 1992-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>  
>     The GNU C Library is free software; you can redistribute it and/or
> @@ -58,7 +57,6 @@
>  
>  /* This seems to always be the case on PPC.  */
>  # define ALIGNARG(log2) log2
> -# define ASM_SIZE_DIRECTIVE(name) .size name,.-name
>  
>  #endif /* __ASSEMBLER__ */
>  
> diff --git a/sysdeps/x86_64/_mcount.S b/sysdeps/x86_64/_mcount.S
> index 3adfe03..b0b3ead 100644
> --- a/sysdeps/x86_64/_mcount.S
> +++ b/sysdeps/x86_64/_mcount.S
> @@ -60,7 +60,7 @@ C_LABEL(_mcount)
>  	addq	$56,%rsp
>  	ret
>  
> -	ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(_mcount))
> +	SIZE_EXPR(C_SYMBOL_NAME(_mcount))
>  
>  #undef mcount
>  weak_alias (_mcount, mcount)
> @@ -101,4 +101,4 @@ C_LABEL(__fentry__)
>  	addq	$64,%rsp
>  	ret
>  
> -	ASM_SIZE_DIRECTIVE(C_SYMBOL_NAME(__fentry__))
> +	SIZE_EXPR(C_SYMBOL_NAME(__fentry__))
> diff --git a/sysdeps/x86_64/fpu/e_expf.S b/sysdeps/x86_64/fpu/e_expf.S
> index 9b13304..e335722 100644
> --- a/sysdeps/x86_64/fpu/e_expf.S
> +++ b/sysdeps/x86_64/fpu/e_expf.S
> @@ -252,88 +252,88 @@ L(DP_T): /* table of double precision values 2^(j/K) for j=[0..K-1] */
>  	.long	0x5b6e4540, 0x3fff5076
>  	.long	0x819e90d8, 0x3fffa7c1
>  	.type L(DP_T), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_T))
> +	SIZE_EXPR(L(DP_T))
>  
>  	.section .rodata.cst8,"aM",@progbits,8
>  	.p2align 3
>  L(DP_KLN2): /* double precision K/log(2) */
>  	.long	0x652b82fe, 0x40571547
>  	.type L(DP_KLN2), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_KLN2))
> +	SIZE_EXPR(L(DP_KLN2))
>  
>  	.p2align 3
>  L(DP_NLN2K): /* double precision -log(2)/K */
>  	.long	0xfefa39ef, 0xbf862e42
>  	.type L(DP_NLN2K), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_NLN2K))
> +	SIZE_EXPR(L(DP_NLN2K))
>  
>  	.p2align 3
>  L(DP_RS): /* double precision 2^23+2^22 */
>  	.long	0x00000000, 0x41680000
>  	.type L(DP_RS), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_RS))
> +	SIZE_EXPR(L(DP_RS))
>  
>  	.p2align 3
>  L(DP_P3): /* double precision polynomial coefficient P3 */
>  	.long	0xeb78fa85, 0x3fa56420
>  	.type L(DP_P3), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_P3))
> +	SIZE_EXPR(L(DP_P3))
>  
>  	.p2align 3
>  L(DP_P1): /* double precision polynomial coefficient P1 */
>  	.long	0x008d6118, 0x3fe00000
>  	.type L(DP_P1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_P1))
> +	SIZE_EXPR(L(DP_P1))
>  
>  	.p2align 3
>  L(DP_P2): /* double precision polynomial coefficient P2 */
>  	.long	0xda752d4f, 0x3fc55550
>  	.type L(DP_P2), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_P2))
> +	SIZE_EXPR(L(DP_P2))
>  
>  	.p2align 3
>  L(DP_P0): /* double precision polynomial coefficient P0 */
>  	.long	0xffffe7c6, 0x3fefffff
>  	.type L(DP_P0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_P0))
> +	SIZE_EXPR(L(DP_P0))
>  
>  	.p2align 2
>  L(SP_RANGE): /* single precision overflow/underflow bounds */
>  	.long	0x42b17217	/* if x>this bound, then result overflows */
>  	.long	0x42cff1b4	/* if x<this bound, then result underflows */
>  	.type L(SP_RANGE), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_RANGE))
> +	SIZE_EXPR(L(SP_RANGE))
>  
>  	.p2align 2
>  L(SP_INF_0):
>  	.long	0x7f800000	/* single precision Inf */
>  	.long	0		/* single precision zero */
>  	.type L(SP_INF_0), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_INF_0))
> +	SIZE_EXPR(L(SP_INF_0))
>  
>  	.section .rodata.cst4,"aM",@progbits,4
>  	.p2align 2
>  L(SP_RS): /* single precision 2^23+2^22 */
>  	.long	0x4b400000
>  	.type L(SP_RS), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_RS))
> +	SIZE_EXPR(L(SP_RS))
>  
>  	.p2align 2
>  L(SP_SMALL): /* single precision small value 2^(-100) */
>  	.long	0x0d800000
>  	.type L(SP_SMALL), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_SMALL))
> +	SIZE_EXPR(L(SP_SMALL))
>  
>  	.p2align 2
>  L(SP_LARGE): /* single precision large value 2^100 */
>  	.long	0x71800000
>  	.type L(SP_LARGE), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_LARGE))
> +	SIZE_EXPR(L(SP_LARGE))
>  
>  	.p2align 2
>  L(SP_ONE): /* single precision 1.0 */
>  	.long	0x3f800000
>  	.type L(SP_ONE), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_ONE))
> +	SIZE_EXPR(L(SP_ONE))
>  
>  strong_alias (__ieee754_expf, __expf_finite)
> diff --git a/sysdeps/x86_64/fpu/e_expl.S b/sysdeps/x86_64/fpu/e_expl.S
> index a919780..91b4cf8 100644
> --- a/sysdeps/x86_64/fpu/e_expl.S
> +++ b/sysdeps/x86_64/fpu/e_expl.S
> @@ -45,26 +45,26 @@
>  	.type c0,@object
>  c0:	.byte 0, 0, 0, 0, 0, 0, 0x9a, 0xd4, 0x00, 0x40
>  	.byte 0, 0, 0, 0, 0, 0
> -	ASM_SIZE_DIRECTIVE(c0)
> +	SIZE_EXPR(c0)
>  	.type c1,@object
>  c1:	.byte 0x58, 0x92, 0xfc, 0x15, 0x37, 0x9a, 0x97, 0xf0, 0xef, 0x3f
>  	.byte 0, 0, 0, 0, 0, 0
> -	ASM_SIZE_DIRECTIVE(c1)
> +	SIZE_EXPR(c1)
>  #else
>  	.type c0,@object
>  c0:	.byte 0, 0, 0, 0, 0, 0, 0xaa, 0xb8, 0xff, 0x3f
>  	.byte 0, 0, 0, 0, 0, 0
> -	ASM_SIZE_DIRECTIVE(c0)
> +	SIZE_EXPR(c0)
>  	.type c1,@object
>  c1:	.byte 0x20, 0xfa, 0xee, 0xc2, 0x5f, 0x70, 0xa5, 0xec, 0xed, 0x3f
>  	.byte 0, 0, 0, 0, 0, 0
> -	ASM_SIZE_DIRECTIVE(c1)
> +	SIZE_EXPR(c1)
>  #endif
>  #ifndef USE_AS_EXPM1L
>  	.type csat,@object
>  csat:	.byte 0, 0, 0, 0, 0, 0, 0, 0x80, 0x0e, 0x40
>  	.byte 0, 0, 0, 0, 0, 0
> -	ASM_SIZE_DIRECTIVE(csat)
> +	SIZE_EXPR(csat)
>  #endif
>  
>  #ifdef PIC
> diff --git a/sysdeps/x86_64/fpu/e_log10l.S b/sysdeps/x86_64/fpu/e_log10l.S
> index 6c07024..d99ebbe 100644
> --- a/sysdeps/x86_64/fpu/e_log10l.S
> +++ b/sysdeps/x86_64/fpu/e_log10l.S
> @@ -15,13 +15,13 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	/* It is not important that this constant is precise.  It is only
>  	   a value which is known to be on the safe side for using the
>  	   fyl2xp1 instruction.  */
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/x86_64/fpu/e_log2l.S b/sysdeps/x86_64/fpu/e_log2l.S
> index 956489f..20dc606 100644
> --- a/sysdeps/x86_64/fpu/e_log2l.S
> +++ b/sysdeps/x86_64/fpu/e_log2l.S
> @@ -14,13 +14,13 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	/* It is not important that this constant is precise.  It is only
>  	   a value which is known to be on the safe side for using the
>  	   fyl2xp1 instruction.  */
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/x86_64/fpu/e_logl.S b/sysdeps/x86_64/fpu/e_logl.S
> index a8e3108..168684e 100644
> --- a/sysdeps/x86_64/fpu/e_logl.S
> +++ b/sysdeps/x86_64/fpu/e_logl.S
> @@ -14,13 +14,13 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	/* It is not important that this constant is precise.  It is only
>  	   a value which is known to be on the safe side for using the
>  	   fyl2xp1 instruction.  */
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/x86_64/fpu/e_powl.S b/sysdeps/x86_64/fpu/e_powl.S
> index 4fe23c0..bc957d0 100644
> --- a/sysdeps/x86_64/fpu/e_powl.S
> +++ b/sysdeps/x86_64/fpu/e_powl.S
> @@ -1,6 +1,5 @@
>  /* ix87 specific implementation of pow function.
> -   Copyright (C) 1996-1999, 2001, 2004, 2007, 2011-2012
> -   Free Software Foundation, Inc.
> +   Copyright (C) 1996-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
>  
> @@ -25,19 +24,19 @@
>  	.p2align 3
>  	.type one,@object
>  one:	.double 1.0
> -	ASM_SIZE_DIRECTIVE(one)
> +	SIZE_EXPR(one)
>  	.type limit,@object
>  limit:	.double 0.29
> -	ASM_SIZE_DIRECTIVE(limit)
> +	SIZE_EXPR(limit)
>  	.type p63,@object
>  p63:	.byte 0, 0, 0, 0, 0, 0, 0xe0, 0x43
> -	ASM_SIZE_DIRECTIVE(p63)
> +	SIZE_EXPR(p63)
>  	.type p64,@object
>  p64:	.byte 0, 0, 0, 0, 0, 0, 0xf0, 0x43
> -	ASM_SIZE_DIRECTIVE(p64)
> +	SIZE_EXPR(p64)
>  	.type p78,@object
>  p78:	.byte 0, 0, 0, 0, 0, 0, 0xd0, 0x44
> -	ASM_SIZE_DIRECTIVE(p78)
> +	SIZE_EXPR(p78)
>  
>  	.section .rodata.cst16,"aM",@progbits,16
>  
> @@ -46,17 +45,17 @@ p78:	.byte 0, 0, 0, 0, 0, 0, 0xd0, 0x44
>  inf_zero:
>  infinity:
>  	.byte 0, 0, 0, 0, 0, 0, 0xf0, 0x7f
> -	ASM_SIZE_DIRECTIVE(infinity)
> +	SIZE_EXPR(infinity)
>  	.type zero,@object
>  zero:	.double 0.0
> -	ASM_SIZE_DIRECTIVE(zero)
> +	SIZE_EXPR(zero)
>  	.type minf_mzero,@object
>  minf_mzero:
>  minfinity:
>  	.byte 0, 0, 0, 0, 0, 0, 0xf0, 0xff
>  mzero:
>  	.byte 0, 0, 0, 0, 0, 0, 0, 0x80
> -	ASM_SIZE_DIRECTIVE(minf_mzero)
> +	SIZE_EXPR(minf_mzero)
>  
>  #ifdef PIC
>  # define MO(op) op##(%rip)
> diff --git a/sysdeps/x86_64/fpu/e_scalbl.S b/sysdeps/x86_64/fpu/e_scalbl.S
> index c422d53..7fa114b 100644
> --- a/sysdeps/x86_64/fpu/e_scalbl.S
> +++ b/sysdeps/x86_64/fpu/e_scalbl.S
> @@ -19,7 +19,7 @@ zero_nan:
>  nan:	.byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f
>  	.byte 0, 0, 0, 0, 0, 0, 0, 0x80
>  	.byte 0, 0, 0, 0, 0, 0, 0xff, 0x7f
> -	ASM_SIZE_DIRECTIVE(zero_nan)
> +	SIZE_EXPR(zero_nan)
>  
>  
>  #ifdef PIC
> diff --git a/sysdeps/x86_64/fpu/s_copysign.S b/sysdeps/x86_64/fpu/s_copysign.S
> index 07ca075..08b318e 100644
> --- a/sysdeps/x86_64/fpu/s_copysign.S
> +++ b/sysdeps/x86_64/fpu/s_copysign.S
> @@ -1,5 +1,5 @@
>  /* copy sign, double version.
> -   Copyright (C) 2002, 2006, 2011-2012 Free Software Foundation, Inc.
> +   Copyright (C) 2002-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Andreas Jaeger <aj@suse.de>, 2002.
>  
> @@ -26,12 +26,12 @@
>  signmask:
>  	.byte 0, 0, 0, 0, 0, 0, 0, 0x80
>  	.byte 0, 0, 0, 0, 0, 0, 0, 0
> -	ASM_SIZE_DIRECTIVE(signmask)
> +	SIZE_EXPR(signmask)
>  	.type othermask,@object
>  othermask:
>  	.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f
>  	.byte 0, 0, 0, 0, 0, 0, 0, 0
> -	ASM_SIZE_DIRECTIVE(othermask)
> +	SIZE_EXPR(othermask)
>  
>  #ifdef PIC
>  #define MO(op) op##(%rip)
> diff --git a/sysdeps/x86_64/fpu/s_copysignf.S b/sysdeps/x86_64/fpu/s_copysignf.S
> index 99c16e0..5344e90 100644
> --- a/sysdeps/x86_64/fpu/s_copysignf.S
> +++ b/sysdeps/x86_64/fpu/s_copysignf.S
> @@ -1,5 +1,5 @@
>  /* copy sign, double version.
> -   Copyright (C) 2002, 2006, 2012 Free Software Foundation, Inc.
> +   Copyright (C) 2002-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>     Contributed by Andreas Jaeger <aj@suse.de>, 2002.
>  
> @@ -25,7 +25,7 @@
>  	.type mask,@object
>  mask:
>  	.byte 0xff, 0xff, 0xff, 0x7f
> -	ASM_SIZE_DIRECTIVE(mask)
> +	SIZE_EXPR(mask)
>  
>  #ifdef PIC
>  #define MO(op) op##(%rip)
> diff --git a/sysdeps/x86_64/fpu/s_cosf.S b/sysdeps/x86_64/fpu/s_cosf.S
> index dc8c76a..1151365 100644
> --- a/sysdeps/x86_64/fpu/s_cosf.S
> +++ b/sysdeps/x86_64/fpu/s_cosf.S
> @@ -337,7 +337,7 @@ L(PIO4J): /* Table of j*Pi/4, for j=0,1,..,10 */
>  	.long	0xbeccb2bb,0x401c463a
>  	.long	0x2955385e,0x401f6a7a
>  	.type L(PIO4J), @object
> -	ASM_SIZE_DIRECTIVE(L(PIO4J))
> +	SIZE_EXPR(L(PIO4J))
>  
>  	.p2align 3
>  L(_FPI): /* 4/Pi broken into sum of positive DP values */
> @@ -367,7 +367,7 @@ L(_FPI): /* 4/Pi broken into sum of positive DP values */
>  	.long	0x24000000,0x1964ce7d
>  	.long	0x16000000,0x17b908bf
>  	.type L(_FPI), @object
> -	ASM_SIZE_DIRECTIVE(L(_FPI))
> +	SIZE_EXPR(L(_FPI))
>  
>  /* Coefficients of polynomial
>     for cos(x)~=1.0+x^2*DP_COS2_0+x^4*DP_COS2_1, |x|<2^-5.  */
> @@ -375,27 +375,27 @@ L(_FPI): /* 4/Pi broken into sum of positive DP values */
>  L(DP_COS2_0):
>  	.long	0xff5cc6fd,0xbfdfffff
>  	.type L(DP_COS2_0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_COS2_0))
> +	SIZE_EXPR(L(DP_COS2_0))
>  
>  	.p2align 3
>  L(DP_COS2_1):
>  	.long	0xb178dac5,0x3fa55514
>  	.type L(DP_COS2_1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_COS2_1))
> +	SIZE_EXPR(L(DP_COS2_1))
>  
>  	.p2align 3
>  L(DP_ZERONE):
>  	.long	0x00000000,0x00000000	/* 0.0 */
>  	.long	0x00000000,0xbff00000	/* 1.0 */
>  	.type L(DP_ZERONE), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ZERONE))
> +	SIZE_EXPR(L(DP_ZERONE))
>  
>  	.p2align 3
>  L(DP_ONES):
>  	.long	0x00000000,0x3ff00000	/* +1.0 */
>  	.long	0x00000000,0xbff00000	/* -1.0 */
>  	.type L(DP_ONES), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ONES))
> +	SIZE_EXPR(L(DP_ONES))
>  
>  /* Coefficients of polynomial
>     for sin(t)~=t+t^3*(S0+t^2*(S1+t^2*(S2+t^2*(S3+t^2*S4)))), |t|<Pi/4.  */
> @@ -403,31 +403,31 @@ L(DP_ONES):
>  L(DP_S3):
>  	.long	0x64e6b5b4,0x3ec71d72
>  	.type L(DP_S3), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S3))
> +	SIZE_EXPR(L(DP_S3))
>  
>  	.p2align 3
>  L(DP_S1):
>  	.long	0x10c2688b,0x3f811111
>  	.type L(DP_S1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S1))
> +	SIZE_EXPR(L(DP_S1))
>  
>  	.p2align 3
>  L(DP_S4):
>  	.long	0x1674b58a,0xbe5a947e
>  	.type L(DP_S4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S4))
> +	SIZE_EXPR(L(DP_S4))
>  
>  	.p2align 3
>  L(DP_S2):
>  	.long	0x8b4bd1f9,0xbf2a019f
>  	.type L(DP_S2),@object
> -	ASM_SIZE_DIRECTIVE(L(DP_S2))
> +	SIZE_EXPR(L(DP_S2))
>  
>  	.p2align 3
>  L(DP_S0):
>  	.long	0x55551cd9,0xbfc55555
>  	.type L(DP_S0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S0))
> +	SIZE_EXPR(L(DP_S0))
>  
>  /* Coefficients of polynomial
>     for cos(t)~=1.0+t^2*(C0+t^2*(C1+t^2*(C2+t^2*(C3+t^2*C4)))), |t|<Pi/4.  */
> @@ -435,93 +435,93 @@ L(DP_S0):
>  L(DP_C3):
>  	.long	0x9ac43cc0,0x3efa00eb
>  	.type L(DP_C3), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C3))
> +	SIZE_EXPR(L(DP_C3))
>  
>  	.p2align 3
>  L(DP_C1):
>  	.long	0x545c50c7,0x3fa55555
>  	.type L(DP_C1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C1))
> +	SIZE_EXPR(L(DP_C1))
>  
>  	.p2align 3
>  L(DP_C4):
>  	.long	0xdd8844d7,0xbe923c97
>  	.type L(DP_C4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C4))
> +	SIZE_EXPR(L(DP_C4))
>  
>  	.p2align 3
>  L(DP_C2):
>  	.long	0x348b6874,0xbf56c16b
>  	.type L(DP_C2), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C2))
> +	SIZE_EXPR(L(DP_C2))
>  
>  	.p2align 3
>  L(DP_C0):
>  	.long	0xfffe98ae,0xbfdfffff
>  	.type L(DP_C0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C0))
> +	SIZE_EXPR(L(DP_C0))
>  
>  	.p2align 3
>  L(DP_PIO4):
>  	.long	0x54442d18,0x3fe921fb	/* Pi/4 */
>  	.type L(DP_PIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4))
> +	SIZE_EXPR(L(DP_PIO4))
>  
>  	.p2align 3
>  L(DP_2POW52):
>  	.long	0x00000000,0x43300000	/* +2^52 */
>  	.long	0x00000000,0xc3300000	/* -2^52 */
>  	.type L(DP_2POW52), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_2POW52))
> +	SIZE_EXPR(L(DP_2POW52))
>  
>  	.p2align 3
>  L(DP_INVPIO4):
>  	.long	0x6dc9c883,0x3ff45f30	/* 4/Pi */
>  	.type L(DP_INVPIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_INVPIO4))
> +	SIZE_EXPR(L(DP_INVPIO4))
>  
>  	.p2align 3
>  L(DP_PIO4HI):
>  	.long	0x54000000,0xbfe921fb	/* High part of Pi/4 */
>  	.type L(DP_PIO4HI), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4HI))
> +	SIZE_EXPR(L(DP_PIO4HI))
>  
>  	.p2align 3
>  L(DP_PIO4LO):
>  	.long	0x11A62633,0xbe010b46	/* Low part of Pi/4 */
>  	.type L(DP_PIO4LO), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4LO))
> +	SIZE_EXPR(L(DP_PIO4LO))
>  
>  	.p2align 2
>  L(SP_INVPIO4):
>  	.long	0x3fa2f983		/* 4/Pi */
>  	.type L(SP_INVPIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_INVPIO4))
> +	SIZE_EXPR(L(SP_INVPIO4))
>  
>  	.p2align 4
>  L(DP_ABS_MASK): /* Mask for getting DP absolute value */
>  	.long	0xffffffff,0x7fffffff
>  	.long	0xffffffff,0x7fffffff
>  	.type L(DP_ABS_MASK), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ABS_MASK))
> +	SIZE_EXPR(L(DP_ABS_MASK))
>  
>  	.p2align 3
>  L(DP_HI_MASK): /* Mask for getting high 21 bits of DP value */
>  	.long	0x00000000,0xffffffff
>  	.type L(DP_HI_MASK), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_HI_MASK))
> +	SIZE_EXPR(L(DP_HI_MASK))
>  
>  	.p2align 4
>  L(SP_ABS_MASK): /* Mask for getting SP absolute value */
>  	.long	0x7fffffff,0x7fffffff
>  	.long	0x7fffffff,0x7fffffff
>  	.type L(SP_ABS_MASK), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_ABS_MASK))
> +	SIZE_EXPR(L(SP_ABS_MASK))
>  
>  	.p2align 2
>  L(SP_ONE):
>  	.long	0x3f800000		/* 1.0 */
>  	.type L(SP_ONE), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_ONE))
> +	SIZE_EXPR(L(SP_ONE))
>  
>  weak_alias(__cosf, cosf)
> diff --git a/sysdeps/x86_64/fpu/s_sincosf.S b/sysdeps/x86_64/fpu/s_sincosf.S
> index 3334a3a..dbfe261 100644
> --- a/sysdeps/x86_64/fpu/s_sincosf.S
> +++ b/sysdeps/x86_64/fpu/s_sincosf.S
> @@ -382,7 +382,7 @@ L(PIO4J): /* Table of j*Pi/4, for j=0,1,..,10 */
>  	.long	0xbeccb2bb,0x401c463a
>  	.long	0x2955385e,0x401f6a7a
>  	.type L(PIO4J), @object
> -	ASM_SIZE_DIRECTIVE(L(PIO4J))
> +	SIZE_EXPR(L(PIO4J))
>  
>  	.p2align 3
>  L(_FPI): /* 4/Pi broken into sum of positive DP values */
> @@ -412,7 +412,7 @@ L(_FPI): /* 4/Pi broken into sum of positive DP values */
>  	.long	0x24000000,0x1964ce7d
>  	.long	0x16000000,0x17b908bf
>  	.type L(_FPI), @object
> -	ASM_SIZE_DIRECTIVE(L(_FPI))
> +	SIZE_EXPR(L(_FPI))
>  
>  /* Coefficients of polynomials for */
>  /* sin(x)~=x+x*x^2*(DP_SIN2_0+x^2*DP_SIN2_1) in low  DP part, */
> @@ -423,14 +423,14 @@ L(DP_SINCOS2_0):
>  	.long	0x5543d49d,0xbfc55555
>  	.long	0xff5cc6fd,0xbfdfffff
>  	.type L(DP_SINCOS2_0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SINCOS2_0))
> +	SIZE_EXPR(L(DP_SINCOS2_0))
>  
>  	.p2align 4
>  L(DP_SINCOS2_1):
>  	.long	0x75cec8c5,0x3f8110f4
>  	.long	0xb178dac5,0x3fa55514
>  	.type L(DP_SINCOS2_1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SINCOS2_1))
> +	SIZE_EXPR(L(DP_SINCOS2_1))
>  
>  
>  	.p2align 3
> @@ -438,14 +438,14 @@ L(DP_ZERONE):
>  	.long	0x00000000,0x00000000	/* 0.0 */
>  	.long	0x00000000,0xbff00000	/* 1.0 */
>  	.type L(DP_ZERONE), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ZERONE))
> +	SIZE_EXPR(L(DP_ZERONE))
>  
>  	.p2align 3
>  L(DP_ONES):
>  	.long	0x00000000,0x3ff00000	/* +1.0 */
>  	.long	0x00000000,0xbff00000	/* -1.0 */
>  	.type L(DP_ONES), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ONES))
> +	SIZE_EXPR(L(DP_ONES))
>  
>  /* Coefficients of polynomials for */
>  /* sin(t)~=t+t*t^2*(S0+t^2*(S1+t^2*(S2+t^2*(S3+t^2*S4)))) in low  DP part, */
> @@ -456,103 +456,103 @@ L(DP_SC4):
>  	.long	0x1674b58a,0xbe5a947e
>  	.long	0xdd8844d7,0xbe923c97
>  	.type L(DP_SC4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SC4))
> +	SIZE_EXPR(L(DP_SC4))
>  
>  	.p2align 4
>  L(DP_SC3):
>  	.long	0x64e6b5b4,0x3ec71d72
>  	.long	0x9ac43cc0,0x3efa00eb
>  	.type L(DP_SC3), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SC3))
> +	SIZE_EXPR(L(DP_SC3))
>  
>  	.p2align 4
>  L(DP_SC2):
>  	.long	0x8b4bd1f9,0xbf2a019f
>  	.long	0x348b6874,0xbf56c16b
>  	.type L(DP_SC2), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SC2))
> +	SIZE_EXPR(L(DP_SC2))
>  
>  	.p2align 4
>  L(DP_SC1):
>  	.long	0x10c2688b,0x3f811111
>  	.long	0x545c50c7,0x3fa55555
>  	.type L(DP_SC1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SC1))
> +	SIZE_EXPR(L(DP_SC1))
>  
>  	.p2align 4
>  L(DP_SC0):
>  	.long	0x55551cd9,0xbfc55555
>  	.long	0xfffe98ae,0xbfdfffff
>  	.type L(DP_SC0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SC0))
> +	SIZE_EXPR(L(DP_SC0))
>  
>  	.p2align 3
>  L(DP_SMALL):
>  	.long	0x00000000,0x3cd00000	/* 2^(-50) */
>  	.type L(DP_SMALL), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SMALL))
> +	SIZE_EXPR(L(DP_SMALL))
>  
>  	.p2align 3
>  L(DP_PIO4):
>  	.long	0x54442d18,0x3fe921fb	/* Pi/4 */
>  	.type L(DP_PIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4))
> +	SIZE_EXPR(L(DP_PIO4))
>  
>  	.p2align 3
>  L(DP_2POW52):
>  	.long	0x00000000,0x43300000	/* +2^52 */
>  	.long	0x00000000,0xc3300000	/* -2^52 */
>  	.type L(DP_2POW52), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_2POW52))
> +	SIZE_EXPR(L(DP_2POW52))
>  
>  	.p2align 3
>  L(DP_INVPIO4):
>  	.long	0x6dc9c883,0x3ff45f30	/* 4/Pi */
>  	.type L(DP_INVPIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_INVPIO4))
> +	SIZE_EXPR(L(DP_INVPIO4))
>  
>  	.p2align 3
>  L(DP_PIO4HI):
>  	.long	0x54000000,0xbfe921fb	/* High part of Pi/4 */
>  	.type L(DP_PIO4HI), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4HI))
> +	SIZE_EXPR(L(DP_PIO4HI))
>  
>  	.p2align 3
>  L(DP_PIO4LO):
>  	.long	0x11A62633,0xbe010b46	/* Low part of Pi/4 */
>  	.type L(DP_PIO4LO), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4LO))
> +	SIZE_EXPR(L(DP_PIO4LO))
>  
>  	.p2align 2
>  L(SP_INVPIO4):
>  	.long	0x3fa2f983		/* 4/Pi */
>  	.type L(SP_INVPIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_INVPIO4))
> +	SIZE_EXPR(L(SP_INVPIO4))
>  
>  	.p2align 4
>  L(DP_ABS_MASK): /* Mask for getting DP absolute value */
>  	.long	0xffffffff,0x7fffffff
>  	.long	0xffffffff,0x7fffffff
>  	.type L(DP_ABS_MASK), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ABS_MASK))
> +	SIZE_EXPR(L(DP_ABS_MASK))
>  
>  	.p2align 3
>  L(DP_HI_MASK): /* Mask for getting high 21 bits of DP value */
>  	.long	0x00000000,0xffffffff
>  	.type L(DP_HI_MASK), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_HI_MASK))
> +	SIZE_EXPR(L(DP_HI_MASK))
>  
>  	.p2align 4
>  L(SP_ABS_MASK): /* Mask for getting SP absolute value */
>  	.long	0x7fffffff,0x7fffffff
>  	.long	0x7fffffff,0x7fffffff
>  	.type L(SP_ABS_MASK), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_ABS_MASK))
> +	SIZE_EXPR(L(SP_ABS_MASK))
>  
>  	.p2align 2
>  L(SP_ONE):
>  	.long	0x3f800000		/* 1.0 */
>  	.type L(SP_ONE), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_ONE))
> +	SIZE_EXPR(L(SP_ONE))
>  
>  weak_alias(__sincosf, sincosf)
> diff --git a/sysdeps/x86_64/fpu/s_sinf.S b/sysdeps/x86_64/fpu/s_sinf.S
> index 9a6c87f..0dffeb0 100644
> --- a/sysdeps/x86_64/fpu/s_sinf.S
> +++ b/sysdeps/x86_64/fpu/s_sinf.S
> @@ -363,7 +363,7 @@ L(PIO4J): /* Table of j*Pi/4, for j=0,1,..,10 */
>  	.long	0xbeccb2bb,0x401c463a
>  	.long	0x2955385e,0x401f6a7a
>  	.type L(PIO4J), @object
> -	ASM_SIZE_DIRECTIVE(L(PIO4J))
> +	SIZE_EXPR(L(PIO4J))
>  
>  	.p2align 3
>  L(_FPI): /* 4/Pi broken into sum of positive DP values */
> @@ -393,7 +393,7 @@ L(_FPI): /* 4/Pi broken into sum of positive DP values */
>  	.long	0x24000000,0x1964ce7d
>  	.long	0x16000000,0x17b908bf
>  	.type L(_FPI), @object
> -	ASM_SIZE_DIRECTIVE(L(_FPI))
> +	SIZE_EXPR(L(_FPI))
>  
>  /* Coefficients of polynomial
>     for sin(x)~=x+x^3*DP_SIN2_0+x^5*DP_SIN2_1, |x|<2^-5.  */
> @@ -401,27 +401,27 @@ L(_FPI): /* 4/Pi broken into sum of positive DP values */
>  L(DP_SIN2_0):
>  	.long	0x5543d49d,0xbfc55555
>  	.type L(DP_SIN2_0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SIN2_0))
> +	SIZE_EXPR(L(DP_SIN2_0))
>  
>  	.p2align 3
>  L(DP_SIN2_1):
>  	.long	0x75cec8c5,0x3f8110f4
>  	.type L(DP_SIN2_1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SIN2_1))
> +	SIZE_EXPR(L(DP_SIN2_1))
>  
>  	.p2align 3
>  L(DP_ZERONE):
>  	.long	0x00000000,0x00000000	/* 0.0 */
>  	.long	0x00000000,0xbff00000	/* 1.0 */
>  	.type L(DP_ZERONE), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ZERONE))
> +	SIZE_EXPR(L(DP_ZERONE))
>  
>  	.p2align 3
>  L(DP_ONES):
>  	.long	0x00000000,0x3ff00000	/* +1.0 */
>  	.long	0x00000000,0xbff00000	/* -1.0 */
>  	.type L(DP_ONES), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ONES))
> +	SIZE_EXPR(L(DP_ONES))
>  
>  /* Coefficients of polynomial
>     for sin(t)~=t+t^3*(S0+t^2*(S1+t^2*(S2+t^2*(S3+t^2*S4)))), |t|<Pi/4.  */
> @@ -429,37 +429,37 @@ L(DP_ONES):
>  L(DP_S3):
>  	.long	0x64e6b5b4,0x3ec71d72
>  	.type L(DP_S3), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S3))
> +	SIZE_EXPR(L(DP_S3))
>  
>  	.p2align 3
>  L(DP_S1):
>  	.long	0x10c2688b,0x3f811111
>  	.type L(DP_S1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S1))
> +	SIZE_EXPR(L(DP_S1))
>  
>  	.p2align 3
>  L(DP_S4):
>  	.long	0x1674b58a,0xbe5a947e
>  	.type L(DP_S4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S4))
> +	SIZE_EXPR(L(DP_S4))
>  
>  	.p2align 3
>  L(DP_S2):
>  	.long	0x8b4bd1f9,0xbf2a019f
>  	.type L(DP_S2), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S2))
> +	SIZE_EXPR(L(DP_S2))
>  
>  	.p2align 3
>  L(DP_S0):
>  	.long	0x55551cd9,0xbfc55555
>  	.type L(DP_S0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_S0))
> +	SIZE_EXPR(L(DP_S0))
>  
>  	.p2align 3
>  L(DP_SMALL):
>  	.long	0x00000000,0x3cd00000	/* 2^(-50) */
>  	.type L(DP_SMALL), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_SMALL))
> +	SIZE_EXPR(L(DP_SMALL))
>  
>  /* Coefficients of polynomial
>     for cos(t)~=1.0+t^2*(C0+t^2*(C1+t^2*(C2+t^2*(C3+t^2*C4)))), |t|<Pi/4.  */
> @@ -467,87 +467,87 @@ L(DP_SMALL):
>  L(DP_C3):
>  	.long	0x9ac43cc0,0x3efa00eb
>  	.type L(DP_C3), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C3))
> +	SIZE_EXPR(L(DP_C3))
>  
>  	.p2align 3
>  L(DP_C1):
>  	.long	0x545c50c7,0x3fa55555
>  	.type L(DP_C1), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C1))
> +	SIZE_EXPR(L(DP_C1))
>  
>  	.p2align 3
>  L(DP_C4):
>  	.long	0xdd8844d7,0xbe923c97
>  	.type L(DP_C4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C4))
> +	SIZE_EXPR(L(DP_C4))
>  
>  	.p2align 3
>  L(DP_C2):
>  	.long	0x348b6874,0xbf56c16b
>  	.type L(DP_C2), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C2))
> +	SIZE_EXPR(L(DP_C2))
>  
>  	.p2align 3
>  L(DP_C0):
>  	.long	0xfffe98ae,0xbfdfffff
>  	.type L(DP_C0), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_C0))
> +	SIZE_EXPR(L(DP_C0))
>  
>  	.p2align 3
>  L(DP_PIO4):
>  	.long	0x54442d18,0x3fe921fb	/* Pi/4 */
>  	.type L(DP_PIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4))
> +	SIZE_EXPR(L(DP_PIO4))
>  
>  	.p2align 3
>  L(DP_2POW52):
>  	.long	0x00000000,0x43300000	/* +2^52 */
>  	.long	0x00000000,0xc3300000	/* -2^52 */
>  	.type L(DP_2POW52), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_2POW52))
> +	SIZE_EXPR(L(DP_2POW52))
>  
>  	.p2align 3
>  L(DP_INVPIO4):
>  	.long	0x6dc9c883,0x3ff45f30	/* 4/Pi */
>  	.type L(DP_INVPIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_INVPIO4))
> +	SIZE_EXPR(L(DP_INVPIO4))
>  
>  	.p2align 3
>  L(DP_PIO4HI):
>  	.long	0x54000000,0xbfe921fb	/* High part of Pi/4 */
>  	.type L(DP_PIO4HI), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4HI))
> +	SIZE_EXPR(L(DP_PIO4HI))
>  
>  	.p2align 3
>  L(DP_PIO4LO):
>  	.long	0x11A62633,0xbe010b46	/* Low part of Pi/4 */
>  	.type L(DP_PIO4LO), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_PIO4LO))
> +	SIZE_EXPR(L(DP_PIO4LO))
>  
>  	.p2align 2
>  L(SP_INVPIO4):
>  	.long	0x3fa2f983		/* 4/Pi */
>  	.type L(SP_INVPIO4), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_INVPIO4))
> +	SIZE_EXPR(L(SP_INVPIO4))
>  
>  	.p2align 4
>  L(DP_ABS_MASK): /* Mask for getting DP absolute value */
>  	.long	0xffffffff,0x7fffffff
>  	.long	0xffffffff,0x7fffffff
>  	.type L(DP_ABS_MASK), @object
> -	ASM_SIZE_DIRECTIVE(L(DP_ABS_MASK))
> +	SIZE_EXPR(L(DP_ABS_MASK))
>  
>  	.p2align 3
>  L(DP_HI_MASK): /* Mask for getting high 21 bits of DP value */
>  	.long	0x00000000,0xffffffff
>  	.type L(DP_HI_MASK),@object
> -	ASM_SIZE_DIRECTIVE(L(DP_HI_MASK))
> +	SIZE_EXPR(L(DP_HI_MASK))
>  
>  	.p2align 4
>  L(SP_ABS_MASK): /* Mask for getting SP absolute value */
>  	.long	0x7fffffff,0x7fffffff
>  	.long	0x7fffffff,0x7fffffff
>  	.type L(SP_ABS_MASK), @object
> -	ASM_SIZE_DIRECTIVE(L(SP_ABS_MASK))
> +	SIZE_EXPR(L(SP_ABS_MASK))
>  
>  weak_alias(__sinf, sinf)
> diff --git a/sysdeps/x86_64/sysdep.h b/sysdeps/x86_64/sysdep.h
> index 41c3eb2..ef3e650 100644
> --- a/sysdeps/x86_64/sysdep.h
> +++ b/sysdeps/x86_64/sysdep.h
> @@ -1,5 +1,5 @@
>  /* Assembler macros for x86-64.
> -   Copyright (C) 2001, 2002, 2003, 2011, 2012 Free Software Foundation, Inc.
> +   Copyright (C) 2001-2012 Free Software Foundation, Inc.
>     This file is part of the GNU C Library.
>  
>     The GNU C Library is free software; you can redistribute it and/or
> @@ -27,7 +27,6 @@
>  
>  /* ELF uses byte-counts for .align, most others use log2 of count of bytes.  */
>  #define ALIGNARG(log2) 1<<log2
> -#define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
>  
>  
>  /* Define an entry point visible from C.  */
> @@ -42,7 +41,7 @@
>  #undef	END
>  #define END(name)							      \
>    cfi_endproc;								      \
> -  ASM_SIZE_DIRECTIVE(name)
> +  SIZE_EXPR(name)
>  
>  #define ENTRY_CHK(name) ENTRY (name)
>  #define END_CHK(name) END (name)
> 
> 	Marek


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]