summaryrefslogtreecommitdiffstats
path: root/newlib/libc/machine/arm/strcpy.c
Commit message (Collapse)AuthorAgeFilesLines
* [arm] Fix strcpy for unified syntax on ARMv4t thumb.Richard Earnshaw2017-07-211-1/+1
| | | | | ARMv4t does not support mov between two low registers. Now we use unified syntax mov instructions need converting to movs.
* arm: Update strcpy.c to use UAL syntax.Ian Tessier via newlib2017-07-201-6/+7
| | | | | | | | | | | | | With this change the arm platform can now be fully compiled with Clang. Tested by comparing the output with GCC 4.8.2, and Clang 4.0, using a variety of arches, big/little endianness, and arm/thumb mode to verify the generated assembly output matches between GCC vs Clang with UAL, and also GCC with UAL vs GCC with non-UAL, for all preprocessor code blocks. The only difference found is an extra nop at the end of the function when compiled with GCC using armv7-a/thumb/little-endian/-O2 compared to Clang. The nop is not emitted when compiled in big-endian mode.
* arm: Fix addressing in optpld macroKyrill Tkachov2017-01-261-2/+2
| | | | | | | | | | | | | | | In patch b219285f873cc79361355938bd2a994957b4a6ef you have a syntax error in the PLD instruction. The syntax for the pld argument should be in square brackets as it's a memory address like so: pld [r1]. With your patch the newlib build fails for armv7-a targets. This patch fixes the build failures. Tested by making sure the newlib build completes successfully. 2016-01-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * libc/machine/arm/strcpy.c (strcpy): Fix PLD assembly syntax. * libc/machine/arm/strlen-stub.c (strlen): Likewise.
* arm: Remove RETURN macroPat Pannuto2017-01-251-6/+6
| | | | | | | | | | | | | | LTO can re-order top-level assembly blocks, which can cause this macro definition to appear after its use (or not at all), causing compilation failures. On modern toolchains (armv4t+), assembly should write `bx lr` in all cases, and linkers will transparently convert them to `mov pc, lr`, allowing us to simply remove the macro. (source: https://groups.google.com/forum/#!topic/comp.sys.arm/3l7fVGX-Wug and verified empirically) For the armv4.S file, preserve this macro to maximize backwards compatibility.
* arm: Remove optpld macroPat Pannuto2017-01-251-2/+6
| | | | | | | | | | | LTO can re-order top-level assembly blocks, which can cause this macro definition to appear after its use (or not at all), causing compilation failures. As the macro has very few uses, simply removing it by inlining is a simple fix. n.b. one of the macro invocations in strlen-stub.c was already guarded by the relevant #define, so it is simply converted directly to a pld
* 2009-03-16 Mark Mitchell <mark@codesourcery.com>Jeff Johnston2009-03-161-3/+3
| | | | | | | | | | | * libc/machine/arm/strlen.c (strlen): Fix defect in Thumb-2 mode. 2009-03-16 Richard Earnshaw <rearnsha@arm.com> * libc/machine/arm/strlen.c (strlen): Correctly detect end-of-string. * libc/machine/arm/strcpy.c (strcpy): Likewise. * libc/machine/arm/strcmp.c (strcmp, strcmp_unaligned): Likewise.
* 2009-02-26 Brooks Moses <brooks@codesourcery.com>Jeff Johnston2009-02-261-1/+1
| | | | * libc/machine/arm/strcpy.c: Add missing comma.
* 2009-01-21 Richard Earnshaw <rearnsha@arm.com>Jeff Johnston2009-01-221-0/+169
* libc/machine/arm/arm_asm.h: New file. * libc/machine/arm/strlen.c: New file. * libc/machine/arm/strcpy.c: New file. * libc/machine/arm/strcmp.c: New file. * libc/machine/arm/Makefile.am: Add new string routines.