[uClibc-cvs] svn commit: trunk/uClibc/include: sys

vapier at uclibc.org vapier at uclibc.org
Sat Jul 2 14:34:40 UTC 2005


Author: vapier
Date: 2005-07-02 08:34:39 -0600 (Sat, 02 Jul 2005)
New Revision: 10691

Log:
sync with glibc versions

Modified:
   trunk/uClibc/include/string.h
   trunk/uClibc/include/sys/cdefs.h
   trunk/uClibc/include/sys/sysmacros.h


Changeset:
Modified: trunk/uClibc/include/string.h
===================================================================
--- trunk/uClibc/include/string.h	2005-07-02 14:33:03 UTC (rev 10690)
+++ trunk/uClibc/include/string.h	2005-07-02 14:34:39 UTC (rev 10691)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1993, 1995-2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993, 1995-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
@@ -36,11 +36,12 @@
 __BEGIN_NAMESPACE_STD
 /* Copy N bytes of SRC to DEST.  */
 extern void *memcpy (void *__restrict __dest,
-		     __const void *__restrict __src, size_t __n) __THROW;
+		     __const void *__restrict __src, size_t __n)
+     __THROW __nonnull ((1, 2));
 /* Copy N bytes of SRC to DEST, guaranteeing
    correct behavior for overlapping strings.  */
 extern void *memmove (void *__dest, __const void *__src, size_t __n)
-     __THROW;
+     __THROW __nonnull ((1, 2));
 __END_NAMESPACE_STD
 
 /* Copy no more than N bytes of SRC to DEST, stopping when C is found.
@@ -49,62 +50,65 @@
 #if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN
 extern void *memccpy (void *__restrict __dest, __const void *__restrict __src,
 		      int __c, size_t __n)
-     __THROW;
+     __THROW __nonnull ((1, 2));
 #endif /* SVID.  */
 
 
 __BEGIN_NAMESPACE_STD
 /* Set N bytes of S to C.  */
-extern void *memset (void *__s, int __c, size_t __n) __THROW;
+extern void *memset (void *__s, int __c, size_t __n) __THROW __nonnull ((1));
 
 /* Compare N bytes of S1 and S2.  */
 extern int memcmp (__const void *__s1, __const void *__s2, size_t __n)
-     __THROW __attribute_pure__;
+     __THROW __attribute_pure__ __nonnull ((1, 2));
 
 /* Search N bytes of S for C.  */
 extern void *memchr (__const void *__s, int __c, size_t __n)
-      __THROW __attribute_pure__;
+      __THROW __attribute_pure__ __nonnull ((1));
 __END_NAMESPACE_STD
 
 #ifdef __USE_GNU
 /* Search in S for C.  This is similar to `memchr' but there is no
    length limit.  */
-extern void *rawmemchr (__const void *__s, int __c) __THROW __attribute_pure__;
+extern void *rawmemchr (__const void *__s, int __c)
+     __THROW __attribute_pure__ __nonnull ((1));
 
 /* Search N bytes of S for the final occurrence of C.  */
 extern void *memrchr (__const void *__s, int __c, size_t __n)
-      __THROW __attribute_pure__;
+      __THROW __attribute_pure__ __nonnull ((1));
 #endif
 
 
 __BEGIN_NAMESPACE_STD
 /* Copy SRC to DEST.  */
 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src)
-     __THROW;
+     __THROW __nonnull ((1, 2));
 /* Copy no more than N characters of SRC to DEST.  */
 extern char *strncpy (char *__restrict __dest,
-		      __const char *__restrict __src, size_t __n) __THROW;
+		      __const char *__restrict __src, size_t __n)
+     __THROW __nonnull ((1, 2));
 
 /* Append SRC onto DEST.  */
 extern char *strcat (char *__restrict __dest, __const char *__restrict __src)
-     __THROW;
+     __THROW __nonnull ((1, 2));
 /* Append no more than N characters from SRC onto DEST.  */
 extern char *strncat (char *__restrict __dest, __const char *__restrict __src,
-		      size_t __n) __THROW;
+		      size_t __n) __THROW __nonnull ((1, 2));
 
 /* Compare S1 and S2.  */
 extern int strcmp (__const char *__s1, __const char *__s2)
-     __THROW __attribute_pure__;
+     __THROW __attribute_pure__ __nonnull ((1, 2));
 /* Compare N characters of S1 and S2.  */
 extern int strncmp (__const char *__s1, __const char *__s2, size_t __n)
-     __THROW __attribute_pure__;
+     __THROW __attribute_pure__ __nonnull ((1, 2));
 
 /* Compare the collated forms of S1 and S2.  */
 extern int strcoll (__const char *__s1, __const char *__s2)
-     __THROW __attribute_pure__;
+     __THROW __attribute_pure__ __nonnull ((1, 2));
 /* Put a transformation of SRC into no more than N bytes of DEST.  */
 extern size_t strxfrm (char *__restrict __dest,
-		       __const char *__restrict __src, size_t __n) __THROW;
+		       __const char *__restrict __src, size_t __n)
+     __THROW __nonnull ((2));
 __END_NAMESPACE_STD
 
 #ifdef __UCLIBC_HAS_XLOCALE__
@@ -116,22 +120,23 @@
 
 /* Compare the collated forms of S1 and S2 using rules from L.  */
 extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
-     __THROW __attribute_pure__;
+     __THROW __attribute_pure__ __nonnull ((1, 2, 3));
 extern int __strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
      __THROW __attribute_pure__;
 
 /* Put a transformation of SRC into no more than N bytes of DEST.  */
 extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
-			 __locale_t __l) __THROW;
+			 __locale_t __l) __THROW __nonnull ((2, 4));
 extern size_t __strxfrm_l (char *__dest, __const char *__src, size_t __n,
 			 __locale_t __l) __THROW;
 
 #endif
-#endif
+#endif /* __UCLIBC_HAS_XLOCALE__ */
 
 #if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED
 /* Duplicate S, returning an identical malloc'd string.  */
-extern char *strdup (__const char *__s) __THROW __attribute_malloc__;
+extern char *strdup (__const char *__s)
+     __THROW __attribute_malloc__ __nonnull ((1));
 #endif
 
 /* Return a malloc'd copy of at most N bytes of STRING.  The
@@ -139,7 +144,7 @@
    appears before STRING[N].  */
 #if defined __USE_GNU
 extern char *strndup (__const char *__string, size_t __n)
-     __THROW __attribute_malloc__;
+     __THROW __attribute_malloc__ __nonnull ((1));
 #endif
 
 #if defined __USE_GNU && defined __GNUC__
@@ -167,53 +172,58 @@
 
 __BEGIN_NAMESPACE_STD
 /* Find the first occurrence of C in S.  */
-extern char *strchr (__const char *__s, int __c) __THROW __attribute_pure__;
+extern char *strchr (__const char *__s, int __c)
+     __THROW __attribute_pure__ __nonnull ((1));
 /* Find the last occurrence of C in S.  */
-extern char *strrchr (__const char *__s, int __c) __THROW __attribute_pure__;
+extern char *strrchr (__const char *__s, int __c)
+     __THROW __attribute_pure__ __nonnull ((1));
 __END_NAMESPACE_STD
 
 #ifdef __USE_GNU
 /* This function is similar to `strchr'.  But it returns a pointer to
    the closing NUL byte in case C is not found in S.  */
-extern char *strchrnul (__const char *__s, int __c) __THROW __attribute_pure__;
+extern char *strchrnul (__const char *__s, int __c)
+     __THROW __attribute_pure__ __nonnull ((1));
 #endif
 
 __BEGIN_NAMESPACE_STD
 /* Return the length of the initial segment of S which
    consists entirely of characters not in REJECT.  */
 extern size_t strcspn (__const char *__s, __const char *__reject)
-     __THROW __attribute_pure__;
+     __THROW __attribute_pure__ __nonnull ((1, 2));
 /* Return the length of the initial segment of S which
    consists entirely of characters in ACCEPT.  */
 extern size_t strspn (__const char *__s, __const char *__accept)
-     __THROW __attribute_pure__;
+     __THROW __attribute_pure__ __nonnull ((1, 2));
 /* Find the first occurrence in S of any character in ACCEPT.  */
 extern char *strpbrk (__const char *__s, __const char *__accept)
-     __THROW __attribute_pure__;
+     __THROW __attribute_pure__ __nonnull ((1, 2));
 /* Find the first occurrence of NEEDLE in HAYSTACK.  */
 extern char *strstr (__const char *__haystack, __const char *__needle)
-     __THROW __attribute_pure__;
+     __THROW __attribute_pure__ __nonnull ((1, 2));
 
 
 /* Divide S into tokens separated by characters in DELIM.  */
 extern char *strtok (char *__restrict __s, __const char *__restrict __delim)
-     __THROW;
+     __THROW __nonnull ((2));
 __END_NAMESPACE_STD
 
 /* Divide S into tokens separated by characters in DELIM.  Information
    passed between calls are stored in SAVE_PTR.  */
 extern char *__strtok_r (char *__restrict __s,
 			 __const char *__restrict __delim,
-			 char **__restrict __save_ptr) __THROW;
+			 char **__restrict __save_ptr)
+     __THROW __nonnull ((2, 3));
 #if defined __USE_POSIX || defined __USE_MISC
 extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim,
-		       char **__restrict __save_ptr) __THROW;
+		       char **__restrict __save_ptr)
+     __THROW __nonnull ((2, 3));
 #endif
 
 #ifdef __USE_GNU
 /* Similar to `strstr' but this function ignores the case of both strings.  */
 extern char *strcasestr (__const char *__haystack, __const char *__needle)
-     __THROW __attribute_pure__;
+     __THROW __attribute_pure__ __nonnull ((1, 2));
 #endif
 
 #ifdef __USE_GNU
@@ -222,27 +232,30 @@
    HAYSTACK is HAYSTACKLEN bytes long.  */
 extern void *memmem (__const void *__haystack, size_t __haystacklen,
 		     __const void *__needle, size_t __needlelen)
-     __THROW __attribute_pure__;
+     __THROW __attribute_pure__ __nonnull ((1, 3));
 
 /* Copy N bytes of SRC to DEST, return pointer to bytes after the
    last written byte.  */
 extern void *__mempcpy (void *__restrict __dest,
-			__const void *__restrict __src, size_t __n) __THROW;
+			__const void *__restrict __src, size_t __n)
+     __THROW __nonnull ((1, 2));
 extern void *mempcpy (void *__restrict __dest,
-		      __const void *__restrict __src, size_t __n) __THROW;
+		      __const void *__restrict __src, size_t __n)
+     __THROW __nonnull ((1, 2));
 #endif
 
 
 __BEGIN_NAMESPACE_STD
 /* Return the length of S.  */
-extern size_t strlen (__const char *__s) __THROW __attribute_pure__;
+extern size_t strlen (__const char *__s)
+     __THROW __attribute_pure__ __nonnull ((1));
 __END_NAMESPACE_STD
 
 #ifdef	__USE_GNU
 /* Find the length of STRING, but scan at most MAXLEN characters.
    If no '\0' terminator is found in that many characters, return MAXLEN.  */
 extern size_t strnlen (__const char *__string, size_t __maxlen)
-     __THROW __attribute_pure__;
+     __THROW __attribute_pure__ __nonnull ((1));
 #endif
 
 
@@ -260,45 +273,48 @@
 extern char *_glibc_strerror_r (int __errnum, char *__buf, size_t __buflen) __THROW;
 extern int _susv3_strerror_r (int __errnum, char *__buf, size_t buflen) __THROW;
 
-#if defined(__USE_XOPEN2K) && !defined(__USE_GNU)
-# ifdef __REDIRECT
+# if defined(__USE_XOPEN2K) && !defined(__USE_GNU)
+#  ifdef __REDIRECT
 extern int __REDIRECT (strerror_r,
-                       (int __errnum, char *__buf, size_t buflen) __THROW,
-                       _susv3_strerror_r);
+			   (int __errnum, char *__buf, size_t buflen) __THROW,
+			   _susv3_strerror_r);
+#  else
+#   define strerror_r __xpg_strerror_r
+#  endif
 # else
-#  define strerror_r _susv3_strerror_r
-# endif
-#else  /* defined(__USE_XOPEN2K) && !defined(__USE_GNU) */
-# ifdef __REDIRECT
+#  ifdef __REDIRECT
 extern char *__REDIRECT (strerror_r,
-                         (int __errnum, char *__buf, size_t buflen) __THROW,
-                         _glibc_strerror_r);
-# else
-#  define strerror_r _glibc_strerror_r
-# endif
-#endif /* defined(__USE_XOPEN2K) && !defined(__USE_GNU) */
+			   (int __errnum, char *__buf, size_t buflen) __THROW,
+			   _glibc_strerror_r);
+#  else
+#   define strerror_r _glibc_strerror_r
+#  endif
+# endif /* defined(__USE_XOPEN2K) && !defined(__USE_GNU) */
 #endif
 
 /* We define this function always since `bzero' is sometimes needed when
    the namespace rules does not allow this.  */
-extern void __bzero (void *__s, size_t __n) __THROW;
+extern void __bzero (void *__s, size_t __n) __THROW __nonnull ((1));
 
 #ifdef __USE_BSD
 /* Copy N bytes of SRC to DEST (like memmove, but args reversed).  */
-extern void bcopy (__const void *__src, void *__dest, size_t __n) __THROW;
+extern void bcopy (__const void *__src, void *__dest, size_t __n)
+     __THROW __nonnull ((1, 2));
 
 /* Set N bytes of S to 0.  */
-extern void bzero (void *__s, size_t __n) __THROW;
+extern void bzero (void *__s, size_t __n) __THROW __nonnull ((1));
 
 /* Compare N bytes of S1 and S2 (same as memcmp).  */
 extern int bcmp (__const void *__s1, __const void *__s2, size_t __n)
-     __THROW __attribute_pure__;
+     __THROW __attribute_pure__ __nonnull ((1, 2));
 
 /* Find the first occurrence of C in S (same as strchr).  */
-extern char *index (__const char *__s, int __c) __THROW __attribute_pure__;
+extern char *index (__const char *__s, int __c)
+     __THROW __attribute_pure__ __nonnull ((1));
 
 /* Find the last occurrence of C in S (same as strrchr).  */
-extern char *rindex (__const char *__s, int __c) __THROW __attribute_pure__;
+extern char *rindex (__const char *__s, int __c)
+     __THROW __attribute_pure__ __nonnull ((1));
 
 /* Return the position of the first bit set in I, or 0 if none are set.
    The least-significant bit is position 1, the most-significant 32.  */
@@ -316,11 +332,11 @@
 
 /* Compare S1 and S2, ignoring case.  */
 extern int strcasecmp (__const char *__s1, __const char *__s2)
-     __THROW __attribute_pure__;
+     __THROW __attribute_pure__ __nonnull ((1, 2));
 
 /* Compare no more than N chars of S1 and S2, ignoring case.  */
 extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
-     __THROW __attribute_pure__;
+     __THROW __attribute_pure__ __nonnull ((1, 2));
 #endif /* Use BSD.  */
 
 #ifdef __UCLIBC_HAS_XLOCALE__
@@ -328,50 +344,63 @@
 /* Again versions of a few functions which use the given locale instead
    of the global one.  */
 extern int strcasecmp_l (__const char *__s1, __const char *__s2,
-			 __locale_t __loc) __THROW __attribute_pure__;
+			 __locale_t __loc)
+     __THROW __attribute_pure__ __nonnull ((1, 2, 3));
 extern int __strcasecmp_l (__const char *__s1, __const char *__s2,
 			 __locale_t __loc) __THROW __attribute_pure__;
 
 extern int strncasecmp_l (__const char *__s1, __const char *__s2,
 			  size_t __n, __locale_t __loc)
-     __THROW __attribute_pure__;
+     __THROW __attribute_pure__ __nonnull ((1, 2, 4));
 extern int __strncasecmp_l (__const char *__s1, __const char *__s2,
 			  size_t __n, __locale_t __loc)
      __THROW __attribute_pure__;
 #endif
-#endif
+#endif /* __UCLIBC_HAS_XLOCALE__ */
 
 #ifdef	__USE_BSD
 /* Return the next DELIM-delimited token from *STRINGP,
    terminating it with a '\0', and update *STRINGP to point past it.  */
 extern char *strsep (char **__restrict __stringp,
-		     __const char *__restrict __delim) __THROW;
+		     __const char *__restrict __delim)
+     __THROW __nonnull ((1, 2));
 #endif
 
 #ifdef	__USE_GNU
+/* Compare S1 and S2 as strings holding name & indices/version numbers.  */
+extern int strverscmp (__const char *__s1, __const char *__s2)
+     __THROW __attribute_pure__ __nonnull ((1, 2));
 
 /* Return a string describing the meaning of the signal number in SIG.  */
 extern char *strsignal (int __sig) __THROW;
 
 /* Copy SRC to DEST, returning the address of the terminating '\0' in DEST.  */
 extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src)
-     __THROW;
+     __THROW __nonnull ((1, 2));
 extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src)
-     __THROW;
+     __THROW __nonnull ((1, 2));
 
 /* Copy no more than N characters of SRC to DEST, returning the address of
    the last character written into DEST.  */
 extern char *__stpncpy (char *__restrict __dest,
-			__const char *__restrict __src, size_t __n) __THROW;
+			__const char *__restrict __src, size_t __n)
+     __THROW __nonnull ((1, 2));
 extern char *stpncpy (char *__restrict __dest,
-		      __const char *__restrict __src, size_t __n) __THROW;
+		      __const char *__restrict __src, size_t __n)
+     __THROW __nonnull ((1, 2));
 
+/* Sautee STRING briskly.  */
+extern char *strfry (char *__string) __THROW __nonnull ((1));
+
+/* Frobnicate N bytes of S.  */
+extern void *memfrob (void *__s, size_t __n) __THROW __nonnull ((1));
+
 # ifndef basename
 /* Return the file name within directory of FILENAME.  We don't
    declare the function if the `basename' macro is available (defined
    in <libgen.h>) which makes the XPG version of this function
    available.  */
-extern char *basename (__const char *__filename) __THROW;
+extern char *basename (__const char *__filename) __THROW __nonnull ((1));
 # endif
 #endif
 

Modified: trunk/uClibc/include/sys/cdefs.h
===================================================================
--- trunk/uClibc/include/sys/cdefs.h	2005-07-02 14:33:03 UTC (rev 10690)
+++ trunk/uClibc/include/sys/cdefs.h	2005-07-02 14:34:39 UTC (rev 10691)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992-2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2001, 2002, 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
@@ -39,24 +39,28 @@
 
 /* GCC can always grok prototypes.  For C++ programs we add throw()
    to help it optimize the function calls.  But this works only with
-   gcc 2.8.x and egcs.  */
-# if defined __cplusplus && __GNUC_PREREQ (2,8)
-#  define __THROW	throw ()
+   gcc 2.8.x and egcs.  For gcc 3.2 and up we even mark C functions
+   as non-throwing using a function attribute since programs can use
+   the -fexceptions options for C code as well.  */
+# if 0 //!defined __cplusplus && __GNUC_PREREQ (3, 3)
+#  define __THROW	__attribute__ ((__nothrow__))
+#  define __NTH(fct)	__attribute__ ((__nothrow__)) fct
 # else
-#  define __THROW
+#  if defined __cplusplus && __GNUC_PREREQ (2,8)
+#   define __THROW	throw ()
+#   define __NTH(fct)	fct throw ()
+#  else
+#   define __THROW
+#   define __NTH(fct)	fct
+#  endif
 # endif
-# define __P(args)	args __THROW
-/* This macro will be used for functions which might take C++ callback
-   functions.  */
-# define __PMT(args)	args
 
 #else	/* Not GCC.  */
 
 # define __inline		/* No inline functions.  */
 
 # define __THROW
-# define __P(args)	args
-# define __PMT(args)	args
+# define __NTH(fct)	fct
 
 # define __const	const
 # define __signed	signed
@@ -64,6 +68,11 @@
 
 #endif	/* GCC.  */
 
+/* These two macros are not used in glibc anymore.  They are kept here
+   only because some other projects expect the macros to be defined.  */
+#define __P(args)	args
+#define __PMT(args)	args
+
 /* For these things, GCC behaves the ANSI way normally,
    and the non-ANSI way under -traditional.  */
 
@@ -118,6 +127,12 @@
 #endif
 
 
+/* Fortify support.  */
+#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)
+#define __bos0(ptr) __builtin_object_size (ptr, 0)
+#define __warndecl(name, msg) extern void name (void)
+
+
 /* Support for flexible arrays.  */
 #if __GNUC_PREREQ (2,97)
 /* GCC 2.97 supports C99 flexible array members.  */
@@ -150,6 +165,17 @@
 
 # define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias))
 # define __ASMNAME(cname) __C_SYMBOL_PREFIX__ cname
+/*
+# ifdef __cplusplus
+#  define __REDIRECT_NTH(name, proto, alias) \
+     name proto __THROW __asm__ (__ASMNAME (#alias))
+# else
+#  define __REDIRECT_NTH(name, proto, alias) \
+     name proto __asm__ (__ASMNAME (#alias)) __THROW
+# endif
+# define __ASMNAME(cname)  __ASMNAME2 (__USER_LABEL_PREFIX__, cname)
+# define __ASMNAME2(prefix, cname) __STRING (prefix) cname
+*/
 
 /*
 #elif __SOME_OTHER_COMPILER__
@@ -225,6 +251,36 @@
 # define __attribute_format_strfmon__(a,b) /* Ignore */
 #endif
 
+/* The nonull function attribute allows to mark pointer parameters which
+   must not be NULL.  */
+#if __GNUC_PREREQ (3,3)
+# define __nonnull(params) __attribute__ ((__nonnull__ params))
+#else
+# define __nonnull(params)
+#endif
+
+/* If fortification mode, we warn about unused results of certain
+   function calls which can lead to problems.  */
+#if __GNUC_PREREQ (3,4)
+# define __attribute_warn_unused_result__ \
+   __attribute__ ((__warn_unused_result__))
+# if __USE_FORTIFY_LEVEL > 0
+#  define __wur __attribute_warn_unused_result__
+# endif
+#else
+# define __attribute_warn_unused_result__ /* empty */
+#endif
+#ifndef __wur
+# define __wur /* Ignore */
+#endif
+
+/* Forces a function to be always inlined.  */
+#if __GNUC_PREREQ (3,2)
+# define __always_inline __inline __attribute__ ((__always_inline__))
+#else
+# define __always_inline __inline
+#endif
+
 /* It is possible to compile containing GCC extensions even if GCC is
    run in pedantic mode if the uses are carefully marked using the
    `__extension__' keyword.  But this is not generally available before

Modified: trunk/uClibc/include/sys/sysmacros.h
===================================================================
--- trunk/uClibc/include/sys/sysmacros.h	2005-07-02 14:33:03 UTC (rev 10690)
+++ trunk/uClibc/include/sys/sysmacros.h	2005-07-02 14:34:39 UTC (rev 10691)
@@ -1,5 +1,5 @@
 /* Definitions of macros to access `dev_t' values.
-   Copyright (C) 1996, 1997, 1999, 2003 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1999, 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
@@ -25,6 +25,7 @@
 /* If the compiler does not know long long it is out of luck.  We are
    not going to hack weird hacks to support the dev_t representation
    they need.  */
+#if 1 /*def __GLIBC_HAVE_LONG_LONG    uClibc note: always enable */
 __extension__
 static __inline unsigned int gnu_dev_major (unsigned long long int __dev)
      __THROW;
@@ -36,32 +37,33 @@
 							unsigned int __minor)
      __THROW;
 
-#if defined __GNUC__ && __GNUC__ >= 2
+# if defined __GNUC__ && __GNUC__ >= 2
 __extension__ static __inline unsigned int
-gnu_dev_major (unsigned long long int __dev) __THROW
+__NTH (gnu_dev_major (unsigned long long int __dev))
 {
   return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
 }
 
 __extension__ static __inline unsigned int
-gnu_dev_minor (unsigned long long int __dev) __THROW
+__NTH (gnu_dev_minor (unsigned long long int __dev))
 {
   return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
 }
 
 __extension__ static __inline unsigned long long int
-gnu_dev_makedev (unsigned int __major, unsigned int __minor) __THROW
+__NTH (gnu_dev_makedev (unsigned int __major, unsigned int __minor))
 {
   return ((__minor & 0xff) | ((__major & 0xfff) << 8)
 	  | (((unsigned long long int) (__minor & ~0xff)) << 12)
 	  | (((unsigned long long int) (__major & ~0xfff)) << 32));
 }
-#endif
+# endif
 
 
 /* Access the functions with their traditional names.  */
-#define major(dev) gnu_dev_major (dev)
-#define minor(dev) gnu_dev_minor (dev)
-#define makedev(maj, min) gnu_dev_makedev (maj, min)
+# define major(dev) gnu_dev_major (dev)
+# define minor(dev) gnu_dev_minor (dev)
+# define makedev(maj, min) gnu_dev_makedev (maj, min)
+#endif
 
 #endif /* sys/sysmacros.h */




More information about the uClibc-cvs mailing list