about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-09-24 21:48:22 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-09-24 21:48:22 +0000
commit1a19b8894f93878f99025096ec1d3b6af7db6f78 (patch)
tree6c51149877b5d0034b595faedaa60a352c8c35f1
parent37825319ee64d51bf8b1774f4964e9743eaf5ef6 (diff)
downloadglibc-1a19b8894f93878f99025096ec1d3b6af7db6f78.tar.gz
glibc-1a19b8894f93878f99025096ec1d3b6af7db6f78.tar.xz
glibc-1a19b8894f93878f99025096ec1d3b6af7db6f78.zip
Use LOAD_PIC_REG in i386 atanh.
sysdeps/i386/fpu/e_atanh.S, unlike all other functions in that
directory, loads the PIC register with its own code using
_GLOBAL_OFFSET_TABLE_, rather than with the LOAD_PIC_REG macro.  I see
no good reason for the difference; this patch makes it use the common
macro.

Tested for x86.

	* sysdeps/i386/fpu/e_atanh.S (__ieee754_atanh) [PIC]: Use
	LOAD_PIC_REG.
-rw-r--r--ChangeLog3
-rw-r--r--sysdeps/i386/fpu/e_atanh.S6
2 files changed, 4 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index dbe8c77d3b..851dfc0918 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2015-09-24  Joseph Myers  <joseph@codesourcery.com>
 
+	* sysdeps/i386/fpu/e_atanh.S (__ieee754_atanh) [PIC]: Use
+	LOAD_PIC_REG.
+
 	* sysdeps/i386/fpu/i386-math-asm.h (DEFINE_LDBL_MIN): New macro.
 	(FLT_CHECK_FORCE_UFLOW): Likewise.
 	(DBL_CHECK_FORCE_UFLOW): Likewise.
diff --git a/sysdeps/i386/fpu/e_atanh.S b/sysdeps/i386/fpu/e_atanh.S
index 5772bbf802..448c76b965 100644
--- a/sysdeps/i386/fpu/e_atanh.S
+++ b/sysdeps/i386/fpu/e_atanh.S
@@ -55,11 +55,7 @@ ENTRY(__ieee754_atanh)
 7:
 
 #ifdef PIC
-	call	1f
-	cfi_adjust_cfa_offset (4)
-1:	popl	%edx
-	cfi_adjust_cfa_offset (-4)
-	addl	$_GLOBAL_OFFSET_TABLE_+[.-1b], %edx
+	LOAD_PIC_REG (dx)
 #endif
 
 	andl	$0x80000000, %ecx // ECX == 0 iff X >= 0