arm: Mark assembly files that will not use thumb mode

Some routines are written with complex LDM/STM insns that cannot be
used in thumb mode, or are highly conditional requiring excessive
IT insns.

When a future patch goes in to enable thumb2 by default, this marker
will be used to override that default.
This commit is contained in:
Richard Henderson 2013-02-13 20:32:14 -08:00
parent 6ccd0107f3
commit 365261c37f
12 changed files with 33 additions and 0 deletions

View File

@ -37,6 +37,17 @@
* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO_RET): Likewise.
* sysdeps/unix/sysv/linux/arm/vfork.S (__vfork): Likewise.
* ports/sysdeps/arm/__longjmp.S: Define NO_THUMB before <sysdep.h>
* sysdeps/arm/crti.S, sysdeps/arm/crtn.S: Likewise.
* sysdeps/arm/dl-trampoline.S: Likewise.
* sysdeps/arm/memcpy.S: Likewise.
* sysdeps/arm/memmove.S: Likewise.
* sysdeps/arm/memset.S: Likewise.
* sysdeps/arm/setjmp.S: Likewise.
* sysdeps/arm/strlen.S: Likewise.
* sysdeps/unix/sysv/linux/arm/____longjmp_chk.S: Likewise.
* sysdeps/unix/sysv/linux/arm/setcontext.S: Likewise.
2013-02-27 Roland McGrath <roland@hack.frob.com>
* sysdeps/arm/sysdep.h (CFI_SECTIONS): New macro.

View File

@ -16,6 +16,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
/* ??? Needs more rearrangement for the LDM to handle thumb mode. */
#define NO_THUMB
#include <sysdep.h>
#define _SETJMP_H
#define _ASM

View File

@ -38,6 +38,8 @@
they can be called as functions. The symbols _init and _fini are
magic and cause the linker to emit DT_INIT and DT_FINI. */
/* Always build .init and .fini sections in ARM mode. */
#define NO_THUMB
#include <libc-symbols.h>
#include <sysdep.h>

View File

@ -33,6 +33,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
/* Always build .init and .fini sections in ARM mode. */
#define NO_THUMB
#include <sysdep.h>
/* crtn.S puts function epilogues in the .init and .fini sections

View File

@ -16,6 +16,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
/* ??? Needs more rearrangement for the LDM to handle thumb mode. */
#define NO_THUMB
#include <sysdep.h>
#include <libc-symbols.h>

View File

@ -17,6 +17,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
/* Thumb requires excessive IT insns here. */
#define NO_THUMB
#include <sysdep.h>
/*

View File

@ -17,6 +17,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
/* Thumb requires excessive IT insns here. */
#define NO_THUMB
#include <sysdep.h>
/*

View File

@ -16,6 +16,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
/* Thumb requires excessive IT insns here. */
#define NO_THUMB
#include <sysdep.h>
/* void *memset (dstpp, c, len) */

View File

@ -16,6 +16,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
/* ??? Needs more rearrangement for the STM to handle thumb mode. */
#define NO_THUMB
#include <sysdep.h>
#define _SETJMP_H
#define _ASM

View File

@ -16,6 +16,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
/* Thumb requires excessive IT insns here. */
#define NO_THUMB
#include <sysdep.h>
/* size_t strlen(const char *S)

View File

@ -15,6 +15,8 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
/* ??? Needs more rearrangement for the LDM to handle thumb mode. */
#define NO_THUMB
#include <sysdep.h>
.section .rodata.str1.1,"aMS",%progbits,1

View File

@ -15,6 +15,8 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
/* ??? Needs more rearrangement for the LDM to handle thumb mode. */
#define NO_THUMB
#include <sysdep.h>
#include <rtld-global-offsets.h>