[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r25101 - in /fsf/trunk/libc: ./ sysdeps/sh/ sysdeps/sh/sh4/fpu/ sysdeps/unix/sysv/linux/s390/s390-32/sys/ sysdeps/unix/sysv/...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r25101 - in /fsf/trunk/libc: ./ sysdeps/sh/ sysdeps/sh/sh4/fpu/ sysdeps/unix/sysv/linux/s390/s390-32/sys/ sysdeps/unix/sysv/...
- From: eglibc@xxxxxxxxxx
- Date: Thu, 23 Jan 2014 08:02:05 -0000
Author: eglibc
Date: Thu Jan 23 00:02:03 2014
New Revision: 25101
Log:
Import glibc-mainline for 2014-01-23
Added:
fsf/trunk/libc/sysdeps/sh/fpu_control.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/sys/ucontext.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sys/ucontext.h
Removed:
fsf/trunk/libc/sysdeps/sh/sh4/fpu/fpu_control.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/sys/
fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/sys/
fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sh3/sys/
fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sh4/sys/
Modified:
fsf/trunk/libc/ChangeLog
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Thu Jan 23 00:02:03 2014
@@ -1,3 +1,22 @@
+2014-01-23 Kaz Kojima <kkojima@xxxxxxxxxxxxxx>
+
+ * sysdeps/sh/fpu_control.h: New file.
+ * sysdeps/sh/sh4/fpu/fpu_control.h: Remove.
+ * sysdeps/unix/sysv/linux/sh/sys/ucontext.h: New file.
+ * sysdeps/unix/sysv/linux/sh/sh3/sys/ucontext.h: Remove.
+ * sysdeps/unix/sysv/linux/sh/sh3/sys: Remove directory.
+ * sysdeps/unix/sysv/linux/sh/sh4/sys/ucontext.h: Remove.
+ * sysdeps/unix/sysv/linux/sh/sh4/sys: Remove directory.
+ * sysdeps/sh/sys/ucontext.h: Remove.
+ * sysdeps/sh/sys: Remove directory.
+
+2014-01-22 Andreas Krebbel <Andreas.Krebbel@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/s390/s390-32/sys/ucontext.h: Merge into
+ s390/sys/ucontext.h.
+ * sysdeps/unix/sysv/linux/s390/s390-64/sys/ucontext.h: Likewise.
+ * sysdeps/unix/sysv/linux/s390/sys/ucontext.h: New file.
+
2014-01-20 H.J. Lu <hongjiu.lu@xxxxxxxxx>
[BZ #15605]
Added: fsf/trunk/libc/sysdeps/sh/fpu_control.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sh/fpu_control.h (added)
+++ fsf/trunk/libc/sysdeps/sh/fpu_control.h Thu Jan 23 00:02:03 2014
@@ -1,0 +1,76 @@
+/* FPU control word definitions. SH version.
+ Copyright (C) 1999-2014 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
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _FPU_CONTROL_H
+#define _FPU_CONTROL_H
+
+#if !defined(__SH_FPU_ANY__)
+
+#define _FPU_RESERVED 0xffffffff
+#define _FPU_DEFAULT 0x00000000
+typedef unsigned int fpu_control_t;
+#define _FPU_GETCW(cw) (cw) = 0
+#define _FPU_SETCW(cw) (void) (cw)
+extern fpu_control_t __fpu_control;
+
+#else
+
+#include <features.h>
+
+/* masking of interrupts */
+#define _FPU_MASK_VM 0x0800 /* Invalid operation */
+#define _FPU_MASK_ZM 0x0400 /* Division by zero */
+#define _FPU_MASK_OM 0x0200 /* Overflow */
+#define _FPU_MASK_UM 0x0100 /* Underflow */
+#define _FPU_MASK_IM 0x0080 /* Inexact operation */
+
+/* rounding control */
+#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */
+#define _FPU_RC_ZERO 0x1
+
+#define _FPU_RESERVED 0xffc00000 /* These bits are reserved. */
+
+/* The fdlibm code requires strict IEEE double precision arithmetic,
+ and no interrupts for exceptions, rounding to nearest. */
+#define _FPU_DEFAULT 0x00080000 /* Default value. */
+#define _FPU_IEEE 0x00080f80 /* Default + exceptions enabled. */
+
+/* Type of the control word. */
+typedef unsigned int fpu_control_t;
+
+/* Macros for accessing the hardware control word. */
+#define _FPU_GETCW(cw) __asm__ ("sts fpscr,%0" : "=r" (cw))
+
+#if defined __GNUC__
+__BEGIN_DECLS
+
+/* GCC provides this function. */
+extern void __set_fpscr (unsigned long);
+#define _FPU_SETCW(cw) __set_fpscr ((cw))
+#else
+#define _FPU_SETCW(cw) __asm__ ("lds %0,fpscr" : : "r" (cw))
+#endif
+
+/* Default control word set at startup. */
+extern fpu_control_t __fpu_control;
+
+__END_DECLS
+
+#endif /* __SH_FPU_ANY__ */
+
+#endif /* _FPU_CONTROL_H */
Removed: fsf/trunk/libc/sysdeps/sh/sh4/fpu/fpu_control.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sh/sh4/fpu/fpu_control.h (original)
+++ fsf/trunk/libc/sysdeps/sh/sh4/fpu/fpu_control.h (removed)
@@ -1,62 +1,0 @@
-/* FPU control word definitions. SH version.
- Copyright (C) 1999-2014 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
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _FPU_CONTROL_H
-#define _FPU_CONTROL_H
-
-#include <features.h>
-
-/* masking of interrupts */
-#define _FPU_MASK_VM 0x0800 /* Invalid operation */
-#define _FPU_MASK_ZM 0x0400 /* Division by zero */
-#define _FPU_MASK_OM 0x0200 /* Overflow */
-#define _FPU_MASK_UM 0x0100 /* Underflow */
-#define _FPU_MASK_IM 0x0080 /* Inexact operation */
-
-/* rounding control */
-#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */
-#define _FPU_RC_ZERO 0x1
-
-#define _FPU_RESERVED 0xffc00000 /* These bits are reserved. */
-
-/* The fdlibm code requires strict IEEE double precision arithmetic,
- and no interrupts for exceptions, rounding to nearest. */
-#define _FPU_DEFAULT 0x00080000 /* Default value. */
-#define _FPU_IEEE 0x00080f80 /* Default + exceptions enabled. */
-
-/* Type of the control word. */
-typedef unsigned int fpu_control_t;
-
-/* Macros for accessing the hardware control word. */
-#define _FPU_GETCW(cw) __asm__ ("sts fpscr,%0" : "=r" (cw))
-
-#if defined __GNUC__
-__BEGIN_DECLS
-
-/* GCC provides this function. */
-extern void __set_fpscr (unsigned long);
-#define _FPU_SETCW(cw) __set_fpscr ((cw))
-#else
-#define _FPU_SETCW(cw) __asm__ ("lds %0,fpscr" : : "r" (cw))
-#endif
-
-/* Default control word set at startup. */
-extern fpu_control_t __fpu_control;
-
-__END_DECLS
-#endif /* _FPU_CONTROL_H */
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/sys/ucontext.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/sys/ucontext.h (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/sys/ucontext.h Thu Jan 23 00:02:03 2014
@@ -1,0 +1,100 @@
+/* Copyright (C) 2000-2014 Free Software Foundation, Inc.
+ Contributed by Denis Joseph Barrow (djbarrow@xxxxxxxxxx).
+ 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
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H 1
+/* Forward definition to avoid parse errors */
+struct ucontext;
+typedef struct ucontext ucontext_t;
+#include <features.h>
+#include <signal.h>
+
+/* We need the signal context definitions even if they are not used
+ included in <signal.h>. */
+#include <bits/sigcontext.h>
+
+/* Type for a program status word. */
+typedef struct
+{
+ unsigned long mask;
+ unsigned long addr;
+} __attribute__ ((__aligned__(8))) __psw_t;
+
+/* Type for a general-purpose register. */
+typedef unsigned long greg_t;
+
+/* And the whole bunch of them. We should have used `struct s390_regs',
+ but to avoid name space pollution and since the tradition says that
+ the register set is an array, we make gregset_t a simple array
+ that has the same size as s390_regs. This is needed for the
+ elf_prstatus structure. */
+#if __WORDSIZE == 64
+# define NGREG 27
+#else
+# define NGREG 36
+#endif
+/* Must match kernels psw_t alignment. */
+typedef greg_t gregset_t[NGREG] __attribute__ ((__aligned__(8)));
+
+typedef union
+ {
+ double d;
+ float f;
+ } fpreg_t;
+
+/* Register set for the floating-point registers. */
+typedef struct
+ {
+ unsigned int fpc;
+ fpreg_t fprs[16];
+ } fpregset_t;
+
+/* Bit is set if the uc_high_gprs field contains the upper halfs of
+ the 64 bit general purpose registers. Since the uc_high_gprs field
+ is only available in the 32 bit version of ucontext_t it will never
+ be set for 64 bit. */
+#define UCONTEXT_UC_FLAGS_HIGH_GPRS (1UL << 0)
+
+/* A new uc_flags constant will be defined when actually making use of
+ the reserved space: UCONTEXT_UCFLAGS_RESERVED (1UL << 1). */
+
+/* Context to describe whole processor state. */
+typedef struct
+ {
+ __psw_t psw;
+ unsigned long gregs[16];
+ unsigned int aregs[16];
+ fpregset_t fpregs;
+ } mcontext_t;
+
+/* Userlevel context. */
+struct ucontext
+ {
+ unsigned long int uc_flags;
+ struct ucontext *uc_link;
+ stack_t uc_stack;
+ mcontext_t uc_mcontext;
+ __sigset_t uc_sigmask;
+#ifndef __s390x__
+ unsigned long uc_high_gprs[16];
+#endif
+ char __reserved[512];
+ };
+
+
+#endif /* sys/ucontext.h */
Added: fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sys/ucontext.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sys/ucontext.h (added)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sys/ucontext.h Thu Jan 23 00:02:03 2014
@@ -1,0 +1,129 @@
+/* Copyright (C) 1999-2014 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
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+/* Where is System V/SH ABI? */
+
+#ifndef _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H 1
+
+#include <features.h>
+#include <signal.h>
+
+/* We need the signal context definitions even if they are not used
+ included in <signal.h>. */
+#include <bits/sigcontext.h>
+
+
+typedef int greg_t;
+
+/* Number of general registers. */
+#define NGPREG 16
+
+/* Container for all general registers. */
+typedef greg_t gregset_t[NGPREG];
+
+#ifdef __USE_GNU
+/* Number of each register is the `gregset_t' array. */
+enum
+{
+ R0 = 0,
+#define R0 R0
+ R1 = 1,
+#define R1 R1
+ R2 = 2,
+#define R2 R2
+ R3 = 3,
+#define R3 R3
+ R4 = 4,
+#define R4 R4
+ R5 = 5,
+#define R5 R5
+ R6 = 6,
+#define R6 R6
+ R7 = 7,
+#define R7 R7
+ R8 = 8,
+#define R8 R8
+ R9 = 9,
+#define R9 R9
+ R10 = 10,
+#define R10 R10
+ R11 = 11,
+#define R11 R11
+ R12 = 12,
+#define R12 R12
+ R13 = 13,
+#define R13 R13
+ R14 = 14,
+#define R14 R14
+ R15 = 15,
+#define R15 R15
+};
+#endif
+
+#ifdef __SH_FPU_ANY__
+typedef int freg_t;
+
+/* Number of FPU registers. */
+#define NFPREG 16
+
+/* Structure to describe FPU registers. */
+typedef freg_t fpregset_t[NFPREG];
+
+/* Context to describe whole processor state. */
+typedef struct
+ {
+ unsigned int oldmask;
+ gregset_t gregs;
+ unsigned int pc;
+ unsigned int pr;
+ unsigned int sr;
+ unsigned int gbr;
+ unsigned int mach;
+ unsigned int macl;
+ fpregset_t fpregs;
+ fpregset_t xfpregs;
+ unsigned int fpscr;
+ unsigned int fpul;
+ unsigned int ownedfp;
+ } mcontext_t;
+#else
+/* Context to describe whole processor state. */
+typedef struct
+ {
+ unsigned int oldmask;
+ gregset_t gregs;
+ unsigned int pc;
+ unsigned int pr;
+ unsigned int sr;
+ unsigned int gbr;
+ unsigned int mach;
+ unsigned int macl;
+ } mcontext_t;
+#endif /* __SH_FPU_ANY__ */
+
+/* Userlevel context. */
+typedef struct ucontext
+ {
+ unsigned long int uc_flags;
+ struct ucontext *uc_link;
+ stack_t uc_stack;
+ mcontext_t uc_mcontext;
+ __sigset_t uc_sigmask;
+ } ucontext_t;
+
+#endif /* sys/ucontext.h */
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits