svn commit: trunk/uClibc/libc/sysdeps/linux/sparc: bits sys

vapier at uclibc.org vapier at uclibc.org
Thu Dec 1 07:58:10 UTC 2005


Author: vapier
Date: 2005-11-30 23:58:06 -0800 (Wed, 30 Nov 2005)
New Revision: 12608

Log:
sync with glibc

Added:
   trunk/uClibc/libc/sysdeps/linux/sparc/sys/user.h

Modified:
   trunk/uClibc/libc/sysdeps/linux/sparc/bits/fcntl.h
   trunk/uClibc/libc/sysdeps/linux/sparc/bits/mman.h
   trunk/uClibc/libc/sysdeps/linux/sparc/bits/resource.h
   trunk/uClibc/libc/sysdeps/linux/sparc/bits/setjmp.h
   trunk/uClibc/libc/sysdeps/linux/sparc/bits/shm.h
   trunk/uClibc/libc/sysdeps/linux/sparc/bits/siginfo.h
   trunk/uClibc/libc/sysdeps/linux/sparc/bits/signum.h
   trunk/uClibc/libc/sysdeps/linux/sparc/bits/stat.h
   trunk/uClibc/libc/sysdeps/linux/sparc/bits/termios.h
   trunk/uClibc/libc/sysdeps/linux/sparc/sys/procfs.h


Changeset:
Modified: trunk/uClibc/libc/sysdeps/linux/sparc/bits/fcntl.h
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/sparc/bits/fcntl.h	2005-12-01 07:57:56 UTC (rev 12607)
+++ trunk/uClibc/libc/sysdeps/linux/sparc/bits/fcntl.h	2005-12-01 07:58:06 UTC (rev 12608)
@@ -1,5 +1,6 @@
 /* O_*, F_*, FD_* bit values for Linux/SPARC.
-   Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997, 1998, 2000, 2003, 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
@@ -43,7 +44,8 @@
 #ifdef __USE_GNU
 # define O_DIRECTORY	0x10000 /* must be a directory */
 # define O_NOFOLLOW	0x20000 /* don't follow links */
-# define O_STREAMING	0x4000000/* streaming access */
+# define O_DIRECT	0x100000 /* direct disk access hint */
+# define O_NOATIME	0x200000 /* Do not set atime.  */
 #endif
 
 #ifdef __USE_LARGEFILE64
@@ -76,7 +78,7 @@
 #define F_SETFD		2	/* Set file descriptor flags.  */
 #define F_GETFL		3	/* Get file status flags.  */
 #define F_SETFL		4	/* Set file status flags.  */
-#if defined __USE_BSD || defined __USE_XOPEN2K
+#if defined __USE_BSD || defined __USE_UNIX98
 # define F_GETOWN	5	/* Get owner of socket (receiver of SIGIO).  */
 # define F_SETOWN	6	/* Set owner of socket (receiver of SIGIO).  */
 #endif
@@ -196,3 +198,11 @@
 # define POSIX_FADV_DONTNEED	4 /* Don't need these pages.  */
 # define POSIX_FADV_NOREUSE	5 /* Data will be accessed once.  */
 #endif
+
+__BEGIN_DECLS
+
+/* Provide kernel hint to read ahead.  */
+extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
+    __THROW;
+
+__END_DECLS

Modified: trunk/uClibc/libc/sysdeps/linux/sparc/bits/mman.h
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/sparc/bits/mman.h	2005-12-01 07:57:56 UTC (rev 12607)
+++ trunk/uClibc/libc/sysdeps/linux/sparc/bits/mman.h	2005-12-01 07:58:06 UTC (rev 12608)
@@ -1,5 +1,5 @@
 /* Definitions for POSIX memory map interface.  Linux/SPARC version.
-   Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1999, 2000, 2003, 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
@@ -34,6 +34,10 @@
 #define PROT_WRITE	0x2		/* Page can be written.  */
 #define PROT_EXEC	0x4		/* Page can be executed.  */
 #define PROT_NONE	0x0		/* Page can not be accessed.  */
+#define PROT_GROWSDOWN	0x01000000	/* Extend change to start of
+					   growsdown vma (mprotect only).  */
+#define PROT_GROWSUP	0x02000000	/* Extend change to start of
+					   growsup vma (mprotect only).  */
 
 /* Sharing types (must choose one and only one of these).  */
 #define MAP_SHARED	0x01		/* Share changes.  */
@@ -53,12 +57,14 @@
 
 /* These are Linux-specific.  */
 #ifdef __USE_MISC
-# define MAP_GROWSDOWN	0x0100		/* Stack-like segment.  */
+# define MAP_GROWSDOWN	0x0200		/* Stack-like segment.  */
 # define MAP_DENYWRITE	0x0800		/* ETXTBSY */
 # define MAP_EXECUTABLE	0x1000		/* Mark it as an executable.  */
 # define MAP_LOCKED	0x0100		/* Lock the mapping.  */
 # define MAP_NORESERVE	0x0040		/* Don't check for reservations.  */
 # define _MAP_NEW	0x80000000	/* Binary compatibility with SunOS.  */
+# define MAP_POPULATE	0x8000		/* Populate (prefault) pagetables.  */
+# define MAP_NONBLOCK	0x10000		/* Do not block on IO.  */
 #endif
 
 /* Flags to `msync'.  */

Modified: trunk/uClibc/libc/sysdeps/linux/sparc/bits/resource.h
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/sparc/bits/resource.h	2005-12-01 07:57:56 UTC (rev 12607)
+++ trunk/uClibc/libc/sysdeps/linux/sparc/bits/resource.h	2005-12-01 07:58:06 UTC (rev 12608)
@@ -1,5 +1,6 @@
 /* Bit values & structures for resource limits.  Linux/SPARC version.
-   Copyright (C) 1994,1996,1997,1998,1999,2000 Free Software Foundation, Inc.
+   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
@@ -55,34 +56,54 @@
      This affects swapping; processes that are exceeding their
      resident set size will be more likely to have physical memory
      taken from them.  */
-  RLIMIT_RSS = 5,
-#define	RLIMIT_RSS RLIMIT_RSS
+  __RLIMIT_RSS = 5,
+#define	RLIMIT_RSS __RLIMIT_RSS
 
   /* Number of open files.  */
   RLIMIT_NOFILE = 6,
-  RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same.  */
+  __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same.  */
 #define RLIMIT_NOFILE RLIMIT_NOFILE
-#define RLIMIT_OFILE RLIMIT_OFILE
+#define RLIMIT_OFILE __RLIMIT_OFILE
 
   /* Address space limit (?) */
   RLIMIT_AS = 9,
 #define RLIMIT_AS RLIMIT_AS
 
   /* Number of processes.  */
-  RLIMIT_NPROC = 7,
-#define RLIMIT_NPROC RLIMIT_NPROC
+  __RLIMIT_NPROC = 7,
+#define RLIMIT_NPROC __RLIMIT_NPROC
 
   /* Locked-in-memory address space.  */
-  RLIMIT_MEMLOCK = 8,
-#define RLIMIT_MEMLOCK RLIMIT_MEMLOCK
+  __RLIMIT_MEMLOCK = 8,
+#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK
 
   /* Maximum number of file locks.  */
-  RLIMIT_LOCKS = 10,
-#define RLIMIT_LOCKS RLIMIT_LOCKS
+  __RLIMIT_LOCKS = 10,
+#define RLIMIT_LOCKS __RLIMIT_LOCKS
 
-  RLIM_NLIMITS = 11
-#define RLIMIT_NLIMITS RLIMIT_NLIMITS
-#define RLIM_NLIMITS RLIM_NLIMITS
+  /* Maximum number of pending signals.  */
+  __RLIMIT_SIGPENDING = 11,
+#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING
+
+  /* Maximum bytes in POSIX message queues.  */
+  __RLIMIT_MSGQUEUE = 12,
+#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE
+
+  /* Maximum nice priority allowed to raise to.
+     Nice levels 19 .. -20 correspond to 0 .. 39
+     values of this resource limit.  */
+  __RLIMIT_NICE = 13,
+#define RLIMIT_NICE __RLIMIT_NICE
+
+  /* Maximum realtime priority allowed for non-priviledged
+     processes.  */
+  __RLIMIT_RTPRIO = 14,
+#define RLIMIT_RTPRIO __RLIMIT_RTPRIO
+
+  __RLIMIT_NLIMITS = 15,
+  __RLIM_NLIMITS = __RLIMIT_NLIMITS
+#define RLIMIT_NLIMITS __RLIMIT_NLIMITS
+#define RLIM_NLIMITS __RLIM_NLIMITS
 };
 
 /* Value to indicate that there is no limit.  */
@@ -153,12 +174,8 @@
 #define RUSAGE_SELF RUSAGE_SELF
 
   /* All of its terminated child processes.  */
-  RUSAGE_CHILDREN = -1,
+  RUSAGE_CHILDREN = -1
 #define RUSAGE_CHILDREN RUSAGE_CHILDREN
-
-  /* Both.  */
-  RUSAGE_BOTH = -2
-#define RUSAGE_BOTH RUSAGE_BOTH
 };
 
 #define __need_timeval

Modified: trunk/uClibc/libc/sysdeps/linux/sparc/bits/setjmp.h
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/sparc/bits/setjmp.h	2005-12-01 07:57:56 UTC (rev 12607)
+++ trunk/uClibc/libc/sysdeps/linux/sparc/bits/setjmp.h	2005-12-01 07:58:06 UTC (rev 12608)
@@ -17,7 +17,7 @@
    02111-1307 USA.  */
 
 #ifndef _BITS_SETJMP_H
-#define _BITS_SETJMP_H	1
+#define _BITS_SETJMP_H  1
 
 #if !defined _SETJMP_H && !defined _PTHREAD_H
 # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
@@ -77,8 +77,8 @@
 /* Test if longjmp to JMPBUF would unwind the frame
    containing a local variable at ADDRESS.  */
 #define _JMPBUF_UNWINDS(jmpbuf, address) \
-  ((void *) (address) < (void *) (jmpbuf)[JB_SP])
+  ((int) (address) < (jmpbuf)[JB_SP])
 
 #endif
 
-#endif	/* bits/setjmp.h */
+#endif  /* bits/setjmp.h */

Modified: trunk/uClibc/libc/sysdeps/linux/sparc/bits/shm.h
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/sparc/bits/shm.h	2005-12-01 07:57:56 UTC (rev 12607)
+++ trunk/uClibc/libc/sysdeps/linux/sparc/bits/shm.h	2005-12-01 07:58:06 UTC (rev 12608)
@@ -81,6 +81,7 @@
 # define SHM_DEST	01000	/* segment will be destroyed on last detach */
 # define SHM_LOCKED	02000   /* segment will not be swapped */
 # define SHM_HUGETLB	04000	/* segment is mapped via hugetlb */
+# define SHM_NORESERVE	010000	/* don't check for reservations */
 
 struct	shminfo
   {

Modified: trunk/uClibc/libc/sysdeps/linux/sparc/bits/siginfo.h
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/sparc/bits/siginfo.h	2005-12-01 07:57:56 UTC (rev 12607)
+++ trunk/uClibc/libc/sysdeps/linux/sparc/bits/siginfo.h	2005-12-01 07:58:06 UTC (rev 12608)
@@ -1,5 +1,5 @@
 /* siginfo_t, sigevent and constants.  Linux/SPARC version.
-   Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1997-2002, 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
@@ -69,8 +69,9 @@
 	/* POSIX.1b timers.  */
 	struct
 	  {
-	    unsigned int _timer1;
-	    unsigned int _timer2;
+	    int si_tid;		/* Timer ID.  */
+	    int si_overrun;	/* Overrun count.  */
+	    sigval_t si_sigval;	/* Signal value.  */
 	  } _timer;
 
 	/* POSIX.1b signals.  */
@@ -111,8 +112,8 @@
 /* X/Open requires some more fields with fixed names.  */
 # define si_pid		_sifields._kill.si_pid
 # define si_uid		_sifields._kill.si_uid
-# define si_timer1	_sifields._timer._timer1
-# define si_timer2	_sifields._timer._timer2
+# define si_timerid	_sifields._timer.si_tid
+# define si_overrun	_sifields._timer.si_overrun
 # define si_status	_sifields._sigchld.si_status
 # define si_utime	_sifields._sigchld.si_utime
 # define si_stime	_sifields._sigchld.si_stime
@@ -129,8 +130,10 @@
    signals.  */
 enum
 {
-  SI_ASYNCNL = -6,		/* Sent by asynch name lookup completion.  */
+  SI_ASYNCNL = -60,		/* Sent by asynch name lookup completion.  */
 # define SI_ASYNCNL	SI_ASYNCNL
+  SI_TKILL = -6,		/* Sent by tkill.  */
+# define SI_TKILL	SI_TKILL
   SI_SIGIO,			/* Sent by queued SIGIO. */
 # define SI_SIGIO	SI_SIGIO
   SI_ASYNCIO,			/* Sent by AIO completion.  */
@@ -276,9 +279,6 @@
 #  define __SIGEV_PAD_SIZE	((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
 # endif
 
-/* Forward declaration of the `pthread_attr_t' type.  */
-struct __pthread_attr_s;
-
 typedef struct sigevent
   {
     sigval_t sigev_value;
@@ -291,8 +291,8 @@
 
 	struct
 	  {
-	    void (*_function) (sigval_t);	  /* Function to start.  */
-	    struct __pthread_attr_s *_attribute;  /* Really pthread_attr_t.  */
+	    void (*_function) (sigval_t);	/* Function to start.  */
+	    void *_attribute;			/* Really pthread_attr_t.  */
 	  } _sigev_thread;
       } _sigev_un;
   } sigevent_t;
@@ -308,8 +308,11 @@
 # define SIGEV_SIGNAL	SIGEV_SIGNAL
   SIGEV_NONE,			/* Other notification: meaningless.  */
 # define SIGEV_NONE	SIGEV_NONE
-  SIGEV_THREAD			/* Deliver via thread creation.  */
+  SIGEV_THREAD,			/* Deliver via thread creation.  */
 # define SIGEV_THREAD	SIGEV_THREAD
+
+  SIGEV_THREAD_ID = 4		/* Send signal to specific thread.  */
+#define SIGEV_THREAD_ID	SIGEV_THREAD_ID
 };
 
 #endif	/* have _SIGNAL_H.  */

Modified: trunk/uClibc/libc/sysdeps/linux/sparc/bits/signum.h
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/sparc/bits/signum.h	2005-12-01 07:57:56 UTC (rev 12607)
+++ trunk/uClibc/libc/sysdeps/linux/sparc/bits/signum.h	2005-12-01 07:58:06 UTC (rev 12608)
@@ -1,5 +1,5 @@
 /* Signal number definitions.  Linux/SPARC version.
-   Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1998, 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
@@ -70,7 +70,7 @@
 #define SIGUSR1		30
 #define SIGUSR2		31
 
-#define	_NSIG		64	/* Biggest signal number + 1
+#define	_NSIG		65	/* Biggest signal number + 1
 				   (including real-time signals).  */
 
 #define SIGRTMIN        (__libc_current_sigrtmin ())

Modified: trunk/uClibc/libc/sysdeps/linux/sparc/bits/stat.h
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/sparc/bits/stat.h	2005-12-01 07:57:56 UTC (rev 12607)
+++ trunk/uClibc/libc/sysdeps/linux/sparc/bits/stat.h	2005-12-01 07:58:06 UTC (rev 12608)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992,95,96,97,98,99,2000,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1992,95,96,97,98,99,2000,2001,2002 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
@@ -61,11 +61,11 @@
     __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
 #endif
     __time_t st_atime;			/* Time of last access.  */
-    unsigned long int __unused1;
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
     __time_t st_mtime;			/* Time of last modification.  */
-    unsigned long int __unused2;
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
     __time_t st_ctime;			/* Time of last status change.  */
-    unsigned long int __unused3;
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
     unsigned long int __unused4;
     unsigned long int __unused5;
   };
@@ -89,11 +89,11 @@
 
     __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
     __time_t st_atime;			/* Time of last access.  */
-    unsigned long int __unused1;
+    unsigned long int st_atimensec;	/* Nscecs of last access.  */
     __time_t st_mtime;			/* Time of last modification.  */
-    unsigned long int __unused2;
+    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
     __time_t st_ctime;			/* Time of last status change.  */
-    unsigned long int __unused3;
+    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
     unsigned long int __unused4;
     unsigned long int __unused5;
   };
@@ -102,6 +102,8 @@
 /* Tell code we have these members.  */
 #define	_STATBUF_ST_BLKSIZE
 #define _STATBUF_ST_RDEV
+/* Nanosecond resolution time values are supported.  */
+#define _STATBUF_ST_NSEC
 
 /* Encoding of the file mode.  */
 

Modified: trunk/uClibc/libc/sysdeps/linux/sparc/bits/termios.h
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/sparc/bits/termios.h	2005-12-01 07:57:56 UTC (rev 12607)
+++ trunk/uClibc/libc/sysdeps/linux/sparc/bits/termios.h	2005-12-01 07:58:06 UTC (rev 12608)
@@ -1,5 +1,6 @@
 /* termios type and macro definitions.  Linux/SPARC version.
-   Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000, 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
@@ -73,6 +74,7 @@
 #define IXANY	0x00000800
 #define IXOFF	0x00001000
 #define IMAXBEL	0x00002000
+#define IUTF8	0x00004000
 
 /* c_oflag bits */
 #define OPOST	0x00000001
@@ -83,34 +85,41 @@
 #define ONLRET	0x00000020
 #define OFILL	0x00000040
 #define OFDEL	0x00000080
-#define NLDLY	0x00000100
-#define   NL0	0x00000000
-#define   NL1	0x00000100
-#define CRDLY	0x00000600
-#define   CR0	0x00000000
-#define   CR1	0x00000200
-#define   CR2	0x00000400
-#define   CR3	0x00000600
-#define TABDLY	0x00001800
-#define   TAB0	0x00000000
-#define   TAB1	0x00000800
-#define   TAB2	0x00001000
-#define   TAB3	0x00001800
-#define   XTABS	0x00001800
-#define BSDLY	0x00002000
-#define   BS0	0x00000000
-#define   BS1	0x00002000
+#if defined __USE_MISC || defined __USE_XOPEN
+# define NLDLY	0x00000100
+# define   NL0	0x00000000
+# define   NL1	0x00000100
+# define CRDLY	0x00000600
+# define   CR0	0x00000000
+# define   CR1	0x00000200
+# define   CR2	0x00000400
+# define   CR3	0x00000600
+# define TABDLY	0x00001800
+# define   TAB0	0x00000000
+# define   TAB1	0x00000800
+# define   TAB2	0x00001000
+# define   TAB3	0x00001800
+# define BSDLY	0x00002000
+# define   BS0	0x00000000
+# define   BS1	0x00002000
+#define FFDLY	0x00008000
+#define   FF0	0x00000000
+#define   FF1	0x00008000
+#endif
 #define VTDLY	0x00004000
 #define   VT0	0x00000000
 #define   VT1	0x00004000
-#define FFDLY	0x00008000
-#define   FF0	0x00000000
-#define   FF1	0x00008000
 #define PAGEOUT 0x00010000	/* SUNOS specific */
 #define WRAP    0x00020000	/* SUNOS specific */
 
+#ifdef __USE_MISC
+# define   XTABS	0x00001800
+#endif
+
 /* c_cflag bit meaning */
-#define CBAUD	0x0000100f
+#ifdef __USE_MISC
+# define CBAUD	0x0000100f
+#endif
 #define  B0	0x00000000	/* hang up */
 #define  B50	0x00000001
 #define  B75	0x00000002
@@ -127,8 +136,10 @@
 #define  B9600	0x0000000d
 #define  B19200	0x0000000e
 #define  B38400	0x0000000f
-#define EXTA    B19200
-#define EXTB    B38400
+#ifdef __USE_MISC
+# define EXTA    B19200
+# define EXTB    B38400
+#endif
 #define  CSIZE  0x00000030
 #define   CS5	0x00000000
 #define   CS6	0x00000010
@@ -140,7 +151,9 @@
 #define PARODD	0x00000200
 #define HUPCL	0x00000400
 #define CLOCAL	0x00000800
-#define CBAUDEX 0x00001000
+#ifdef __USE_MISC
+# define CBAUDEX 0x00001000
+#endif
 #define  B57600  0x00001001
 #define  B115200 0x00001002
 #define  B230400 0x00001003
@@ -158,26 +171,32 @@
 #define B2000000 0x0000100f
 #define __MAX_BAUD B2000000
 
-#define CIBAUD	0x100f0000	/* input baud rate (not used) */
-#define CMSPAR	0x40000000	/* mark or space (stick) parity */
-#define CRTSCTS	0x80000000	/* flow control */
+#ifdef __USE_MISC
+# define CIBAUD	 0x100f0000	/* input baud rate (not used) */
+# define CMSPAR	 0x40000000	/* mark or space (stick) parity */
+# define CRTSCTS 0x80000000	/* flow control */
+#endif
 
 /* c_lflag bits */
 #define ISIG	0x00000001
 #define ICANON	0x00000002
-#define XCASE	0x00000004
+#if defined __USE_MISC || defined __USE_XOPEN
+# define XCASE	0x00000004
+#endif
 #define ECHO	0x00000008
 #define ECHOE	0x00000010
 #define ECHOK	0x00000020
 #define ECHONL	0x00000040
 #define NOFLSH	0x00000080
 #define TOSTOP	0x00000100
-#define ECHOCTL	0x00000200
-#define ECHOPRT	0x00000400
-#define ECHOKE	0x00000800
-#define DEFECHO 0x00001000	/* SUNOS thing, what is it? */
-#define FLUSHO	0x00002000
-#define PENDIN	0x00004000
+#ifdef __USE_MISC
+# define ECHOCTL	0x00000200
+# define ECHOPRT	0x00000400
+# define ECHOKE		0x00000800
+# define DEFECHO 	0x00001000	/* SUNOS thing, what is it? */
+# define FLUSHO		0x00002000
+# define PENDIN		0x00004000
+#endif
 #define IEXTEN	0x00008000
 
 /* modem lines */

Modified: trunk/uClibc/libc/sysdeps/linux/sparc/sys/procfs.h
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/sparc/sys/procfs.h	2005-12-01 07:57:56 UTC (rev 12607)
+++ trunk/uClibc/libc/sysdeps/linux/sparc/sys/procfs.h	2005-12-01 07:58:06 UTC (rev 12608)
@@ -35,7 +35,7 @@
 
 #if __WORDSIZE == 64
 
-#define ELF_NGREG		20
+#define ELF_NGREG		36
 
 typedef struct
   {
@@ -139,6 +139,73 @@
 typedef struct elf_prstatus prstatus_t;
 typedef struct elf_prpsinfo prpsinfo_t;
 
+#if __WORDSIZE == 64
+
+/* Provide 32-bit variants so that BFD can read 32-bit
+   core files.  */
+#define ELF_NGREG32		38
+typedef struct
+  {
+    union
+      {
+	unsigned int	pr_regs[32];
+	double		pr_dregs[16];
+      }			pr_fr;
+    unsigned int	__unused;
+    unsigned int	pr_fsr;
+    unsigned char	pr_qcnt;
+    unsigned char	pr_q_entrysize;
+    unsigned char	pr_en;
+    unsigned int	pr_q[64];
+  } elf_fpregset_t32;
+
+typedef unsigned int elf_greg_t32;
+typedef elf_greg_t32 elf_gregset_t32[ELF_NGREG32];
+
+struct elf_prstatus32
+  {
+    struct elf_siginfo pr_info;		/* Info associated with signal.  */
+    short int pr_cursig;		/* Current signal.  */
+    unsigned int pr_sigpend;	/* Set of pending signals.  */
+    unsigned int pr_sighold;	/* Set of held signals.  */
+    __pid_t pr_pid;
+    __pid_t pr_ppid;
+    __pid_t pr_pgrp;
+    __pid_t pr_sid;
+    struct
+      {
+	int tv_sec, tv_usec;
+      } pr_utime,			/* User time.  */
+        pr_stime,			/* System time.  */
+        pr_cutime,			/* Cumulative user time.  */
+        pr_cstime;			/* Cumulative system time.  */
+    elf_gregset_t32 pr_reg;		/* GP registers.  */
+    int pr_fpvalid;			/* True if math copro being used.  */
+  };
+
+struct elf_prpsinfo32
+  {
+    char pr_state;			/* Numeric process state.  */
+    char pr_sname;			/* Char for pr_state.  */
+    char pr_zomb;			/* Zombie.  */
+    char pr_nice;			/* Nice val.  */
+    unsigned int pr_flag;		/* Flags.  */
+    unsigned short int pr_uid;
+    unsigned short int pr_gid;
+    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
+    /* Lots missing */
+    char pr_fname[16];			/* Filename of executable.  */
+    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
+  };
+
+typedef elf_gregset_t32 prgregset32_t;
+typedef elf_fpregset_t32 prfpregset32_t;
+
+typedef struct elf_prstatus32 prstatus32_t;
+typedef struct elf_prpsinfo32 prpsinfo32_t;
+
+#endif  /* sparc64 */
+
 __END_DECLS
 
 #endif	/* sys/procfs.h */

Added: trunk/uClibc/libc/sysdeps/linux/sparc/sys/user.h
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/sparc/sys/user.h	2005-12-01 07:57:56 UTC (rev 12607)
+++ trunk/uClibc/libc/sysdeps/linux/sparc/sys/user.h	2005-12-01 07:58:06 UTC (rev 12608)
@@ -0,0 +1,85 @@
+/* Copyright (C) 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
+   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, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef _SYS_USER_H
+#define _SYS_USER_H	1
+
+struct sunos_regs
+{
+  unsigned int psr, pc, npc, y;
+  unsigned int regs[15];
+};
+
+struct sunos_fpqueue
+{
+  unsigned int *addr;
+  unsigned int inst;
+};
+
+struct sunos_fp
+{
+  union
+    {
+      unsigned int regs[32];
+      double reg_dbls[16];
+    } fregs;
+  unsigned int fsr;
+  unsigned int flags;
+  unsigned int extra;
+  unsigned int fpq_count;
+  struct sunos_fpqueue fpq[16];
+};
+
+struct sunos_fpu
+{
+  struct sunos_fp fpstatus;
+};
+
+/* The SunOS core file header layout. */
+struct user {
+  unsigned int magic;
+  unsigned int len;
+  struct sunos_regs regs;
+  struct
+    {
+      unsigned char a_dynamic :1;
+      unsigned char a_toolversion :7;
+      unsigned char a_machtype;
+      unsigned short a_info;
+      unsigned int a_text;
+      unsigned int a_data;
+      unsigned int a_bss;
+      unsigned int a_syms;
+      unsigned int a_entry;
+      unsigned int a_trsize;
+      unsigned int a_drsize;
+    } uexec;
+  int           signal;
+  size_t        u_tsize;
+  size_t        u_dsize;
+  size_t        u_ssize;
+  char          u_comm[17];
+  struct sunos_fpu fpu;
+  unsigned int  sigcode;
+};
+
+#define NBPG			0x2000
+#define UPAGES			1
+#define SUNOS_CORE_MAGIC	0x080456
+
+#endif



More information about the uClibc-cvs mailing list