diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2015-08-27 12:55:22 +0200 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2015-08-27 12:55:22 +0200 |
commit | e6d9af11f1f21a70a6d947ab452ac4d82caace64 (patch) | |
tree | beef2ef20e0d71851f7c546d84ae9c4696b035a5 /newlib/libc | |
parent | 892cfcb7c2fbdc3b2b09c95a7a6c2065e5e0cfae (diff) | |
download | newlib-e6d9af11f1f21a70a6d947ab452ac4d82caace64.zip newlib-e6d9af11f1f21a70a6d947ab452ac4d82caace64.tar.gz newlib-e6d9af11f1f21a70a6d947ab452ac4d82caace64.tar.bz2 |
strlen-armv7.S: Fix preprocessor check
Hi!
I've got the situation, that the function strlen() occurs twice in libc.a
(building newlib for ARM-V7a and Size-Optimized).
In newlib/libc/machine/arm/strlen.c there are the pre-processor stetements ...
#if defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED) || \
(defined (__thumb__) && !defined (__thumb2__))
/*...*/
#else
#if !(defined(_ISA_ARM_7) || defined(__ARM_ARCH_6T2__))
/*...*/
#endif
and in newlib/libc/machine/arm/strlen-armv7.S the "exclude" begins with
/* NOTE: This ifdef MUST match the ones in arm/strlen.c
We fallback to the one in arm/strlen.c for size optimised or
for older architectures. */
#if defined(_ISA_ARM_7) || defined(__ARM_ARCH_6T2__) && \
!(defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED) || \
(defined (__thumb__) && !defined (__thumb2__)))
But this is not completely contrary to arm/strlen.c (see above)!
To fix the logical statement in arm/strlen-armv7.S there are parentheses needed
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'newlib/libc')
-rw-r--r-- | newlib/libc/machine/arm/strlen-armv7.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/newlib/libc/machine/arm/strlen-armv7.S b/newlib/libc/machine/arm/strlen-armv7.S index 1aa51c9..cb6ba08 100644 --- a/newlib/libc/machine/arm/strlen-armv7.S +++ b/newlib/libc/machine/arm/strlen-armv7.S @@ -37,7 +37,7 @@ /* NOTE: This ifdef MUST match the ones in arm/strlen.c We fallback to the one in arm/strlen.c for size optimised or for older architectures. */ -#if defined(_ISA_ARM_7) || defined(__ARM_ARCH_6T2__) && \ +#if (defined(_ISA_ARM_7) || defined(__ARM_ARCH_6T2__)) && \ !(defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED) || \ (defined (__thumb__) && !defined (__thumb2__))) |