diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-03-26 19:04:22 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-03-26 19:04:22 -0400 |
commit | 21cdbc1378e8aa96e1ed4a606dce1a8e7daf7fdf (patch) | |
tree | 55b6c294b912ccdc3eede15960b0ece53a69d902 /arch/s390/lib/string.c | |
parent | 86d9c070175de65890794fa227b68297da6206d8 (diff) | |
parent | ef3500b2b2955af4fa6b0564b51c0c604e38c571 (diff) |
Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6: (81 commits)
[S390] remove duplicated #includes
[S390] cpumask: use mm_cpumask() wrapper
[S390] cpumask: Use accessors code.
[S390] cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.
[S390] cpumask: remove cpu_coregroup_map
[S390] fix clock comparator save area usage
[S390] Add hwcap flag for the etf3 enhancement facility
[S390] Ensure that ipl panic notifier is called late.
[S390] fix dfp elf hwcap/facility bit detection
[S390] smp: perform initial cpu reset before starting a cpu
[S390] smp: fix memory leak on __cpu_up
[S390] ipl: Improve checking logic and remove switch defaults.
[S390] s390dbf: Remove needless check for NULL pointer.
[S390] s390dbf: Remove redundant initilizations.
[S390] use kzfree()
[S390] BUG to BUG_ON changes
[S390] zfcpdump: Prevent zcore from beeing built as a kernel module.
[S390] Use csum_partial in checksum.h
[S390] cleanup lowcore.h
[S390] eliminate ipl_device from lowcore
...
Diffstat (limited to 'arch/s390/lib/string.c')
-rw-r--r-- | arch/s390/lib/string.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/s390/lib/string.c b/arch/s390/lib/string.c index ae5cf5d03d41..4143b7c19096 100644 --- a/arch/s390/lib/string.c +++ b/arch/s390/lib/string.c | |||
@@ -44,7 +44,11 @@ static inline char *__strnend(const char *s, size_t n) | |||
44 | */ | 44 | */ |
45 | size_t strlen(const char *s) | 45 | size_t strlen(const char *s) |
46 | { | 46 | { |
47 | #if __GNUC__ < 4 | ||
47 | return __strend(s) - s; | 48 | return __strend(s) - s; |
49 | #else | ||
50 | return __builtin_strlen(s); | ||
51 | #endif | ||
48 | } | 52 | } |
49 | EXPORT_SYMBOL(strlen); | 53 | EXPORT_SYMBOL(strlen); |
50 | 54 | ||
@@ -70,6 +74,7 @@ EXPORT_SYMBOL(strnlen); | |||
70 | */ | 74 | */ |
71 | char *strcpy(char *dest, const char *src) | 75 | char *strcpy(char *dest, const char *src) |
72 | { | 76 | { |
77 | #if __GNUC__ < 4 | ||
73 | register int r0 asm("0") = 0; | 78 | register int r0 asm("0") = 0; |
74 | char *ret = dest; | 79 | char *ret = dest; |
75 | 80 | ||
@@ -78,6 +83,9 @@ char *strcpy(char *dest, const char *src) | |||
78 | : "+&a" (dest), "+&a" (src) : "d" (r0) | 83 | : "+&a" (dest), "+&a" (src) : "d" (r0) |
79 | : "cc", "memory" ); | 84 | : "cc", "memory" ); |
80 | return ret; | 85 | return ret; |
86 | #else | ||
87 | return __builtin_strcpy(dest, src); | ||
88 | #endif | ||
81 | } | 89 | } |
82 | EXPORT_SYMBOL(strcpy); | 90 | EXPORT_SYMBOL(strcpy); |
83 | 91 | ||