[uClibc-cvs] svn commit: trunk/uClibc/libc/sysdeps/linux/mips: bits

mjn3 at uclibc.org mjn3 at uclibc.org
Wed Aug 3 01:14:44 UTC 2005


Author: mjn3
Date: 2005-08-02 19:14:43 -0600 (Tue, 02 Aug 2005)
New Revision: 11027

Log:
Update from (older) glibc code.

Added:
   trunk/uClibc/libc/sysdeps/linux/mips/bits/kernel_sigaction.h

Modified:
   trunk/uClibc/libc/sysdeps/linux/mips/Makefile
   trunk/uClibc/libc/sysdeps/linux/mips/bits/sigaction.h


Changeset:
Modified: trunk/uClibc/libc/sysdeps/linux/mips/Makefile
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/mips/Makefile	2005-08-03 01:12:29 UTC (rev 11026)
+++ trunk/uClibc/libc/sysdeps/linux/mips/Makefile	2005-08-03 01:14:43 UTC (rev 11027)
@@ -28,7 +28,7 @@
 SOBJS=$(patsubst %.S,%.o, $(SSRC))
 
 CSRC=__longjmp.c  brk.c setjmp_aux.c mmap.c __syscall_error.c \
-	cacheflush.c pread_write.c sysmips.c _test_and_set.c #sigaction.c
+	cacheflush.c pread_write.c sysmips.c _test_and_set.c sigaction.c
 COBJS=$(patsubst %.c,%.o, $(CSRC))
 
 OBJS=$(SOBJS) $(COBJS)

Added: trunk/uClibc/libc/sysdeps/linux/mips/bits/kernel_sigaction.h
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/mips/bits/kernel_sigaction.h	2005-08-03 01:12:29 UTC (rev 11026)
+++ trunk/uClibc/libc/sysdeps/linux/mips/bits/kernel_sigaction.h	2005-08-03 01:14:43 UTC (rev 11027)
@@ -0,0 +1,40 @@
+/* This is the sigaction structure from the Linux 2.1.24 kernel.  */
+
+#include <sgidefs.h>
+
+#define HAVE_SA_RESTORER
+
+struct old_kernel_sigaction {
+	unsigned int	sa_flags;
+	__sighandler_t	k_sa_handler;
+	unsigned long	sa_mask;
+	unsigned int    __pad0[3]; /* reserved, keep size constant */
+
+	/* Abi says here follows reserved int[2] */
+	void		(*sa_restorer)(void);
+#if (_MIPS_SZPTR < 64)
+	/*
+	 * For 32 bit code we have to pad struct sigaction to get
+	 * constant size for the ABI
+	 */
+	int		pad1[1]; /* reserved */
+#endif
+};
+
+
+#define _KERNEL_NSIG	       128
+#define _KERNEL_NSIG_BPW       _MIPS_SZLONG
+#define _KERNEL_NSIG_WORDS     (_KERNEL_NSIG / _KERNEL_NSIG_BPW)
+
+typedef struct {
+	unsigned long sig[_KERNEL_NSIG_WORDS];
+} kernel_sigset_t;
+
+/* This is the sigaction structure from the Linux 2.1.68 kernel.  */
+struct kernel_sigaction {
+	unsigned int	sa_flags;
+	__sighandler_t	k_sa_handler;
+	kernel_sigset_t	sa_mask;
+	void		(*sa_restorer)(void);
+	int		s_resv[1]; /* reserved */
+};

Modified: trunk/uClibc/libc/sysdeps/linux/mips/bits/sigaction.h
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/mips/bits/sigaction.h	2005-08-03 01:12:29 UTC (rev 11026)
+++ trunk/uClibc/libc/sysdeps/linux/mips/bits/sigaction.h	2005-08-03 01:14:43 UTC (rev 11027)
@@ -1,5 +1,6 @@
 /* The proper definitions for Linux/MIPS's sigaction.
-   Copyright (C) 1993,94,95,97,98,99,2000 Free Software Foundation, Inc.
+   Copyright (C) 1993, 1994, 1995, 1997, 1998, 1999, 2000, 2003
+	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
@@ -44,6 +45,14 @@
 #endif
     /* Additional set of signals to be blocked.  */
     __sigset_t sa_mask;
+
+    /* The ABI says here are two unused ints following. */
+    /* Restore handler.  */
+    void (*sa_restorer) (void);
+
+#if _MIPS_SZPTR < 64
+    int sa_resv[1];
+#endif
   };
 
 /* Bits in `sa_flags'.  */




More information about the uClibc-cvs mailing list