diff options
author | Nick Clifton <nickc@redhat.com> | 2015-04-09 09:20:00 +0100 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2015-04-23 21:57:13 +0200 |
commit | cd0d45913525ef09f0494a2f0c8e3d6fe8fface2 (patch) | |
tree | dcbb6a0c97dc45cc7df625cbeb4d1a99f503d247 /include | |
parent | 45d0b17928067ee848aae2cd5bd332129ca35c42 (diff) | |
download | newlib-cd0d45913525ef09f0494a2f0c8e3d6fe8fface2.zip newlib-cd0d45913525ef09f0494a2f0c8e3d6fe8fface2.tar.gz newlib-cd0d45913525ef09f0494a2f0c8e3d6fe8fface2.tar.bz2 |
For the RX port, avoid using string instructions when __RX_DISALLOW_STRING_INSNS__ is defined.
* rx/crt0.S (_start): If string instructions are not allowed,
avoid using SMOVF.
* libc/machine/rx/memchr.S: Add non-string insn using version.
* libc/machine/rx/memcpy.S: Likewise.
* libc/machine/rx/memmove.S: Likewise.
* libc/machine/rx/mempcpy.S: Likewise.
* libc/machine/rx/strcat.S: Likewise.
* libc/machine/rx/strcmp.S: Likewise.
* libc/machine/rx/strcpy.S: Likewise.
* libc/machine/rx/strlen.S: Likewise.
* libc/machine/rx/strncat.S: Likewise.
* libc/machine/rx/strncmp.S: Likewise.
* libc/machine/rx/strncpy.S: Likewise.
Diffstat (limited to 'include')
-rw-r--r-- | include/elf/rx.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/elf/rx.h b/include/elf/rx.h index 8398085..c17128c 100644 --- a/include/elf/rx.h +++ b/include/elf/rx.h @@ -120,6 +120,11 @@ END_RELOC_NUMBERS (R_RX_max) #define E_FLAG_RX_PID (1 << 2) /* Unofficial - DJ */ #define E_FLAG_RX_ABI (1 << 3) /* Binary passes stacked arguments using natural alignment. Unofficial - NC. */ +#define E_FLAG_RX_SINSNS_SET (1 << 6) /* Set if bit-5 is significant. */ +#define E_FLAG_RX_SINSNS_YES (1 << 7) /* Set if string instructions are used in the binary. */ +#define E_FLAG_RX_SINSNS_NO 0 /* Bit-5 if this binary must not be linked with a string instruction using binary. */ +#define E_FLAG_RX_SINSNS_MASK (3 << 6) /* Mask of bits used to determine string instruction use. */ + /* These define the addend field of R_RX_RH_RELAX relocations. */ #define RX_RELAXA_IMM6 0x00000010 /* Imm8/16/24/32 at bit offset 6. */ #define RX_RELAXA_IMM12 0x00000020 /* Imm8/16/24/32 at bit offset 12. */ |