glibc/sysdeps
Joseph Myers 3a66b2b063 Fix ARM fpu_control.h for assemblers requiring VFP insn names (bug 21047).
Bug 21047 reports that the clang assembler disallows the ARM
implementations of _FPU_GETCW and _FPU_SETCW.

These are deliberately written the way they are, using generic
coprocessor instructions (from the days when VFP was just one possible
coprocessor for ARM) that have the right encodings, to handle the case
of the instructions being used runtime-conditionally inside glibc,
where use of these macros is not meant to result in either the
assembler requiring VFP to be enabled at assembly time or in it
marking the object as using VFP.  However, more recent ARM ARM
versions have restricted the definitions of the coprocessor
instructions and reportedly the clang assembler follows that in
disallowing those names for VFP instructions.

In the non-__SOFTFP__ case - which in fact is the only case where
these macro definitions can be used outside the build of glibc itself
- using VFP instruction names is of course fine, since we know that
VFP is enabled for that compilation.  Thus, this patch uses the
current VFP names for these instructions in that case to improve
compatibility for this header file.

Tested for hard-float and soft-float builds of glibc, including that
installed stripped shared libraries are unchanged by the patch.

	[BZ #21047]
	* sysdeps/arm/fpu_control.h [!__SOFTFP__] (_FPU_GETCW): Use VFP
	name for instruction.
	[!__SOFTFP__] (_FPU_SETCW): Likewise.
2017-01-19 00:05:34 +00:00
..
aarch64 New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
alpha Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
arm Fix ARM fpu_control.h for assemblers requiring VFP insn names (bug 21047). 2017-01-19 00:05:34 +00:00
generic Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
gnu Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
hppa New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
i386 Move wrappers to libm-compat-calls-auto 2017-01-04 16:25:04 -02:00
ia64 New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
ieee754 Move wrappers to libm-compat-calls-auto 2017-01-04 16:25:04 -02:00
init_array Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
m68k New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
mach Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
microblaze New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
mips New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
nacl Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
nios2 New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
nptl Clear list of acquired robust mutexes in the child process after forking. 2017-01-13 17:17:38 +01:00
posix Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
powerpc powerpc: Regenerate ULPs 2017-01-13 09:36:46 -02:00
pthread Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s390 New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
sh New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
sparc New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
tile tile: Check for pointer add overflow in memchr 2017-01-16 15:44:48 -05:00
unix Make soft-float powerpc swapcontext restore the signal mask (bug 21045). 2017-01-16 21:34:48 +00:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
x86 New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
x86_64 Fix x86 strncat optimized implementation for large sizes 2017-01-03 14:24:53 -02:00