about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-11-14 18:39:33 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-11-14 18:39:33 +0000
commit6a0dd472f407fd2fedd7bdf744a5d9fa87b124af (patch)
tree4ea926e404882f4d094d97143b288ead957371bc
parenta4733812085f338dfcbb3f31b48747b00eb5c46c (diff)
downloadglibc-6a0dd472f407fd2fedd7bdf744a5d9fa87b124af.tar.gz
glibc-6a0dd472f407fd2fedd7bdf744a5d9fa87b124af.tar.xz
glibc-6a0dd472f407fd2fedd7bdf744a5d9fa87b124af.zip
Remove ARM __GNUC_PREREQ(4,4) conditionals.
This patch removes conditionals in ARM code on __GNUC_PREREQ(4,4),
which were already obsolete even before the move from 4.4 to 4.6 as
minimum GCC version for building glibc.

Tested for ARM that installed shared libraries are unchanged by this
patch.

	* sysdeps/arm/sysdep.h [PROF && __GNUC_PREREQ(4,4)] (CALL_MCOUNT):
	Make definition conditional only on [PROF].
	[PROF && !__GNUC_PREREQ(4,4)] (CALL_MCOUNT): Remove conditional
	definition.
	[__GNUC_PREREQ(4,4)] (mcount): Make definition unconditional.
	[!__GNUC_PREREQ(4,4)] (mcount): Remove conditional definition.
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/arm/sysdep.h17
2 files changed, 8 insertions, 16 deletions
diff --git a/ChangeLog b/ChangeLog
index a5f2fac863..f84b92e940 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2014-11-14  Joseph Myers  <joseph@codesourcery.com>
 
+	* sysdeps/arm/sysdep.h [PROF && __GNUC_PREREQ(4,4)] (CALL_MCOUNT):
+	Make definition conditional only on [PROF].
+	[PROF && !__GNUC_PREREQ(4,4)] (CALL_MCOUNT): Remove conditional
+	definition.
+	[__GNUC_PREREQ(4,4)] (mcount): Make definition unconditional.
+	[!__GNUC_PREREQ(4,4)] (mcount): Remove conditional definition.
+
 	* signal/signal.h (__sigpause): Only declare if [__USE_XOPEN &&
 	!__GNUC__].
 	* include/signal.h (__sigpause): Move declaration above call to
diff --git a/sysdeps/arm/sysdep.h b/sysdeps/arm/sysdep.h
index 8614b4a058..9225293e32 100644
--- a/sysdeps/arm/sysdep.h
+++ b/sysdeps/arm/sysdep.h
@@ -109,8 +109,7 @@
 
 /* If compiled for profiling, call `mcount' at the start of each function.  */
 #ifdef	PROF
-/* Call __gnu_mcount_nc if GCC >= 4.4.  */
-#if __GNUC_PREREQ(4,4)
+/* Call __gnu_mcount_nc (GCC >= 4.4).  */
 #define CALL_MCOUNT					\
 	push	{lr};					\
 	cfi_adjust_cfa_offset (4);			\
@@ -118,16 +117,6 @@
 	bl	PLTJMP(mcount);				\
 	cfi_adjust_cfa_offset (-4);			\
 	cfi_restore (lr)
-#else /* else call _mcount */
-#define CALL_MCOUNT					\
-	push	{lr};					\
-	cfi_adjust_cfa_offset (4);			\
-	cfi_rel_offset (lr, 0);				\
-	bl	PLTJMP(mcount);				\
-	pops	{lr};					\
-	cfi_adjust_cfa_offset (-4);			\
-	cfi_restore (lr)
-#endif
 #else
 #define CALL_MCOUNT		/* Do nothing.  */
 #endif
@@ -136,11 +125,7 @@
    on this system, the asm identifier `syscall_error' intrudes on the
    C name space.  Make sure we use an innocuous name.  */
 #define	syscall_error	__syscall_error
-#if __GNUC_PREREQ(4,4)
 #define mcount		__gnu_mcount_nc
-#else
-#define mcount		_mcount
-#endif
 
 /* Tag_ABI_align8_preserved: This code preserves 8-byte
    alignment in any callee.  */