diff options
author | Nick Clifton <nickc@redhat.com> | 2011-10-18 11:35:17 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2011-10-18 11:35:17 +0000 |
commit | d6f6573a5ff9adbc16b76c5d91ba8f6ab401b822 (patch) | |
tree | 1af4a29cc88ab3ff3b012b42cb4cd8d774f13e7e /newlib/libc/machine/arm/memchr-stub.c | |
parent | 53609fd238a7ba4e8e9b53378cef6087170add22 (diff) | |
download | cygnal-d6f6573a5ff9adbc16b76c5d91ba8f6ab401b822.tar.gz cygnal-d6f6573a5ff9adbc16b76c5d91ba8f6ab401b822.tar.bz2 cygnal-d6f6573a5ff9adbc16b76c5d91ba8f6ab401b822.zip |
* libc/machine/arm/Makefile.am (lib_a_SOURCES): Add memchr-stub.c,
memchr.S.
* libc/machine/arm/arm_asm.h: Add ifdef to allow it to be included
in .S files.
* libc/machine/arm/memchr-stub.c: New file - just selects what to
compile.
* libc/machine/arm/memchr.S: New file - ARMv6t2/v7 version.
* libc/machine/arm/Makefile.am (lib_a_SOURCES): Add strlen-armv7.S.
* libc/machine/arm/strlen-armv7.S: New file.
* libc/machine/arm/strlen.c: Add ifdef optimised code so it isn't
for v7 or 6t2.
* libc/machine/arm/Makefile.in: Regenerate.
Diffstat (limited to 'newlib/libc/machine/arm/memchr-stub.c')
-rw-r--r-- | newlib/libc/machine/arm/memchr-stub.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/newlib/libc/machine/arm/memchr-stub.c b/newlib/libc/machine/arm/memchr-stub.c new file mode 100644 index 000000000..04d9d5fd9 --- /dev/null +++ b/newlib/libc/machine/arm/memchr-stub.c @@ -0,0 +1,42 @@ +/* Copyright (c) 2010-2011, Linaro Limited + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of Linaro Limited nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include "arm_asm.h" + + +/* Note: This ifdef MUST match the one in memchr.S */ +#if defined(_ISA_ARM_7) || defined(__ARM_ARCH_6T2__) + /* Do nothing - the memchr.S will get used */ +#else + /* For an older CPU we just fall back to the .c code */ +#include "../../string/memchr.c" +#endif + |