diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2017-05-23 00:47:19 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2017-05-24 20:44:04 +0200 |
commit | 228f76d4dfe9a8a9b50e4c5ac8161a991fc8107c (patch) | |
tree | f739b8221a0392b73e8696d080c3bfc87c397b49 | |
parent | 383122dd2e2fb78854ed420c5e819a3007b4f256 (diff) |
sparc: cleanup sparc64 bits and unused soft-fp
Remove a lot of unused 64 Bit header stuff.
62 files changed, 15 insertions, 7497 deletions
diff --git a/libc/sysdeps/linux/sparc/Makefile.arch b/libc/sysdeps/linux/sparc/Makefile.arch index be393b832..d34624f36 100644 --- a/libc/sysdeps/linux/sparc/Makefile.arch +++ b/libc/sysdeps/linux/sparc/Makefile.arch @@ -11,16 +11,3 @@ SSRC-y := __longjmp.S setjmp.S bsd-setjmp.S bsd-_setjmp.S \ CSRC-$(UCLIBC_HAS_CONTEXT_FUNCS) += makecontext.c SSRC-$(UCLIBC_HAS_CONTEXT_FUNCS) += getcontext.S setcontext.S swapcontext.S - -# check weather __LONG_DOUBLE_128__ is defined (long double support) -UCLIBC_SPARC_HAS_LONG_DOUBLE=$(shell if [ "x`$(CC) -E -dM -xc /dev/null 2>&1 | grep __LONG_DOUBLE_128__`" != "x" ]; then echo "y"; fi) -ifeq ($(UCLIBC_SPARC_HAS_LONG_DOUBLE),y) -CSRC-y += $(addprefix soft-fp/, \ - q_div.c q_fle.c q_mul.c q_qtoll.c q_stoq.c \ - mp_clz_tab.c q_dtoq.c q_flt.c q_neg.c q_qtos.c q_sub.c \ - q_add.c q_feq.c q_fne.c q_qtod.c q_qtou.c q_ulltoq.c \ - q_cmp.c q_fge.c q_itoq.c q_qtoull.c q_util.c \ - q_cmpe.c q_fgt.c q_lltoq.c q_qtoi.c q_sqrt.c q_utoq.c) -else -CSRC-y += qp_ops.c -endif diff --git a/libc/sysdeps/linux/sparc/_math_inc.h b/libc/sysdeps/linux/sparc/_math_inc.h index 1bf84f04e..7c81459d4 100644 --- a/libc/sysdeps/linux/sparc/_math_inc.h +++ b/libc/sysdeps/linux/sparc/_math_inc.h @@ -4,20 +4,13 @@ */ #include <features.h> -#include <bits/wordsize.h> #define __ASSEMBLY__ -#ifndef __sparc_v9__ #include <asm/traps.h> -#endif /* Is alignment really needed? */ -#if __WORDSIZE == 32 -# define ENTRY_ALIGN 4 -#else -# define ENTRY_ALIGN 2 -#endif +#define ENTRY_ALIGN 4 #define ENTRY(sym) \ .global sym; \ diff --git a/libc/sysdeps/linux/sparc/bits/fcntl.h b/libc/sysdeps/linux/sparc/bits/fcntl.h index bc744edfd..fe0c9c4d7 100644 --- a/libc/sysdeps/linux/sparc/bits/fcntl.h +++ b/libc/sysdeps/linux/sparc/bits/fcntl.h @@ -1,7 +1,6 @@ /* O_*, F_*, FD_* bit values for Linux/SPARC. Copyright (C) 1995, 1996, 1997, 1998, 2000, 2003, 2004, 2006, 2007 Free Software Foundation, Inc. - This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -22,7 +21,6 @@ #endif #include <sys/types.h> -#include <bits/wordsize.h> #ifdef __USE_GNU # include <bits/uio.h> #endif @@ -53,11 +51,7 @@ #endif #ifdef __USE_LARGEFILE64 -# if __WORDSIZE == 64 -# define O_LARGEFILE 0 -# else -# define O_LARGEFILE 0x40000 -# endif +# define O_LARGEFILE 0x40000 #endif /* For now Linux has no synchronisity options for data and read @@ -111,15 +105,9 @@ # define F_GETPIPE_SZ 1032 /* Get pipe page size array. */ #endif -#if __WORDSIZE == 64 -# define F_GETLK64 7 /* Get record locking info. */ -# define F_SETLK64 8 /* Set record locking info (non-blocking). */ -# define F_SETLKW64 9 /* Set record locking info (blocking). */ -#else -# define F_GETLK64 12 /* Get record locking info. */ -# define F_SETLK64 13 /* Set record locking info (non-blocking). */ -# define F_SETLKW64 14 /* Set record locking info (blocking). */ -#endif +#define F_GETLK64 12 /* Get record locking info. */ +#define F_SETLK64 13 /* Set record locking info (non-blocking). */ +#define F_SETLKW64 14 /* Set record locking info (blocking). */ /* for F_[GET|SET]FD */ #define FD_CLOEXEC 1 /* actually anything with low bit set goes */ diff --git a/libc/sysdeps/linux/sparc/bits/fenv.h b/libc/sysdeps/linux/sparc/bits/fenv.h index 61d45591c..79ab8cefa 100644 --- a/libc/sysdeps/linux/sparc/bits/fenv.h +++ b/libc/sysdeps/linux/sparc/bits/fenv.h @@ -1,5 +1,4 @@ /* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -19,9 +18,6 @@ # error "Never use <bits/fenv.h> directly; include <fenv.h> instead." #endif -#include <bits/wordsize.h> - - /* Define bits representing the exception. We use the bit positions of the appropriate accrued exception bits from the FSR. */ enum @@ -75,10 +71,5 @@ typedef unsigned long int fenv_t; #endif /* For internal use only: access the fp state register. */ -#if __WORDSIZE == 64 -# define __fenv_stfsr(X) __asm__ ("stx %%fsr,%0" : "=m" (X)) -# define __fenv_ldfsr(X) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (X)) -#else -# define __fenv_stfsr(X) __asm__ ("st %%fsr,%0" : "=m" (X)) -# define __fenv_ldfsr(X) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X)) -#endif +#define __fenv_stfsr(X) __asm__ ("st %%fsr,%0" : "=m" (X)) +#define __fenv_ldfsr(X) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (X)) diff --git a/libc/sysdeps/linux/sparc/bits/huge_vall.h b/libc/sysdeps/linux/sparc/bits/huge_vall.h index 5c44edc57..645ccd9f2 100644 --- a/libc/sysdeps/linux/sparc/bits/huge_vall.h +++ b/libc/sysdeps/linux/sparc/bits/huge_vall.h @@ -2,7 +2,6 @@ Used by <stdlib.h> and <math.h> functions for overflow. Copyright (C) 1992, 1995, 1996, 1997, 1999, 2000, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public diff --git a/libc/sysdeps/linux/sparc/bits/ipc.h b/libc/sysdeps/linux/sparc/bits/ipc.h index 88fab1e47..017d0e1bc 100644 --- a/libc/sysdeps/linux/sparc/bits/ipc.h +++ b/libc/sysdeps/linux/sparc/bits/ipc.h @@ -1,5 +1,4 @@ /* Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,7 +19,6 @@ #endif #include <bits/types.h> -#include <bits/wordsize.h> /* Mode bits for `msgget', `semget', and `shmget'. */ #define IPC_CREAT 01000 /* Create key if key does not exist. */ @@ -47,14 +45,9 @@ struct ipc_perm __gid_t gid; /* Owner's group ID. */ __uid_t cuid; /* Creator's user ID. */ __gid_t cgid; /* Creator's group ID. */ -#if __WORDSIZE == 32 unsigned short int __pad1; unsigned short int mode; /* Read/write permission. */ unsigned short int __pad2; -#else - __mode_t mode; /* Read/write permission. */ - unsigned short int __pad1; -#endif unsigned short int __seq; /* Sequence number. */ unsigned long long int __unused1; unsigned long long int __unused2; diff --git a/libc/sysdeps/linux/sparc/bits/kernel_stat.h b/libc/sysdeps/linux/sparc/bits/kernel_stat.h index f09ae3734..e960857fe 100644 --- a/libc/sysdeps/linux/sparc/bits/kernel_stat.h +++ b/libc/sysdeps/linux/sparc/bits/kernel_stat.h @@ -5,9 +5,6 @@ * struct kernel_stat should look like... It turns out each arch has a * different opinion on the subject... */ -#if __WORDSIZE == 64 -#define kernel_stat kernel_stat64 -#else struct kernel_stat { unsigned short st_dev; unsigned long st_ino; @@ -25,8 +22,6 @@ struct kernel_stat { unsigned long __unused4[2]; }; -#endif - struct kernel_stat64 { unsigned long long st_dev; unsigned long long st_ino; @@ -48,4 +43,3 @@ struct kernel_stat64 { }; #endif /* _BITS_STAT_STRUCT_H */ - diff --git a/libc/sysdeps/linux/sparc/bits/kernel_types.h b/libc/sysdeps/linux/sparc/bits/kernel_types.h index a10e075de..38d73c4d9 100644 --- a/libc/sysdeps/linux/sparc/bits/kernel_types.h +++ b/libc/sysdeps/linux/sparc/bits/kernel_types.h @@ -4,41 +4,10 @@ * our private content, and not the kernel header, will win. * -Erik */ -#if ! defined __ARCH_SPARC_POSIX_TYPES_H && ! defined __ARCH_SPARC64_POSIX_TYPES_H && !defined __SPARC_POSIX_TYPES_H +#if ! defined __ARCH_SPARC_POSIX_TYPES_H && !defined __SPARC_POSIX_TYPES_H #define __ARCH_SPARC_POSIX_TYPES_H -#define __ARCH_SPARC64_POSIX_TYPES_H #define __SPARC_POSIX_TYPES_H -# if __WORDSIZE == 64 -typedef unsigned long __kernel_size_t; -typedef long __kernel_ssize_t; -typedef long __kernel_ptrdiff_t; -typedef long __kernel_time_t; -typedef long __kernel_clock_t; -typedef int __kernel_pid_t; -typedef int __kernel_ipc_pid_t; -typedef unsigned int __kernel_uid_t; -typedef unsigned int __kernel_gid_t; -typedef unsigned int __kernel_dev_t; -typedef unsigned long __kernel_ino_t; -typedef unsigned int __kernel_mode_t; -typedef unsigned short __kernel_umode_t; -typedef unsigned int __kernel_nlink_t; -typedef int __kernel_daddr_t; -typedef long __kernel_off_t; -typedef char * __kernel_caddr_t; -typedef unsigned short __kernel_uid16_t; -typedef unsigned short __kernel_gid16_t; -typedef __kernel_uid_t __kernel_old_uid_t; -typedef __kernel_gid_t __kernel_old_gid_t; -typedef __kernel_dev_t __kernel_old_dev_t; -typedef long __kernel_long_t; -typedef unsigned long __kernel_ulong_t; -typedef __kernel_uid_t __kernel_uid32_t; -typedef __kernel_gid_t __kernel_gid32_t; -typedef int __kernel_suseconds_t; -typedef long long __kernel_loff_t; -#else typedef unsigned int __kernel_size_t; typedef int __kernel_ssize_t; typedef long int __kernel_ptrdiff_t; @@ -67,7 +36,6 @@ typedef __kernel_dev_t __kernel_old_dev_t; typedef long __kernel_long_t; typedef unsigned long __kernel_ulong_t; typedef long long __kernel_loff_t; -#endif typedef struct { #ifdef __USE_ALL @@ -77,5 +45,4 @@ typedef struct { #endif } __kernel_fsid_t; -#endif /* ! defined __ARCH_SPARC_POSIX_TYPES_H && ! defined __ARCH_SPARC64_POSIX_TYPES_H */ - +#endif diff --git a/libc/sysdeps/linux/sparc/bits/mathinline.h b/libc/sysdeps/linux/sparc/bits/mathinline.h index ccc84bcc2..1a63f23e9 100644 --- a/libc/sysdeps/linux/sparc/bits/mathinline.h +++ b/libc/sysdeps/linux/sparc/bits/mathinline.h @@ -22,8 +22,6 @@ # error "Never use <bits/mathinline.h> directly; include <math.h> instead." #endif -#include <bits/wordsize.h> - #ifdef __GNUC__ #if defined __USE_ISOC99 && !__GNUC_PREREQ (3, 0) @@ -34,8 +32,6 @@ # undef islessgreater # undef isunordered -# if __WORDSIZE == 32 - # ifndef __NO_LONG_DOUBLE_MATH # define __unordered_cmp(x, y) \ @@ -89,40 +85,6 @@ # define islessgreater(x, y) (((__unordered_cmp (x, y) + (1 << 10)) & (2 << 10)) != 0) # define isunordered(x, y) ((__unordered_cmp (x, y) & (3 << 10)) == (3 << 10)) -# else /* sparc64 */ - -# define __unordered_v9cmp(x, y, op, qop) \ - (__extension__ \ - ({ unsigned __r; \ - if (sizeof (x) == 4 && sizeof (y) == 4) \ - { \ - float __x = (x); float __y = (y); \ - __asm__ ("fcmps\t%%fcc3,%1,%2\n\tmov" op "\t%%fcc3,1,%0" \ - : "=r" (__r) : "f" (__x), "f" (__y), "0" (0) : "cc"); \ - } \ - else if (sizeof (x) <= 8 && sizeof (y) <= 8) \ - { \ - double __x = (x); double __y = (y); \ - __asm__ ("fcmpd\t%%fcc3,%1,%2\n\tmov" op "\t%%fcc3,1,%0" \ - : "=r" (__r) : "f" (__x), "f" (__y), "0" (0) : "cc"); \ - } \ - else \ - { \ - long double __x = (x); long double __y = (y); \ - extern int _Qp_cmp (const long double *a, const long double *b); \ - __r = qop; \ - } \ - __r; })) - -# define isgreater(x, y) __unordered_v9cmp(x, y, "g", _Qp_cmp (&__x, &__y) == 2) -# define isgreaterequal(x, y) __unordered_v9cmp(x, y, "ge", (_Qp_cmp (&__x, &__y) & 1) == 0) -# define isless(x, y) __unordered_v9cmp(x, y, "l", _Qp_cmp (&__x, &__y) == 1) -# define islessequal(x, y) __unordered_v9cmp(x, y, "le", (_Qp_cmp (&__x, &__y) & 2) == 0) -# define islessgreater(x, y) __unordered_v9cmp(x, y, "lg", ((_Qp_cmp (&__x, &__y) + 1) & 2) != 0) -# define isunordered(x, y) __unordered_v9cmp(x, y, "u", _Qp_cmp (&__x, &__y) == 3) - -# endif /* sparc64 */ - #endif /* __USE_ISOC99 */ #if (!defined __NO_MATH_INLINES || defined __LIBC_INTERNAL_MATH_INLINES) && defined __OPTIMIZE__ @@ -147,8 +109,6 @@ __NTH (__signbitf (float __x)) return __u.__i < 0; } -# if __WORDSIZE == 32 - __MATH_INLINE int __NTH (__signbit (double __x)) { @@ -171,24 +131,6 @@ __NTH (__signbitl (long double __x)) } # endif -# else /* sparc64 */ - -__MATH_INLINE int -__NTH (__signbit (double __x)) -{ - __extension__ union { double __d; long int __i; } __u = { __d: __x }; - return __u.__i < 0; -} - -__MATH_INLINE int -__NTH (__signbitl (long double __x)) -{ - __extension__ union { long double __l; long int __i[2]; } __u = { __l: __x }; - return __u.__i[0] < 0; -} - -# endif /* sparc64 */ - # endif /* __USE_ISOC99 */ # if !defined __NO_MATH_INLINES && !__GNUC_PREREQ (3, 2) @@ -209,24 +151,6 @@ __NTH (sqrtf (float __x)) return __r; } -# if __WORDSIZE == 64 -__MATH_INLINE long double -__NTH (sqrtl (long double __x)) -{ - long double __r; - extern void _Qp_sqrt (long double *, __const__ long double *); - _Qp_sqrt (&__r, &__x); - return __r; -} -# elif !defined __NO_LONG_DOUBLE_MATH -__MATH_INLINE long double -sqrtl (long double __x) __THROW -{ - extern long double _Q_sqrt (__const__ long double); - return _Q_sqrt (__x); -} -# endif /* sparc64 */ - # endif /* !__NO_MATH_INLINES && !GCC 3.2+ */ /* This code is used internally in the GNU libc. */ @@ -247,23 +171,6 @@ __ieee754_sqrtf (float __x) return __r; } -# if __WORDSIZE == 64 -__MATH_INLINE long double -__ieee754_sqrtl (long double __x) -{ - long double __r; - extern void _Qp_sqrt (long double *, __const__ long double *); - _Qp_sqrt(&__r, &__x); - return __r; -} -# elif !defined __NO_LONG_DOUBLE_MATH -__MATH_INLINE long double -__ieee754_sqrtl (long double __x) -{ - extern long double _Q_sqrt (__const__ long double); - return _Q_sqrt (__x); -} -# endif /* sparc64 */ # endif /* __LIBC_INTERNAL_MATH_INLINES */ # endif /* gcc 2.8+ */ diff --git a/libc/sysdeps/linux/sparc/bits/msq.h b/libc/sysdeps/linux/sparc/bits/msq.h index cdf5452dc..b8bcf31bf 100644 --- a/libc/sysdeps/linux/sparc/bits/msq.h +++ b/libc/sysdeps/linux/sparc/bits/msq.h @@ -1,5 +1,4 @@ /* Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -20,7 +19,6 @@ #endif #include <bits/types.h> -#include <bits/wordsize.h> /* Define options for message queue functions. */ #define MSG_NOERROR 010000 /* no error if message is too big */ @@ -38,17 +36,11 @@ typedef unsigned long int msglen_t; struct msqid_ds { struct ipc_perm msg_perm; /* structure describing operation permission */ -#if __WORDSIZE == 32 unsigned int __pad1; -#endif __time_t msg_stime; /* time of last msgsnd command */ -#if __WORDSIZE == 32 unsigned int __pad2; -#endif __time_t msg_rtime; /* time of last msgrcv command */ -#if __WORDSIZE == 32 unsigned int __pad3; -#endif __time_t msg_ctime; /* time of last change */ unsigned long int __msg_cbytes; /* current number of bytes on queue */ msgqnum_t msg_qnum; /* number of messages currently on queue */ diff --git a/libc/sysdeps/linux/sparc/bits/resource.h b/libc/sysdeps/linux/sparc/bits/resource.h index 1da1fc074..1005aeced 100644 --- a/libc/sysdeps/linux/sparc/bits/resource.h +++ b/libc/sysdeps/linux/sparc/bits/resource.h @@ -1,7 +1,6 @@ /* Bit values & structures for resource limits. Linux/SPARC version. Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2004, 2005 Free Software Foundation, Inc. - This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -106,20 +105,6 @@ enum __rlimit_resource }; /* Value to indicate that there is no limit. */ -#if __WORDSIZE == 64 - -#ifndef __USE_FILE_OFFSET64 -# define RLIM_INFINITY ((unsigned long int)(~0UL)) -#else -# define RLIM_INFINITY 0xffffffffffffffffuLL -#endif - -#ifdef __USE_LARGEFILE64 -# define RLIM64_INFINITY 0xffffffffffffffffuLL -#endif - -#else - #ifndef __USE_FILE_OFFSET64 # define RLIM_INFINITY ((long int)(~0UL >> 1)) #else @@ -130,8 +115,6 @@ enum __rlimit_resource # define RLIM64_INFINITY 0x7fffffffffffffffLL #endif -#endif - /* We can represent all limits. */ #define RLIM_SAVED_MAX RLIM_INFINITY #define RLIM_SAVED_CUR RLIM_INFINITY diff --git a/libc/sysdeps/linux/sparc/bits/sem.h b/libc/sysdeps/linux/sparc/bits/sem.h index e57b505fc..3faaadd96 100644 --- a/libc/sysdeps/linux/sparc/bits/sem.h +++ b/libc/sysdeps |