aboutsummaryrefslogtreecommitdiff
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
glibc-6a0dd472f407fd2fedd7bdf744a5d9fa87b124af.tar.gz
glibc-6a0dd472f407fd2fedd7bdf744a5d9fa87b124af.tar.bz2
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. */