diff --git a/ChangeLog b/ChangeLog
index ce8cefd110..57195c220b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2011-09-14  Ulrich Drepper  <drepper@gmail.com>
 
+	* sysdeps/x86_64/fpu/s_copysign.S [ELF]: Use correct section.
+
 	* sysdeps/x86_64/fpu/bits/mathinline.h (__MATH_INLINE): Use
 	__extern_always_inline.
 	Define lrint{f,} and llrint{f,} for 64-bit and in some situations for
diff --git a/sysdeps/x86_64/fpu/s_copysign.S b/sysdeps/x86_64/fpu/s_copysign.S
index f3d9b0cbb4..66c36c88eb 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 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2006, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Jaeger <aj@suse.de>, 2002.
 
@@ -21,7 +21,7 @@
 #include <machine/asm.h>
 
 #ifdef __ELF__
-	.section .rodata
+	.section .rodata.cst16,"aM",@progbits,16
 #else
 	.text
 #endif