[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/...



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