diff options
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/bits/wordsize.h | 20 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc32/Implies | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc32/Versions | 5 |
3 files changed, 28 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h b/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h new file mode 100644 index 0000000000..2d958d29e5 --- /dev/null +++ b/sysdeps/unix/sysv/linux/sparc/bits/wordsize.h @@ -0,0 +1,20 @@ +/* Determine the wordsize from the preprocessor defines. */ + +#if defined __arch64__ || defined __sparcv9 +# define __WORDSIZE 64 +#else +# define __WORDSIZE 32 +#endif + +#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL + +# if __WORDSIZE == 32 +/* Signal that in 32bit ABI we didn't used to have a `long double'. + The changes all the `long double' function variants to be redirects + to the double functions. */ +# define __LONG_DOUBLE_MATH_OPTIONAL 1 +# ifndef __LONG_DOUBLE_128__ +# define __NO_LONG_DOUBLE_MATH 1 +# endif +# endif +#endif diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/Implies b/sysdeps/unix/sysv/linux/sparc/sparc32/Implies new file mode 100644 index 0000000000..efda9d27c0 --- /dev/null +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/Implies @@ -0,0 +1,3 @@ +# These supply the ABI compatibility for when long double was double. +ieee754/ldbl-64-128 +ieee754/ldbl-opt diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/Versions b/sysdeps/unix/sysv/linux/sparc/sparc32/Versions index c585af3602..99458e85a7 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/Versions +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/Versions @@ -21,3 +21,8 @@ libc { posix_fadvise64; posix_fallocate64; } } + +/* This is used by sysdeps/ieee754/ldbl-opt/Versions. It gives the + ABI version where long double == double was replaced with proper + long double for libm *l functions and libc functions using long double. */ +%define NLDBL_VERSION GLIBC_2.4 |