diff options
author | Richard Henderson <rth@twiddle.net> | 2013-02-14 10:32:04 -0800 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2013-03-06 07:46:44 -0800 |
commit | 5ff5dfe748c0585bb43e9d16fea9d89dc3bf2b9b (patch) | |
tree | fc645728bc43e2f719239657e780d3e3e2b0f045 | |
parent | 5232b909bf31420497ec864e34f806a545017185 (diff) | |
download | glibc-5ff5dfe748c0585bb43e9d16fea9d89dc3bf2b9b.tar glibc-5ff5dfe748c0585bb43e9d16fea9d89dc3bf2b9b.tar.gz glibc-5ff5dfe748c0585bb43e9d16fea9d89dc3bf2b9b.tar.bz2 glibc-5ff5dfe748c0585bb43e9d16fea9d89dc3bf2b9b.zip |
arm: Enable thumb2 mode in assembly files
The preceeding patches have allowed for the few incompatibilities
between arm and thumb2 mode, or have marked the file as not wanting
to use thumb2 mode.
-rw-r--r-- | ports/ChangeLog.arm | 3 | ||||
-rw-r--r-- | ports/sysdeps/arm/sysdep.h | 13 |
2 files changed, 14 insertions, 2 deletions
diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm index 3ad5704e2f..6458a75154 100644 --- a/ports/ChangeLog.arm +++ b/ports/ChangeLog.arm @@ -1,5 +1,8 @@ 2013-03-06 Richard Henderson <rth@redhat.com> + * sysdeps/arm/sysdep.h [__ASSEMBLER__]: Enable thumb2 if __thumb2__. + (PC_OFS): Respect __thumb__ if __ASSEMBLER__. + * sysdeps/arm/sysdep.h (GET_TLS): New macro. * sysdeps/arm/dl-tlsdesc.S (_dl_tlsdesc_undefweak): Use it. (_dl_tlsdesc_dynamic): Likewise. diff --git a/ports/sysdeps/arm/sysdep.h b/ports/sysdeps/arm/sysdep.h index c525d5b977..d855ceb3c3 100644 --- a/ports/sysdeps/arm/sysdep.h +++ b/ports/sysdeps/arm/sysdep.h @@ -117,6 +117,16 @@ the caller. */ .eabi_attribute 24, 1 +/* The thumb2 encoding is reasonably complete. Unless suppressed, use it. */ + .syntax unified +# if defined(__thumb2__) && !defined(NO_THUMB) + .thumb +#else +# undef __thumb__ +# undef __thumb2__ + .arm +# endif + /* Load or store to/from a pc-relative EXPR into/from R, using T. */ # ifdef __thumb2__ # define LDST_PCREL(OP, R, T, EXPR) \ @@ -172,8 +182,7 @@ #endif /* __ASSEMBLER__ */ /* This number is the offset from the pc at the current location. */ -/* ??? At the moment we're not turning on thumb mode in assembly. */ -#if defined(__thumb__) && !defined(__ASSEMBLER__) +#ifdef __thumb__ # define PC_OFS 4 #else # define PC_OFS 8 |