musl/arch/arm/bits
Rich Felker 4918c2bb20 fix detection of arm hardfloat
it turns out that __SOFTFP__ does not indicate the ABI in use but
rather that fpu instructions are not to be used at all. this is
specified in ARM's documentation so I'm unclear on how I previously
got the wrong idea. unfortunately, this resulted in the 0.9.12 release
producing a dynamic linker with the wrong name. fortunately, there do
not yet seem to be any public toolchain builds using the wrong name.

the __ARM_PCS_VFP macro does not seem to be official from ARM, and in
fact it was missing from the very earliest gcc versions (around 4.5.x)
that added -mfloat-abi=hard. it would be possible on such versions to
perform some ugly linker-based tests instead in hopes that the linker
will reject ABI-mismatching object files, if there is demand for
supporting such versions. I would probably prefer to document which
versions are broken and warn users to manually add -D__ARM_PCS_VFP if
using such a version.

there's definitely an argument to be made that the fenv macros should
be exposed even in -mfloat-abi=softfp mode. for now, I have chosen not
to expose them in this case, since the math library will not
necessarily have the capability to raise exceptions (it depends on the
CFLAGS used to compile it), and since exceptions are officially
excluded from the ARM EABI, which the plain "arm" arch aims to
follow.
2013-08-16 17:09:07 -04:00
..
alltypes.h.in fix regression in size of nlink_t (broken stat struct) on x86_64 2013-07-22 15:45:28 -04:00
endian.h better support for reverse-endian variants of arm/mips/microblaze 2012-10-18 21:50:55 -04:00
errno.h add missing EHWPOISON to bits/errno.h 2013-01-12 19:42:39 +01:00
fcntl.h add missing F_GETOWNER_UIDS flag to bits/fcntl.h 2013-01-12 19:42:39 +01:00
fenv.h fix detection of arm hardfloat 2013-08-16 17:09:07 -04:00
float.h add FLT_TRUE_MIN, etc. macros from C11 2013-05-17 18:38:42 -04:00
io.h fix breakage from introducing bits header for sys/io.h 2012-11-18 19:58:15 -05:00
ioctl.h fix ioctl _IOR, _IOW, etc macros to avoid signed overflow (2<<30) 2013-05-26 15:49:08 +00:00
ipc.h fix broken semctl on systems that don't use IPC_64 flag 2012-09-22 08:02:42 -04:00
limits.h fix missing _BSD_SOURCE support in bits/*.h 2012-05-22 22:12:10 -04:00
mman.h add missing mmap options and madvices to bits/mman.h based on linux headers 2013-01-12 19:42:39 +01:00
msg.h
posix.h
reg.h
setjmp.h change jmp_buf to share an underlying type and struct tag with sigjmp_buf 2013-07-24 02:17:02 -04:00
shm.h
signal.h add deprecated SIGIOT alias for SIGABRT 2013-03-23 20:02:31 -04:00
socket.h workaround another sendmsg kernel bug on 64-bit machines 2012-07-12 21:37:54 -04:00
stat.h
statfs.h
stdarg.h
stdint.h remove SIG_ATOMIC_MIN/MAX from stdint bits headers 2013-07-22 17:02:03 -04:00
syscall.h add syscall numbers for the new kcmp and finit_module syscalls 2013-04-01 18:02:32 +00:00
termios.h add missing EXTPROC flag to bits/termios.h 2013-01-12 19:42:39 +01:00
user.h fix regression in arm user.h that happened during big user.h changes 2012-12-04 09:32:45 -05:00