[PATCH] Get rid of ASM_SIZE_DIRECTIVE (another take)

Marek Polacek polacek@redhat.com
Sat Nov 3 18:18:00 GMT 2012


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



More information about the Libc-alpha mailing list