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>
This commit is contained in:
parent
892cfcb7c2
commit
e6d9af11f1
|
@ -1,3 +1,8 @@
|
|||
2015-08-27 Markus Eisenmann <meisenmann.lba@fh-salzburg.ac.at>
|
||||
|
||||
* libc/machine/arm/strlen-armv7.S: Fix prepocessor check to avoid
|
||||
double definition of strlen.
|
||||
|
||||
2015-08-27 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||||
|
||||
* libc/include/sys/_intsup.h: Defined new __INTxx, __FASTxx and
|
||||
|
|
|
@ -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__)))
|
||||
|
||||
|
|
Loading…
Reference in New Issue