From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29887 invoked by alias); 16 Mar 2007 17:14:37 -0000 Received: (qmail 29868 invoked by uid 22791); 16 Mar 2007 17:14:36 -0000 X-Spam-Check-By: sourceware.org Received: from sunsite.ms.mff.cuni.cz (HELO sunsite.mff.cuni.cz) (195.113.15.26) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 16 Mar 2007 17:14:13 +0000 Received: from sunsite.mff.cuni.cz (localhost.localdomain [127.0.0.1]) by sunsite.mff.cuni.cz (8.13.8/8.13.8) with ESMTP id l2GHI0WJ019831; Fri, 16 Mar 2007 18:18:00 +0100 Received: (from jakub@localhost) by sunsite.mff.cuni.cz (8.13.8/8.13.8/Submit) id l2GHI0LJ019830; Fri, 16 Mar 2007 18:18:00 +0100 Date: Fri, 16 Mar 2007 17:14:00 -0000 From: Jakub Jelinek To: Ulrich Drepper Cc: Glibc hackers Subject: [PATCH] Updated __extern_inline patch Message-ID: <20070316171759.GR1826@sunsite.mff.cuni.cz> Reply-To: Jakub Jelinek Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable User-Agent: Mutt/1.4.2.2i Mailing-List: contact libc-hacker-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sourceware.org X-SW-Source: 2007-03/txt/msg00026.txt.bz2 Hi! This is my Nov'06 __extern_inline patch updated for current tree. GCC 4.3 now has -fgnu89-inline switch which restores the sane inline semantics even with -std=3Dgnu99 and -std=3Dc99 and this patch adds that to glibc's configury, therefore only installed headers need to be tweaked. 2007-03-16 Jakub Jelinek * configure.in (libc_cv_gnu89_inline): Test for -fgnu89-inline. * configure: Rebuilt. * config.make.in (gnu89-inline-CFLAGS): New variable. * Makeconfig (CFLAGS): Use $(gnu89-inline-CFLAGS) together with -std=3Dgnu99. * misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Define. * argp/argp.h: Use it. * bits/mathinline.h: Likewise. * bits/sigset.h: Likewise. * bits/string.h: Likewise. * ctype/ctype.h: Likewise. * hurd/hurd.h: Likewise. * hurd/hurd/fd.h: Likewise. * hurd/hurd/port.h: Likewise. * hurd/hurd/signal.h: Likewise. * hurd/hurd/threadvar.h: Likewise. * hurd/hurd/userlink.h: Likewise. * io/sys/stat.h: Likewise. * libio/bits/stdio.h: Likewise. * libio/bits/stdio2.h: Likewise. * mach/lock-intern.h: Likewise. * mach/mach/mig_support.h: Likewise. * math/bits/cmathcalls.h: Likewise. * posix/bits/unistd.h: Likewise. * socket/bits/socket2.h: Likewise. * stdlib/bits/stdlib.h: Likewise. * stdlib/stdlib.h: Likewise. * string/argz.h: Likewise. * string/bits/string2.h: Likewise. * string/bits/string3.h: Likewise. * sysdeps/alpha/fpu/bits/mathinline.h: Likewise. * sysdeps/generic/inttypes.h: Likewise. * sysdeps/generic/machine-lock.h: Likewise. * sysdeps/generic/machine-sp.h: Likewise. * sysdeps/i386/fpu/bits/mathinline.h: Likewise. * sysdeps/i386/i486/bits/string.h: Likewise. * sysdeps/ia64/fpu/bits/mathinline.h: Likewise. * sysdeps/mach/alpha/machine-lock.h: Likewise. * sysdeps/mach/alpha/machine-sp.h: Likewise. * sysdeps/mach/i386/machine-lock.h: Likewise. * sysdeps/mach/powerpc/machine-lock.h: Likewise. * sysdeps/mach/powerpc/machine-sp.h: Likewise. * sysdeps/powerpc/fpu/bits/mathinline.h: Likewise. * sysdeps/s390/bits/string.h: Likewise. * sysdeps/s390/fpu/bits/mathinline.h: Likewise. * sysdeps/sparc/fpu/bits/mathinline.h: Likewise. * sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/bits/sigset.h: Likewise. * sysdeps/unix/sysv/linux/bits/socket.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysmacros.h: Likewise. * sysdeps/x86_64/fpu/bits/mathinline.h: Likewise. * wcsmbs/bits/wchar2.h: Likewise. * wcsmbs/wchar.h: Likewise. * stdlib/gmp.h: Likewise. Include to get __extern_inline definition. nptl/ * sysdeps/pthread/bits/libc-lock.h: Use __extern_inline and __extern_always_inline where appropriate. * sysdeps/pthread/pthread.h: Likewise. --- libc/misc/sys/cdefs.h.jj 2006-01-14 21:14:36.000000000 +0100 +++ libc/misc/sys/cdefs.h 2007-03-16 15:48:53.000000000 +0100 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992-2001, 2002, 2004, 2005, 2006 +/* Copyright (C) 1992-2001, 2002, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 @@ -279,6 +279,17 @@ # define __always_inline __inline #endif =20 +/* GCC 4.3 and above with -std=3Dc99 or -std=3Dgnu99 implements ISO C99 + inline semantics, unless -fgnu89-inline is used. */ +#ifdef __GNUC_STDC_INLINE__ +# define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) +# define __extern_always_inline \ + extern __always_inline __attribute__ ((__gnu_inline__)) +#else +# define __extern_inline extern __inline +# define __extern_always_inline extern __always_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 --- libc/mach/mach/mig_support.h.jj 2001-07-06 06:55:35.000000000 +0200 +++ libc/mach/mach/mig_support.h 2007-03-16 15:29:22.000000000 +0100 @@ -1,4 +1,4 @@ -/* Copyright (C) 1993,94,97,99,2001 Free Software Foundation, Inc. +/* Copyright (C) 1993,94,97,99,2001,2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -67,12 +67,12 @@ extern void mig_reply_setup (const mach_ /* Idiocy support function. */ extern vm_size_t mig_strncpy (char *__dst, const char *__src, vm_size_t __= len); extern vm_size_t __mig_strncpy (char *__dst, const char *__src, vm_size_t); -extern __inline vm_size_t +__extern_inline vm_size_t __mig_strncpy (char *__dst, const char *__src, vm_size_t __len) { return __stpncpy (__dst, __src, __len) - __dst; } -extern __inline vm_size_t +__extern_inline vm_size_t mig_strncpy (char *__dst, const char *__src, vm_size_t __len) { return __mig_strncpy (__dst, __src, __len); --- libc/mach/lock-intern.h.jj 2001-07-06 06:55:34.000000000 +0200 +++ libc/mach/lock-intern.h 2007-03-16 15:29:22.000000000 +0100 @@ -1,4 +1,4 @@ -/* Copyright (C) 1994, 1996 Free Software Foundation, Inc. +/* Copyright (C) 1994, 1996, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -22,7 +22,7 @@ #include =20 #ifndef _EXTERN_INLINE -#define _EXTERN_INLINE extern __inline +#define _EXTERN_INLINE __extern_inline #endif =20 =20 --- libc/config.make.in.jj 2006-10-31 23:05:27.000000000 +0100 +++ libc/config.make.in 2007-03-16 16:58:02.000000000 +0100 @@ -53,6 +53,7 @@ have-cpp-asm-debuginfo =3D @libc_cv_cpp_as enable-check-abi =3D @enable_check_abi@ have-forced-unwind =3D @libc_cv_forced_unwind@ have-fpie =3D @libc_cv_fpie@ +gnu89-inline-CFLAGS =3D @libc_cv_gnu89_inline@ have-ssp =3D @libc_cv_ssp@ have-selinux =3D @have_selinux@ have-libaudit =3D @have_libaudit@ --- libc/stdlib/stdlib.h.jj 2006-10-31 23:05:34.000000000 +0100 +++ libc/stdlib/stdlib.h 2007-03-16 17:01:25.000000000 +0100 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2003,2004,2005,2006 Free Software Foundation, Inc. +/* Copyright (C) 1991-2003,2004,2005,2006,2007 Free Software Foundation, I= nc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -324,18 +324,18 @@ extern unsigned long long int __strtoull /* Define inline functions which call the internal entry points. */ =20 __BEGIN_NAMESPACE_STD -extern __inline double +__extern_inline double __NTH (strtod (__const char *__restrict __nptr, char **__restrict __endptr= )) { return __strtod_internal (__nptr, __endptr, 0); } -extern __inline long int +__extern_inline long int __NTH (strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base)) { return __strtol_internal (__nptr, __endptr, __base, 0); } -extern __inline unsigned long int +__extern_inline unsigned long int __NTH (strtoul (__const char *__restrict __nptr, char **__restrict __endpt= r, int __base)) { @@ -345,13 +345,13 @@ __END_NAMESPACE_STD =20 # ifdef __USE_ISOC99 __BEGIN_NAMESPACE_C99 -extern __inline float +__extern_inline float __NTH (strtof (__const char *__restrict __nptr, char **__restrict __endptr= )) { return __strtof_internal (__nptr, __endptr, 0); } # ifndef __LDBL_COMPAT -extern __inline long double +__extern_inline long double __NTH (strtold (__const char *__restrict __nptr, char **__restrict __endpt= r)) { return __strtold_internal (__nptr, __endptr, 0); @@ -361,13 +361,13 @@ __END_NAMESPACE_C99 # endif =20 # ifdef __USE_BSD -__extension__ extern __inline long long int +__extension__ __extern_inline long long int __NTH (strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base)) { return __strtoll_internal (__nptr, __endptr, __base, 0); } -__extension__ extern __inline unsigned long long int +__extension__ __extern_inline unsigned long long int __NTH (strtouq (__const char *__restrict __nptr, char **__restrict __endpt= r, int __base)) { @@ -377,13 +377,13 @@ __NTH (strtouq (__const char *__restrict =20 # if defined __USE_MISC || defined __USE_ISOC99 __BEGIN_NAMESPACE_C99 -__extension__ extern __inline long long int +__extension__ __extern_inline long long int __NTH (strtoll (__const char *__restrict __nptr, char **__restrict __endpt= r, int __base)) { return __strtoll_internal (__nptr, __endptr, __base, 0); } -__extension__ extern __inline unsigned long long int +__extension__ __extern_inline unsigned long long int __NTH (strtoull (__const char * __restrict __nptr, char **__restrict __end= ptr, int __base)) { @@ -393,17 +393,17 @@ __END_NAMESPACE_C99 # endif =20 __BEGIN_NAMESPACE_STD -extern __inline double +__extern_inline double __NTH (atof (__const char *__nptr)) { return strtod (__nptr, (char **) NULL); } -extern __inline int +__extern_inline int __NTH (atoi (__const char *__nptr)) { return (int) strtol (__nptr, (char **) NULL, 10); } -extern __inline long int +__extern_inline long int __NTH (atol (__const char *__nptr)) { return strtol (__nptr, (char **) NULL, 10); @@ -412,7 +412,7 @@ __END_NAMESPACE_STD =20 # if defined __USE_MISC || defined __USE_ISOC99 __BEGIN_NAMESPACE_C99 -__extension__ extern __inline long long int +__extension__ __extern_inline long long int __NTH (atoll (__const char *__nptr)) { return strtoll (__nptr, (char **) NULL, 10); --- libc/stdlib/bits/stdlib.h.jj 2005-08-22 17:06:07.000000000 +0200 +++ libc/stdlib/bits/stdlib.h 2007-03-16 15:29:22.000000000 +0100 @@ -1,5 +1,5 @@ /* Checking macros for stdlib functions. - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -28,7 +28,7 @@ extern char *__REDIRECT_NTH (__realpath_ (__const char *__restrict __name, char *__restrict __resolved), realpath) __wur; =20 -extern __always_inline __wur char * +__extern_always_inline __wur char * __NTH (realpath (__const char *__restrict __name, char *__restrict __resol= ved)) { if (__bos (__resolved) !=3D (size_t) -1) @@ -44,7 +44,7 @@ extern int __REDIRECT_NTH (__ptsname_r_a size_t __buflen), ptsname_r) __nonnull ((2)); =20 -extern __always_inline int +__extern_always_inline int __NTH (ptsname_r (int __fd, char *__buf, size_t __buflen)) { if (__bos (__buf) !=3D (size_t) -1 @@ -59,7 +59,7 @@ extern int __wctomb_chk (char *__s, wcha extern int __REDIRECT_NTH (__wctomb_alias, (char *__s, wchar_t __wchar), wctomb) __wur; =20 -extern __always_inline __wur int +__extern_always_inline __wur int __NTH (wctomb (char *__s, wchar_t __wchar)) { /* We would have to include to get a definition of MB_LEN_MAX. @@ -83,7 +83,7 @@ extern size_t __REDIRECT_NTH (__mbstowcs __const char *__restrict __src, size_t __len), mbstowcs); =20 -extern __always_inline size_t +__extern_always_inline size_t __NTH (mbstowcs (wchar_t *__restrict __dst, __const char *__restrict __src, size_t __len)) { @@ -104,7 +104,7 @@ extern size_t __REDIRECT_NTH (__wcstombs __const wchar_t *__restrict __src, size_t __len), wcstombs); =20 -extern __always_inline size_t +__extern_always_inline size_t __NTH (wcstombs (char *__restrict __dst, __const wchar_t *__restrict __src, size_t __len)) { --- libc/stdlib/gmp.h.jj 2002-08-27 00:39:44.000000000 +0200 +++ libc/stdlib/gmp.h 2007-03-16 15:29:22.000000000 +0100 @@ -1,6 +1,6 @@ /* gmp.h -- Definitions for GNU multiple precision functions. =20 -Copyright (C) 1991, 1993, 1994, 1995, 1996 Free Software Foundation, Inc. +Copyright (C) 1991, 1993, 1994, 1995, 1996, 2007 Free Software Foundation,= Inc. =20 This file is part of the GNU MP Library. =20 @@ -21,6 +21,8 @@ MA 02111-1307, USA. */ =20 #ifndef __GMP_H__ =20 +#include + #ifndef __GNU_MP__ #define __GNU_MP__ 2 #define __need_size_t @@ -41,7 +43,7 @@ MA 02111-1307, USA. */ =20 #ifndef _EXTERN_INLINE #ifdef __GNUC__ -#define _EXTERN_INLINE extern __inline__ +#define _EXTERN_INLINE __extern_inline #else #define _EXTERN_INLINE static #endif --- libc/ctype/ctype.h.jj 2004-09-08 00:23:45.000000000 +0200 +++ libc/ctype/ctype.h 2007-03-16 15:29:22.000000000 +0100 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991,92,93,95,96,97,98,99,2001,2002,2004 +/* Copyright (C) 1991,92,93,95,96,97,98,99,2001,2002,2004,2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 @@ -187,13 +187,13 @@ __exctype (_tolower); # endif =20 # ifdef __USE_EXTERN_INLINES -extern __inline int +__extern_inline int __NTH (tolower (int __c)) { return __c >=3D -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; } =20 -extern __inline int +__extern_inline int __NTH (toupper (int __c)) { return __c >=3D -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; --- libc/nptl/sysdeps/pthread/bits/libc-lock.h.jj 2007-01-17 11:18:43.00000= 0000 +0100 +++ libc/nptl/sysdeps/pthread/bits/libc-lock.h 2007-03-16 15:29:22.00000000= 0 +0100 @@ -414,7 +414,7 @@ extern void _pthread_cleanup_pop_restore =20 =20 /* Normal cleanup handling, based on C cleanup attribute. */ -extern __inline void +__extern_inline void __libc_cleanup_routine (struct __pthread_cleanup_frame *f) { if (f->__do_it) --- libc/nptl/sysdeps/pthread/pthread.h.jj 2007-01-03 11:04:36.000000000 +0= 100 +++ libc/nptl/sysdeps/pthread/pthread.h 2007-03-16 17:01:34.000000000 +0100 @@ -1,4 +1,5 @@ -/* Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, In= c. +/* Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -572,7 +573,7 @@ class __pthread_cleanup_class function the compiler is free to decide inlining the change when needed or fall back on the copy which must exist somewhere else. */ -extern __inline void +__extern_inline void __pthread_cleanup_routine (struct __pthread_cleanup_frame *__frame) { if (__frame->__do_it) @@ -1103,7 +1104,7 @@ extern int pthread_atfork (void (*__prep =20 #ifdef __USE_EXTERN_INLINES /* Optimizations. */ -extern __inline int +__extern_inline int __NTH (pthread_equal (pthread_t __thread1, pthread_t __thread2)) { return __thread1 =3D=3D __thread2; --- libc/configure.in.jj 2006-11-06 20:53:08.000000000 +0100 +++ libc/configure.in 2007-03-16 16:57:42.000000000 +0100 @@ -1641,6 +1641,30 @@ fi rm -f conftest*]) AC_SUBST(libc_cv_ssp) =20 +AC_CACHE_CHECK(for -fgnu89-inline, libc_cv_gnu89_inline, [dnl +cat > conftest.c <&AS_MESSAGE_LOG_FD]) +then + libc_cv_gnu89_inline=3Dyes +else + libc_cv_gnu89_inline=3Dno +fi +rm -f conftest*]) +if test $libc_cv_gnu89_inline =3D yes; then + libc_cv_gnu89_inline=3D-fgnu89-inline +else + libc_cv_gnu89_inline=3D +fi +AC_SUBST(libc_cv_gnu89_inline) + if test $elf !=3D yes; then AC_CACHE_CHECK(for .init and .fini sections, libc_cv_have_initfini, [AC_TRY_COMPILE(, [asm (".section .init"); --- libc/bits/mathinline.h.jj 1997-10-13 05:53:18.000000000 +0200 +++ libc/bits/mathinline.h 2007-03-16 15:29:22.000000000 +0100 @@ -1,6 +1,6 @@ /* This file should provide inline versions of math functions. =20 - Surround GCC-specific parts with #ifdef __GNUC__, and use `extern __inl= ine'. + Surround GCC-specific parts with #ifdef __GNUC__, and use `__extern_inl= ine'. =20 This file should define __MATH_INLINES if functions are actually define= d as inlines. */ --- libc/bits/string.h.jj 1997-10-13 05:53:19.000000000 +0200 +++ libc/bits/string.h 2007-03-16 15:29:22.000000000 +0100 @@ -1,6 +1,6 @@ /* This file should provide inline versions of string functions. =20 - Surround GCC-specific parts with #ifdef __GNUC__, and use `extern __inl= ine'. + Surround GCC-specific parts with #ifdef __GNUC__, and use `__extern_inl= ine'. =20 This file should define __STRING_INLINES if functions are actually defi= ned as inlines. */ --- libc/bits/sigset.h.jj 2001-07-06 06:55:50.000000000 +0200 +++ libc/bits/sigset.h 2007-03-16 15:29:22.000000000 +0100 @@ -1,5 +1,6 @@ /* __sig_atomic_t, __sigset_t, and related definitions. Generic/BSD versi= on. - Copyright (C) 1991, 1992, 1994, 1996, 1997 Free Software Foundation, In= c. + Copyright (C) 1991, 1992, 1994, 1996, 1997, 2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -38,7 +39,7 @@ typedef unsigned long int __sigset_t; #define _SIGSET_H_fns 1 =20 #ifndef _EXTERN_INLINE -# define _EXTERN_INLINE extern __inline +# define _EXTERN_INLINE __extern_inline #endif =20 /* Return a mask that includes SIG only. The cast to `sigset_t' avoids --- libc/libio/bits/stdio.h.jj 2004-09-08 00:23:44.000000000 +0200 +++ libc/libio/bits/stdio.h 2007-03-16 15:29:23.000000000 +0100 @@ -1,5 +1,5 @@ /* Optimizing macros and inline functions for stdio functions. - Copyright (C) 1998, 2000, 2001, 2004 Free Software Foundation, Inc. + Copyright (C) 1998, 2000, 2001, 2004, 2007 Free Software Foundation, In= c. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -24,7 +24,7 @@ #ifdef __cplusplus # define __STDIO_INLINE inline #else -# define __STDIO_INLINE extern __inline +# define __STDIO_INLINE __extern_inline #endif =20 =20 --- libc/libio/bits/stdio2.h.jj 2005-03-19 01:14:58.000000000 +0100 +++ libc/libio/bits/stdio2.h 2007-03-16 15:29:23.000000000 +0100 @@ -1,5 +1,5 @@ /* Checking macros for stdio functions. - Copyright (C) 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -75,7 +75,7 @@ extern int __vprintf_chk (int __flag, __ extern char *__gets_chk (char *__str, size_t) __wur; extern char *__REDIRECT (__gets_alias, (char *__str), gets) __wur; =20 -extern __always_inline __wur char * +__extern_always_inline __wur char * gets (char *__str) { if (__bos (__str) !=3D (size_t) -1) @@ -89,7 +89,7 @@ extern char *__REDIRECT (__fgets_alias, (char *__restrict __s, int __n, FILE *__restrict __stream), fgets) __wur; =20 -extern __always_inline __wur char * +__extern_always_inline __wur char * fgets (char *__restrict __s, int __n, FILE *__restrict __stream) { if (__bos (__s) !=3D (size_t) -1 @@ -105,7 +105,7 @@ extern char *__REDIRECT (__fgets_unlocke (char *__restrict __s, int __n, FILE *__restrict __stream), fgets_unlocked) __wur; =20 -extern __always_inline __wur char * +__extern_always_inline __wur char * fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream) { if (__bos (__s) !=3D (size_t) -1 --- libc/argp/argp.h.jj 2006-04-22 17:08:26.000000000 +0200 +++ libc/argp/argp.h 2007-03-16 17:01:47.000000000 +0100 @@ -1,5 +1,6 @@ /* Hierarchial argument parsing, layered over getopt. - Copyright (C) 1995-1999,2003,2004,2005,2006 Free Software Foundation, I= nc. + Copyright (C) 1995-1999, 2003, 2004, 2005, 2006, 2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader . =20 @@ -558,7 +559,7 @@ extern void *__argp_input (__const struc # endif =20 # ifndef ARGP_EI -# define ARGP_EI extern __inline__ +# define ARGP_EI __extern_inline # endif =20 ARGP_EI void --- libc/configure.jj 2006-11-06 20:53:08.000000000 +0100 +++ libc/configure 2007-03-16 17:05:21.000000000 +0100 @@ -313,7 +313,7 @@ ac_includes_default=3D"\ # include #endif" =20 -ac_subst_vars=3D'SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE= _VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transf= orm_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir locals= tatedir libdir includedir oldincludedir infodir mandir build_alias host_ali= as target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS with_fp with_cvs enable_chec= k_abi oldest_abi bindnow force_install all_warnings build build_cpu build_v= endor build_os host host_cpu host_vendor host_os subdirs add_ons add_on_sub= dirs base_machine submachine sysnames sysdeps_add_ons INSTALL_PROGRAM INSTA= LL_SCRIPT INSTALL_DATA LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT BUIL= D_CC cross_compiling CPP CXX CXXFLAGS ac_ct_CXX AR OBJDUMP RANLIB ac_ct_RAN= LIB MIG AS LD PWD_P MAKE MSGFMT MAKEINFO SED AUTOCONF SYSINCLUDES CXX_SYSIN= CLUDES libc_cv_gcc_static_libgcc BASH libc_cv_have_bash2 KSH libc_cv_have_k= sh AWK PERL INSTALL_INFO BISON VERSIONING libc_cv_cc_with_libunwind libc_cv= _Bgroup libc_cv_libgcc_s_suffix libc_cv_as_needed ASFLAGS_config libc_cv_z_= combreloc libc_cv_z_execstack libc_cv_fpie libc_cv_hashstyle fno_unit_at_a_= time libc_cv_ssp libc_cv_have_initfini no_whole_archive exceptions LIBGD ha= ve_libaudit have_libcap have_selinux EGREP sizeof_long_double libc_cv_gcc_u= nwind_find_fde uname_sysname uname_release uname_version old_glibc_headers = libc_cv_slibdir libc_cv_localedir libc_cv_sysconfdir libc_cv_rootsbindir li= bc_cv_forced_unwind use_ldconfig ldd_rewrite_script elf xcoff static shared= pic_default profile omitfp bounded static_nss nopic_initfini DEFINES mach_= interface_list VERSION RELEASE LIBOBJS LTLIBOBJS' +ac_subst_vars=3D'SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE= _VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transf= orm_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir locals= tatedir libdir includedir oldincludedir infodir mandir build_alias host_ali= as target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS with_fp with_cvs enable_chec= k_abi oldest_abi bindnow force_install all_warnings build build_cpu build_v= endor build_os host host_cpu host_vendor host_os subdirs add_ons add_on_sub= dirs base_machine submachine sysnames sysdeps_add_ons INSTALL_PROGRAM INSTA= LL_SCRIPT INSTALL_DATA LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC OBJEXT BUIL= D_CC cross_compiling CPP CXX CXXFLAGS ac_ct_CXX AR OBJDUMP RANLIB ac_ct_RAN= LIB MIG AS LD PWD_P MAKE MSGFMT MAKEINFO SED AUTOCONF SYSINCLUDES CXX_SYSIN= CLUDES libc_cv_gcc_static_libgcc BASH libc_cv_have_bash2 KSH libc_cv_have_k= sh AWK PERL INSTALL_INFO BISON VERSIONING libc_cv_cc_with_libunwind libc_cv= _Bgroup libc_cv_libgcc_s_suffix libc_cv_as_needed ASFLAGS_config libc_cv_z_= combreloc libc_cv_z_execstack libc_cv_fpie libc_cv_hashstyle fno_unit_at_a_= time libc_cv_ssp libc_cv_gnu89_inline libc_cv_have_initfini no_whole_archiv= e exceptions LIBGD have_libaudit have_libcap have_selinux EGREP sizeof_long= _double libc_cv_gcc_unwind_find_fde uname_sysname uname_release uname_versi= on old_glibc_headers libc_cv_slibdir libc_cv_localedir libc_cv_sysconfdir l= ibc_cv_rootsbindir libc_cv_forced_unwind use_ldconfig ldd_rewrite_script el= f xcoff static shared pic_default profile omitfp bounded static_nss nopic_i= nitfini DEFINES mach_interface_list VERSION RELEASE LIBOBJS LTLIBOBJS' ac_subst_files=3D'' =20 # Initialize some variables set by options. @@ -5959,6 +5959,42 @@ echo "$as_me:$LINENO: result: $libc_cv_s echo "${ECHO_T}$libc_cv_ssp" >&6 =20 =20 +echo "$as_me:$LINENO: checking for -fgnu89-inline" >&5 +echo $ECHO_N "checking for -fgnu89-inline... $ECHO_C" >&6 +if test "${libc_cv_gnu89_inline+set}" =3D set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat > conftest.c <&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=3D$? + echo "$as_me:$LINENO: \$? =3D $ac_status" >&5 + (exit $ac_status); }; } +then + libc_cv_gnu89_inline=3Dyes +else + libc_cv_gnu89_inline=3Dno +fi +rm -f conftest* +fi +echo "$as_me:$LINENO: result: $libc_cv_gnu89_inline" >&5 +echo "${ECHO_T}$libc_cv_gnu89_inline" >&6 +if test $libc_cv_gnu89_inline =3D yes; then + libc_cv_gnu89_inline=3D-fgnu89-inline +else + libc_cv_gnu89_inline=3D +fi + + if test $elf !=3D yes; then echo "$as_me:$LINENO: checking for .init and .fini sections" >&5 echo $ECHO_N "checking for .init and .fini sections... $ECHO_C" >&6 @@ -8517,6 +8553,7 @@ s,@libc_cv_fpie@,$libc_cv_fpie,;t t s,@libc_cv_hashstyle@,$libc_cv_hashstyle,;t t s,@fno_unit_at_a_time@,$fno_unit_at_a_time,;t t s,@libc_cv_ssp@,$libc_cv_ssp,;t t +s,@libc_cv_gnu89_inline@,$libc_cv_gnu89_inline,;t t s,@libc_cv_have_initfini@,$libc_cv_have_initfini,;t t s,@no_whole_archive@,$no_whole_archive,;t t s,@exceptions@,$exceptions,;t t --- libc/io/sys/stat.h.jj 2006-01-06 13:14:05.000000000 +0100 +++ libc/io/sys/stat.h 2007-03-16 17:02:03.000000000 +0100 @@ -1,4 +1,5 @@ -/* Copyright (C) 1991,1992,1995-2004,2005,2006 Free Software Foundation, I= nc. +/* Copyright (C) 1991, 1992, 1995-2004, 2005, 2006, 2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -430,28 +431,28 @@ extern int __xmknodat (int __ver, int __ #if defined __GNUC__ && __GNUC__ >=3D 2 /* Inlined versions of the real stat and mknod functions. */ =20 -extern __inline__ int +__extern_inline int __NTH (stat (__const char *__path, struct stat *__statbuf)) { return __xstat (_STAT_VER, __path, __statbuf); } =20 # if defined __USE_BSD || defined __USE_XOPEN_EXTENDED -extern __inline__ int +__extern_inline int __NTH (lstat (__const char *__path, struct stat *__statbuf)) { return __lxstat (_STAT_VER, __path, __statbuf); } # endif =20 -extern __inline__ int +__extern_inline int __NTH (fstat (int __fd, struct stat *__statbuf)) { return __fxstat (_STAT_VER, __fd, __statbuf); } =20 # ifdef __USE_ATFILE -extern __inline__ int +__extern_inline int __NTH (fstatat (int __fd, __const char *__filename, struct stat *__statbuf, int __flag)) { @@ -460,7 +461,7 @@ __NTH (fstatat (int __fd, __const char * # endif =20 # if defined __USE_MISC || defined __USE_BSD -extern __inline__ int +__extern_inline int __NTH (mknod (__const char *__path, __mode_t __mode, __dev_t __dev)) { return __xmknod (_MKNOD_VER, __path, __mode, &__dev); @@ -468,7 +469,7 @@ __NTH (mknod (__const char *__path, __mo # endif =20 # ifdef __USE_ATFILE -extern __inline__ int +__extern_inline int __NTH (mknodat (int __fd, __const char *__path, __mode_t __mode, __dev_t __dev)) { @@ -479,28 +480,28 @@ __NTH (mknodat (int __fd, __const char * # if defined __USE_LARGEFILE64 \ && (! defined __USE_FILE_OFFSET64 \ || (defined __REDIRECT_NTH && defined __OPTIMIZE__)) -extern __inline__ int +__extern_inline int __NTH (stat64 (__const char *__path, struct stat64 *__statbuf)) { return __xstat64 (_STAT_VER, __path, __statbuf); } =20 # if defined __USE_BSD || defined __USE_XOPEN_EXTENDED -extern __inline__ int +__extern_inline int __NTH (lstat64 (__const char *__path, struct stat64 *__statbuf)) { return __lxstat64 (_STAT_VER, __path, __statbuf); } # endif =20 -extern __inline__ int +__extern_inline int __NTH (fstat64 (int __fd, struct stat64 *__statbuf)) { return __fxstat64 (_STAT_VER, __fd, __statbuf); } =20 # ifdef __USE_GNU -extern __inline__ int +__extern_inline int __NTH (fstatat64 (int __fd, __const char *__filename, struct stat64 *__sta= tbuf, int __flag)) { --- libc/wcsmbs/wchar.h.jj 2007-02-26 18:13:49.000000000 +0100 +++ libc/wcsmbs/wchar.h 2007-03-16 15:29:23.000000000 +0100 @@ -326,19 +326,19 @@ __END_NAMESPACE_C99 locales must use ASCII encoding for the values in the ASCII range and because the wchar_t encoding is always ISO 10646. */ extern wint_t __btowc_alias (int __c) __asm ("btowc"); -extern __inline wint_t +__extern_inline wint_t __NTH (btowc (int __c)) { return (__builtin_constant_p (__c) && __c >=3D '\0' && __c <=3D '\x7f' ? (wint_t) __c : __btowc_alias (__c)); } =20 extern int __wctob_alias (wint_t __c) __asm ("wctob"); -extern __inline int +__extern_inline int __NTH (wctob (wint_t __wc)) { return (__builtin_constant_p (__wc) && __wc >=3D L'\0' && __wc <=3D L'\x= 7f' ? (int) __wc : __wctob_alias (__wc)); } # endif =20 -extern __inline size_t +__extern_inline size_t __NTH (mbrlen (__const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps)) { return (__ps !=3D NULL @@ -548,38 +548,38 @@ extern unsigned long long int __wcstoull /* Define inline functions which call the internal entry points. */ __BEGIN_NAMESPACE_C99 =20 -extern __inline double +__extern_inline double __NTH (wcstod (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr)) { return __wcstod_internal (__nptr, __endptr, 0); } -extern __inline long int +__extern_inline long int __NTH (wcstol (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base)) { return __wcstol_internal (__nptr, __endptr, __base, 0); } -extern __inline unsigned long int +__extern_inline unsigned long int __NTH (wcstoul (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base)) { return __wcstoul_internal (__nptr, __endptr, __base, 0); } __END_NAMESPACE_C99 =20 # ifdef __USE_GNU -extern __inline float +__extern_inline float __NTH (wcstof (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr)) { return __wcstof_internal (__nptr, __endptr, 0); } # ifndef __LDBL_COMPAT -extern __inline long double +__extern_inline long double __NTH (wcstold (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr)) { return __wcstold_internal (__nptr, __endptr, 0); } # endif __extension__ -extern __inline long long int +__extern_inline long long int __NTH (wcstoq (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base)) { return __wcstoll_internal (__nptr, __endptr, __base, 0); } __extension__ -extern __inline unsigned long long int +__extern_inline unsigned long long int __NTH (wcstouq (__const wchar_t *__restrict __nptr, wchar_t **__restrict __endptr, int __base)) { return __wcstoull_internal (__nptr, __endptr, __base, 0); } --- libc/wcsmbs/bits/wchar2.h.jj 2006-01-14 13:09:47.000000000 +0100 +++ libc/wcsmbs/bits/wchar2.h 2007-03-16 17:02:07.000000000 +0100 @@ -1,5 +1,5 @@ /* Checking macros for wchar functions. - Copyright (C) 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -30,7 +30,7 @@ extern wchar_t *__REDIRECT_NTH (__wmemcp __const wchar_t *__restrict __s2, size_t __n), wmemcpy); =20 -extern __always_inline wchar_t * +__extern_always_inline wchar_t * __NTH (wmemcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2, size_t __n)) { @@ -46,7 +46,7 @@ extern wchar_t *__REDIRECT_NTH (__wmemmo __const wchar_t *__s2, size_t __n), wmemmove); =20 -extern __always_inline wchar_t * +__extern_always_inline wchar_t * __NTH (wmemmove (wchar_t *__restrict __s1, __const wchar_t *__restrict __s= 2, size_t __n)) { @@ -65,7 +65,7 @@ extern wchar_t *__REDIRECT_NTH (__wmempc __const wchar_t *__restrict __s2, size_t __n), wmempcpy); =20 -extern __always_inline wchar_t * +__extern_always_inline wchar_t * __NTH (wmempcpy (wchar_t *__restrict __s1, __const wchar_t *__restrict __s= 2, size_t __n)) { @@ -81,7 +81,7 @@ extern wchar_t *__wmemset_chk (wchar_t * extern wchar_t *__REDIRECT_NTH (__wmemset_alias, (wchar_t *__s, wchar_t __= c, size_t __n), wmemset); =20 -extern __always_inline wchar_t * +__extern_always_inline wchar_t * __NTH (wmemset (wchar_t *__restrict __s, wchar_t __c, size_t __n)) { if (__bos0 (__s) !=3D (size_t) -1) @@ -97,7 +97,7 @@ extern wchar_t *__REDIRECT_NTH (__wcscpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src), wcscpy); =20 -extern __always_inline wchar_t * +__extern_always_inline wchar_t * __NTH (wcscpy (wchar_t *__dest, __const wchar_t *__src)) { if (__bos (__dest) !=3D (size_t) -1) @@ -112,7 +112,7 @@ extern wchar_t *__REDIRECT_NTH (__wcpcpy __const wchar_t *__src), wcpcpy); =20 -extern __always_inline wchar_t * +__extern_always_inline wchar_t * __NTH (wcpcpy (wchar_t *__dest, __const wchar_t *__src)) { if (__bos (__dest) !=3D (size_t) -1) @@ -129,7 +129,7 @@ extern wchar_t *__REDIRECT_NTH (__wcsncp __const wchar_t *__restrict __src, size_t __n), wcsncpy); =20 -extern __always_inline wchar_t * +__extern_always_inline wchar_t * __NTH (wcsncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n)) { if (__bos (__dest) !=3D (size_t) -1 @@ -148,7 +148,7 @@ extern wchar_t *__REDIRECT_NTH (__wcpncp __const wchar_t *__restrict __src, size_t __n), wcpncpy); =20 -extern __always_inline wchar_t * +__extern_always_inline wchar_t * __NTH (wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n)) { if (__bos (__dest) !=3D (size_t) -1 @@ -166,7 +166,7 @@ extern wchar_t *__REDIRECT_NTH (__wcscat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src), wcscat); =20 -extern __always_inline wchar_t * +__extern_always_inline wchar_t * __NTH (wcscat (wchar_t *__dest, __const wchar_t *__src)) { if (__bos (__dest) !=3D (size_t) -1) @@ -183,7 +183,7 @@ extern wchar_t *__REDIRECT_NTH (__wcsnca __const wchar_t *__restrict __src, size_t __n), wcsncat); =20 -extern __always_inline wchar_t * +__extern_always_inline wchar_t * __NTH (wcsncat (wchar_t *__dest, __const wchar_t *__src, size_t __n)) { if (__bos (__dest) !=3D (size_t) -1) @@ -246,7 +246,7 @@ extern wchar_t *__REDIRECT (__fgetws_ali (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream), fgetws) __wur; =20 -extern __always_inline __wur wchar_t * +__extern_always_inline __wur wchar_t * fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) { if (__bos (__s) !=3D (size_t) -1 @@ -264,7 +264,7 @@ extern wchar_t *__REDIRECT (__fgetws_unl __FILE *__restrict __stream), fgetws_unlocked) __wur; =20 -extern __always_inline __wur wchar_t * +__extern_always_inline __wur wchar_t * fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __st= ream) { if (__bos (__s) !=3D (size_t) -1 @@ -281,7 +281,7 @@ extern size_t __REDIRECT_NTH (__wcrtomb_ (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps), wcrtomb) __wur; =20 -extern __always_inline __wur size_t +__extern_always_inline __wur size_t __NTH (wcrtomb (char *__s, wchar_t __wchar, mbstate_t *__ps)) { /* We would have to include to get a definition of MB_LEN_MAX. @@ -307,7 +307,7 @@ extern size_t __REDIRECT_NTH (__mbsrtowc size_t __len, mbstate_t *__restrict __ps), mbsrtowcs); =20 -extern __always_inline size_t +__extern_always_inline size_t __NTH (mbsrtowcs (wchar_t *__restrict __dst, __const char **__restrict __s= rc, size_t __len, mbstate_t *__restrict __ps)) { @@ -330,7 +330,7 @@ extern size_t __REDIRECT_NTH (__wcsrtomb size_t __len, mbstate_t *__restrict __ps), wcsrtombs); =20 -extern __always_inline size_t +__extern_always_inline size_t __NTH (wcsrtombs (char *__restrict __dst, __const wchar_t **__restrict __s= rc, size_t __len, mbstate_t *__restrict __ps)) { @@ -352,7 +352,7 @@ extern size_t __REDIRECT_NTH (__mbsnrtow size_t __len, mbstate_t *__restrict __ps), mbsnrtowcs); =20 -extern __always_inline size_t +__extern_always_inline size_t __NTH (mbsnrtowcs (wchar_t *__restrict __dst, __const char **__restrict __= src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps)) { @@ -376,7 +376,7 @@ extern size_t __REDIRECT_NTH (__wcsnrtom size_t __nwc, size_t __len, mbstate_t *__restrict __ps), wcsnrtombs); =20 -extern __always_inline size_t +__extern_always_inline size_t __NTH (wcsnrtombs (char *__restrict __dst, __const wchar_t **__restrict __= src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps)) { --- libc/socket/bits/socket2.h.jj 2005-08-08 21:00:53.000000000 +0200 +++ libc/socket/bits/socket2.h 2007-03-16 15:29:23.000000000 +0100 @@ -1,5 +1,5 @@ /* Checking macros for socket functions. - Copyright (C) 2005 Free Software Foundation, Inc. + Copyright (C) 2005, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -26,7 +26,7 @@ extern ssize_t __recv_chk (int __fd, voi extern ssize_t __REDIRECT (__recv_alias, (int __fd, void *__buf, size_t __= n, int __flags), recv); =20 -extern __always_inline ssize_t +__extern_always_inline ssize_t recv (int __fd, void *__buf, size_t __n, int __flags) { if (__bos0 (__buf) !=3D (size_t) -1 @@ -44,7 +44,7 @@ extern ssize_t __REDIRECT (__recvfrom_al int __flags, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len), recvfrom); =20 -extern __always_inline ssize_t +__extern_always_inline ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len) { --- libc/posix/bits/unistd.h.jj 2006-08-24 08:47:31.000000000 +0200 +++ libc/posix/bits/unistd.h 2007-03-16 17:02:14.000000000 +0100 @@ -1,5 +1,5 @@ /* Checking macros for unistd functions. - Copyright (C) 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -26,7 +26,7 @@ extern ssize_t __read_chk (int __fd, voi extern ssize_t __REDIRECT (__read_alias, (int __fd, void *__buf, size_t __nbytes), read) __wur; =20 -extern __always_inline __wur ssize_t +__extern_always_inline __wur ssize_t read (int __fd, void *__buf, size_t __nbytes) { if (__bos0 (__buf) !=3D (size_t) -1 @@ -48,7 +48,7 @@ extern ssize_t __REDIRECT (__pread64_ali __off64_t __offset), pread64) __wur; =20 # ifndef __USE_FILE_OFFSET64 -extern __always_inline __wur ssize_t +__extern_always_inline __wur ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off_t __offset) { if (__bos0 (__buf) !=3D (size_t) -1 @@ -57,7 +57,7 @@ pread (int __fd, void *__buf, size_t __n return __pread_alias (__fd, __buf, __nbytes, __offset); } # else -extern __always_inline __wur ssize_t +__extern_always_inline __wur ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) { if (__bos0 (__buf) !=3D (size_t) -1 @@ -68,7 +68,7 @@ pread (int __fd, void *__buf, size_t __n # endif =20 # ifdef __USE_LARGEFILE64 -extern __always_inline __wur ssize_t +__extern_always_inline __wur ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) { if (__bos0 (__buf) !=3D (size_t) -1 @@ -89,7 +89,7 @@ extern ssize_t __REDIRECT_NTH (__readlin char *__restrict __buf, size_t __len), readlink) __nonnull ((1, 2)) __wur; =20 -extern __always_inline __nonnull ((1, 2)) __wur ssize_t +__extern_always_inline __nonnull ((1, 2)) __wur ssize_t __NTH (readlink (__const char *__restrict __path, char *__restrict __buf, size_t __len)) { @@ -111,7 +111,7 @@ extern ssize_t __REDIRECT_NTH (__readlin readlinkat) __nonnull ((2, 3)) __wur; =20 -extern __always_inline __nonnull ((2, 3)) __wur ssize_t +__extern_always_inline __nonnull ((2, 3)) __wur ssize_t __NTH (readlinkat (int __fd, __const char *__restrict __path, char *__restrict __buf, size_t __len)) { @@ -127,7 +127,7 @@ extern char *__getcwd_chk (char *__buf,=20 extern char *__REDIRECT_NTH (__getcwd_alias, (char *__buf, size_t __size), getcwd) __wur; =20 -extern __always_inline __wur char * +__extern_always_inline __wur char * __NTH (getcwd (char *__buf, size_t __size)) { if (__bos (__buf) !=3D (size_t) -1 @@ -142,7 +142,7 @@ extern char *__getwd_chk (char *__buf, s extern char *__REDIRECT_NTH (__getwd_alias, (char *__buf), getwd) __nonnull ((1)) __wur; =20 -extern __always_inline __nonnull ((1)) __attribute_deprecated__ __wur char= * +__extern_always_inline __nonnull ((1)) __attribute_deprecated__ __wur char= * __NTH (getwd (char *__buf)) { if (__bos (__buf) !=3D (size_t) -1) @@ -156,7 +156,7 @@ extern size_t __confstr_chk (int __name, extern size_t __REDIRECT_NTH (__confstr_alias, (int __name, char *__buf, size_t __len), confstr); =20 -extern __always_inline size_t +__extern_always_inline size_t __NTH (confstr (int __name, char *__buf, size_t __len)) { if (__bos (__buf) !=3D (size_t) -1 @@ -171,7 +171,7 @@ extern int __getgroups_chk (int __size,=20 extern int __REDIRECT_NTH (__getgroups_alias, (int __size, __gid_t __list[= ]), getgroups) __wur; =20 -extern __always_inline int +__extern_always_inline int __NTH (getgroups (int __size, __gid_t __list[])) { if (__bos (__list) !=3D (size_t) -1 @@ -188,7 +188,7 @@ extern int __REDIRECT_NTH (__ttyname_r_a size_t __buflen), ttyname_r) __nonnull ((2)); =20 -extern __always_inline int +__extern_always_inline int __NTH (ttyname_r (int __fd, char *__buf, size_t __buflen)) { if (__bos (__buf) !=3D (size_t) -1 @@ -204,7 +204,7 @@ extern int __getlogin_r_chk (char *__buf extern int __REDIRECT (__getlogin_r_alias, (char *__buf, size_t __buflen), getlogin_r) __nonnull ((1)); =20 -extern __always_inline int +__extern_always_inline int getlogin_r (char *__buf, size_t __buflen) { if (__bos (__buf) !=3D (size_t) -1 @@ -221,7 +221,7 @@ extern int __gethostname_chk (char *__bu extern int __REDIRECT_NTH (__gethostname_alias, (char *__buf, size_t __buf= len), gethostname) __nonnull ((1)); =20 -extern __always_inline int +__extern_always_inline int __NTH (gethostname (char *__buf, size_t __buflen)) { if (__bos (__buf) !=3D (size_t) -1 @@ -239,7 +239,7 @@ extern int __REDIRECT_NTH (__getdomainna size_t __buflen), getdomainname) __nonnull ((1)) __wur; =20 -extern __always_inline int +__extern_always_inline int __NTH (getdomainname (char *__buf, size_t __buflen)) { if (__bos (__buf) !=3D (size_t) -1 --- libc/string/bits/string3.h.jj 2005-08-08 21:02:31.000000000 +0200 +++ libc/string/bits/string3.h 2007-03-16 15:29:23.000000000 +0100 @@ -1,4 +1,4 @@ -/* Copyright (C) 2004, 2005 Free Software Foundation, Inc. +/* Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -151,7 +151,7 @@ extern char *__REDIRECT_NTH (__stpncpy_a __const char *__src, size_t __n), stpncpy); =20 -extern __always_inline char * +__extern_always_inline char * __NTH (stpncpy (char *__dest, __const char *__src, size_t __n)) { if (__bos (__dest) !=3D (size_t) -1 --- libc/string/bits/string2.h.jj 2004-05-28 08:39:13.000000000 +0200 +++ libc/string/bits/string2.h 2007-03-16 15:29:23.000000000 +0100 @@ -1,5 +1,5 @@ /* Machine-independant string function optimizations. - Copyright (C) 1997-2003, 2004 Free Software Foundation, Inc. + Copyright (C) 1997-2003, 2004, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1997. =20 @@ -43,7 +43,7 @@ # ifdef __cplusplus # define __STRING_INLINE inline # else -# define __STRING_INLINE extern __inline +# define __STRING_INLINE __extern_inline # endif #endif =20 --- libc/string/argz.h.jj 2004-09-08 00:23:43.000000000 +0200 +++ libc/string/argz.h 2007-03-16 15:29:23.000000000 +0100 @@ -1,5 +1,5 @@ /* Routines for dealing with '\0' separated arg vectors. - Copyright (C) 1995,96,97,98,99,2000,2004 Free Software Foundation, Inc. + Copyright (C) 1995,96,97,98,99,2000,2004,2007 Free Software Foundation,= Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -160,7 +160,7 @@ extern char *argz_next (__const char *__ __const char *__restrict __entry) __THROW; =20 #ifdef __USE_EXTERN_INLINES -extern inline char * +__extern_inline char * __NTH (__argz_next (__const char *__argz, size_t __argz_len, __const char *__entry)) { @@ -174,7 +174,7 @@ __NTH (__argz_next (__const char *__argz else return __argz_len > 0 ? (char *) __argz : 0; } -extern inline char * +__extern_inline char * __NTH (argz_next (__const char *__argz, size_t __argz_len, __const char *__entry)) { --- libc/Makeconfig.jj 2006-10-31 23:05:27.000000000 +0100 +++ libc/Makeconfig 2007-03-16 17:02:23.000000000 +0100 @@ -1,4 +1,4 @@ -# Copyright (C) 1991-2003,2004,2005,2006 Free Software Foundation, Inc. +# Copyright (C) 1991-2003,2004,2005,2006,2007 Free Software Foundation, In= c. # This file is part of the GNU C Library. =20 # The GNU C Library is free software; you can redistribute it and/or @@ -672,7 +672,7 @@ CPPFLAGS =3D $($(subdir)-CPPFLAGS) $(+incl $(foreach lib,$(libof-$(basename $(@F))) \ $(libof-$(. - Copyright (C) 1997, 1998, 2001 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 2001, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -135,21 +135,21 @@ __MATHDECL (_Mdouble_,creal, (_Mdouble_c #if defined __GNUC__ && !__GNUC_PREREQ (2, 97) && defined __OPTIMIZE__ =20 /* Imaginary part of Z. */ -extern __inline _Mdouble_ +__extern_inline _Mdouble_ __MATH_PRECNAME(cimag) (_Mdouble_complex_ __z) __THROW { return __imag__ __z; } =20 /* Real part of Z. */ -extern __inline _Mdouble_ +__extern_inline _Mdouble_ __MATH_PRECNAME(creal) (_Mdouble_complex_ __z) __THROW { return __real__ __z; } =20 /* Complex conjugate of Z. */ -extern __inline _Mdouble_complex_ +__extern_inline _Mdouble_complex_ __MATH_PRECNAME(conj) (_Mdouble_complex_ __z) __THROW { return __extension__ ~__z; --- libc/hurd/hurd.h.jj 2002-01-02 10:52:20.000000000 +0100 +++ libc/hurd/hurd.h 2007-03-16 15:29:23.000000000 +0100 @@ -1,4 +1,5 @@ -/* Copyright (C) 1993,94,95,96,97,98,99,2001,02 Free Software Foundation, = Inc. +/* Copyright (C) 1993,94,95,96,97,98,99,2001,2002,2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -44,7 +45,7 @@ #include =20 #ifndef _HURD_H_EXTERN_INLINE -#define _HURD_H_EXTERN_INLINE extern __inline +#define _HURD_H_EXTERN_INLINE __extern_inline #endif =20 _HURD_H_EXTERN_INLINE int --- libc/hurd/hurd/port.h.jj 2001-07-06 06:54:47.000000000 +0200 +++ libc/hurd/hurd/port.h 2007-03-16 15:29:23.000000000 +0100 @@ -1,5 +1,6 @@ /* Lightweight user references for ports. - Copyright (C) 1993, 1994, 1995, 1997, 1999 Free Software Foundation, In= c. + Copyright (C) 1993, 1994, 1995, 1997, 1999, 2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -55,7 +56,7 @@ struct hurd_port =20 =20 #ifndef _HURD_PORT_H_EXTERN_INLINE -#define _HURD_PORT_H_EXTERN_INLINE extern __inline +#define _HURD_PORT_H_EXTERN_INLINE __extern_inline #endif =20 =20 --- libc/hurd/hurd/threadvar.h.jj 2002-09-02 09:08:53.000000000 +0200 +++ libc/hurd/hurd/threadvar.h 2007-03-16 17:02:29.000000000 +0100 @@ -1,5 +1,5 @@ /* Internal per-thread variables for the Hurd. - Copyright (C) 1994,95,97,98,99,2001,02 Free Software Foundation, Inc. + Copyright (C) 1994,95,97,98,99,2001,02,06,07 Free Software Foundation, = Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -74,7 +74,7 @@ enum __hurd_threadvar_index =20 =20 #ifndef _HURD_THREADVAR_H_EXTERN_INLINE -#define _HURD_THREADVAR_H_EXTERN_INLINE extern __inline +#define _HURD_THREADVAR_H_EXTERN_INLINE __extern_inline #endif =20 /* Return the location of the value for the per-thread variable with index --- libc/hurd/hurd/fd.h.jj 2006-03-06 08:59:07.000000000 +0100 +++ libc/hurd/hurd/fd.h 2007-03-16 17:02:35.000000000 +0100 @@ -1,5 +1,5 @@ /* File descriptors. - Copyright (C) 1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2006 + Copyright (C) 1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2006,20= 07 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 @@ -52,7 +52,7 @@ extern struct mutex _hurd_dtable_lock; / #include =20 #ifndef _HURD_FD_H_EXTERN_INLINE -#define _HURD_FD_H_EXTERN_INLINE extern __inline +#define _HURD_FD_H_EXTERN_INLINE __extern_inline #endif =20 /* Returns the descriptor cell for FD. If FD is invalid or unused, return --- libc/hurd/hurd/signal.h.jj 2002-02-18 21:57:11.000000000 +0100 +++ libc/hurd/hurd/signal.h 2007-03-16 15:29:23.000000000 +0100 @@ -1,5 +1,5 @@ /* Implementing POSIX.1 signals under the Hurd. - Copyright (C) 1993,94,95,96,98,99,2002 Free Software Foundation, Inc. + Copyright (C) 1993,94,95,96,98,99,2002,2007 Free Software Foundation, I= nc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -126,7 +126,7 @@ extern struct hurd_sigstate *_hurd_self_ __attribute__ ((__const__)); =20 #ifndef _HURD_SIGNAL_H_EXTERN_INLINE -#define _HURD_SIGNAL_H_EXTERN_INLINE extern __inline +#define _HURD_SIGNAL_H_EXTERN_INLINE __extern_inline #endif =20 _HURD_SIGNAL_H_EXTERN_INLINE struct hurd_sigstate * --- libc/hurd/hurd/userlink.h.jj 2001-07-06 06:54:47.000000000 +0200 +++ libc/hurd/hurd/userlink.h 2007-03-16 15:29:23.000000000 +0100 @@ -1,5 +1,5 @@ /* Support for chains recording users of a resource; `struct hurd_userlink= '. - Copyright (C) 1994, 1995, 1997, 1999 Free Software Foundation, Inc. + Copyright (C) 1994, 1995, 1997, 1999, 2007 Free Software Foundation, In= c. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -71,7 +71,7 @@ struct hurd_userlink =20 =20 #ifndef _HURD_USERLINK_H_EXTERN_INLINE -#define _HURD_USERLINK_H_EXTERN_INLINE extern __inline +#define _HURD_USERLINK_H_EXTERN_INLINE __extern_inline #endif =20 =20 --- libc/sysdeps/mach/alpha/machine-sp.h.jj 2001-07-06 06:55:56.000000000 += 0200 +++ libc/sysdeps/mach/alpha/machine-sp.h 2007-03-16 15:29:23.000000000 +0100 @@ -1,5 +1,5 @@ /* Machine-specific function to return the stack pointer. Alpha version. - Copyright (C) 1994, 1997 Free Software Foundation, Inc. + Copyright (C) 1994, 1997, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -23,7 +23,7 @@ /* Return the current stack pointer. */ =20 #ifndef _EXTERN_INLINE -#define _EXTERN_INLINE extern __inline +#define _EXTERN_INLINE __extern_inline #endif =20 _EXTERN_INLINE void * --- libc/sysdeps/mach/alpha/machine-lock.h.jj 2003-02-26 01:01:15.000000000= +0100 +++ libc/sysdeps/mach/alpha/machine-lock.h 2007-03-16 15:29:23.000000000 +0= 100 @@ -1,5 +1,5 @@ /* Machine-specific definition for spin locks. Alpha version. - Copyright (C) 1994, 1997 Free Software Foundation, Inc. + Copyright (C) 1994, 1997, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -30,7 +30,7 @@ typedef __volatile long int __spin_lock_ =20 =20 #ifndef _EXTERN_INLINE -#define _EXTERN_INLINE extern __inline +#define _EXTERN_INLINE __extern_inline #endif =20 /* Unlock LOCK. */ --- libc/sysdeps/mach/i386/machine-lock.h.jj 2001-07-06 06:56:00.000000000 = +0200 +++ libc/sysdeps/mach/i386/machine-lock.h 2007-03-16 15:29:23.000000000 +01= 00 @@ -1,5 +1,5 @@ /* Machine-specific definition for spin locks. i386 version. - Copyright (C) 1994, 1997 Free Software Foundation, Inc. + Copyright (C) 1994, 1997, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -30,7 +30,7 @@ typedef __volatile int __spin_lock_t; =20 =20 #ifndef _EXTERN_INLINE -#define _EXTERN_INLINE extern __inline +#define _EXTERN_INLINE __extern_inline #endif =20 /* Unlock LOCK. */ --- libc/sysdeps/mach/powerpc/machine-sp.h.jj 2002-08-27 00:39:44.000000000= +0200 +++ libc/sysdeps/mach/powerpc/machine-sp.h 2007-03-16 15:29:23.000000000 +0= 100 @@ -1,5 +1,5 @@ /* Machine-specific function to return the stack pointer. PowerPC version. - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -27,7 +27,7 @@ # ifdef _HURD_THREADVAR_H_EXTERN_INLINE # define _EXTERN_INLINE _HURD_THREADVAR_H_EXTERN_INLINE # else -# define _EXTERN_INLINE extern __inline +# define _EXTERN_INLINE __extern_inline # endif #endif =20 --- libc/sysdeps/mach/powerpc/machine-lock.h.jj 2002-02-17 08:13:25.0000000= 00 +0100 +++ libc/sysdeps/mach/powerpc/machine-lock.h 2007-03-16 15:29:23.000000000 = +0100 @@ -1,5 +1,5 @@ /* Machine-specific definition for spin locks. PowerPC version. - Copyright (C) 1994,97,2002 Free Software Foundation, Inc. + Copyright (C) 1994,97,2002,2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -30,7 +30,7 @@ typedef __volatile long int __spin_lock_ =20 =20 #ifndef _EXTERN_INLINE -#define _EXTERN_INLINE extern __inline +#define _EXTERN_INLINE __extern_inline #endif =20 /* Unlock LOCK. */ --- libc/sysdeps/alpha/fpu/bits/mathinline.h.jj 2007-03-16 11:33:55.0000000= 00 +0100 +++ libc/sysdeps/alpha/fpu/bits/mathinline.h 2007-03-16 15:29:33.000000000 = +0100 @@ -26,7 +26,7 @@ #ifdef __cplusplus # define __MATH_INLINE __inline #else -# define __MATH_INLINE extern __inline +# define __MATH_INLINE __extern_inline #endif =20 #if defined __USE_ISOC99 && defined __GNUC__ && !__GNUC_PREREQ(3,0) --- libc/sysdeps/ia64/fpu/bits/mathinline.h.jj 2004-09-08 23:44:02.00000000= 0 +0200 +++ libc/sysdeps/ia64/fpu/bits/mathinline.h 2007-03-16 15:29:33.000000000 += 0100 @@ -1,5 +1,5 @@ /* Inline math functions for ia64. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -24,7 +24,7 @@ #ifdef __cplusplus # define __MATH_INLINE __inline #else -# define __MATH_INLINE extern __inline +# define __MATH_INLINE __extern_inline #endif =20 #if defined __USE_ISOC99 && defined __GNUC__ && __GNUC__ >=3D 2 --- libc/sysdeps/i386/fpu/bits/mathinline.h.jj 2006-11-16 17:38:10.00000000= 0 +0100 +++ libc/sysdeps/i386/fpu/bits/mathinline.h 2007-03-16 15:53:13.000000000 += 0100 @@ -1,5 +1,5 @@ /* Inline math functions for i387. - Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2006 + Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2003,2004,2006,2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by John C. Bowman , 1995. @@ -26,7 +26,7 @@ #ifdef __cplusplus # define __MATH_INLINE __inline #else -# define __MATH_INLINE extern __inline +# define __MATH_INLINE __extern_inline #endif =20 =20 --- libc/sysdeps/i386/i486/bits/string.h.jj 2004-12-15 21:30:16.000000000 += 0100 +++ libc/sysdeps/i386/i486/bits/string.h 2007-03-16 15:29:34.000000000 +0100 @@ -1,5 +1,5 @@ /* Optimized, inlined string functions. i486 version. - Copyright (C) 1997,1998,1999,2000,2001,2002,2003,2004 + Copyright (C) 1997,1998,1999,2000,2001,2002,2003,2004,2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 @@ -35,7 +35,7 @@ # ifdef __cplusplus # define __STRING_INLINE inline # else -# define __STRING_INLINE extern __inline +# define __STRING_INLINE __extern_inline # endif #endif =20 --- libc/sysdeps/generic/inttypes.h.jj 2004-09-08 00:23:42.000000000 +0200 +++ libc/sysdeps/generic/inttypes.h 2007-03-16 15:29:34.000000000 +0100 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997-2001, 2004 Free Software Foundation, Inc. +/* Copyright (C) 1997-2001, 2004, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -330,7 +330,7 @@ extern long int __strtol_internal (__con int __base, int __group) __THROW; # define __strtol_internal_defined 1 # endif -extern __inline intmax_t +__extern_inline intmax_t __NTH (strtoimax (__const char *__restrict nptr, char **__restrict endptr, int base)) { @@ -345,7 +345,7 @@ extern unsigned long int __strtoul_inter int __base, int __group) __THROW; # define __strtoul_internal_defined 1 # endif -extern __inline uintmax_t +__extern_inline uintmax_t __NTH (strtoumax (__const char *__restrict nptr, char **__restrict endptr, int base)) { @@ -359,7 +359,7 @@ extern long int __wcstol_internal (__con int __base, int __group) __THROW; # define __wcstol_internal_defined 1 # endif -extern __inline intmax_t +__extern_inline intmax_t __NTH (wcstoimax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base)) { @@ -376,7 +376,7 @@ extern unsigned long int __wcstoul_inter int __base, int __group) __THROW; # define __wcstoul_internal_defined 1 # endif -extern __inline uintmax_t +__extern_inline uintmax_t __NTH (wcstoumax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base)) { @@ -393,7 +393,7 @@ extern long long int __strtoll_internal=20 int __base, int __group) __THROW; # define __strtoll_internal_defined 1 # endif -extern __inline intmax_t +__extern_inline intmax_t __NTH (strtoimax (__const char *__restrict nptr, char **__restrict endptr, int base)) { @@ -411,7 +411,7 @@ extern unsigned long long int __strtoull int __group) __THROW; # define __strtoull_internal_defined 1 # endif -extern __inline uintmax_t +__extern_inline uintmax_t __NTH (strtoumax (__const char *__restrict nptr, char **__restrict endptr, int base)) { @@ -427,7 +427,7 @@ extern long long int __wcstoll_internal=20 int __base, int __group) __THROW; # define __wcstoll_internal_defined 1 # endif -extern __inline intmax_t +__extern_inline intmax_t __NTH (wcstoimax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base)) { @@ -446,7 +446,7 @@ extern unsigned long long int __wcstoull int __group) __THROW; # define __wcstoull_internal_defined 1 # endif -extern __inline uintmax_t +__extern_inline uintmax_t __NTH (wcstoumax (__const __gwchar_t *__restrict nptr, __gwchar_t **__restrict endptr, int base)) { --- libc/sysdeps/generic/machine-sp.h.jj 2001-07-06 06:55:49.000000000 +0200 +++ libc/sysdeps/generic/machine-sp.h 2007-03-16 15:29:34.000000000 +0100 @@ -1,5 +1,5 @@ /* Machine-specific function to return the stack pointer. Stub version. - Copyright (C) 1994, 1997 Free Software Foundation, Inc. + Copyright (C) 1994, 1997, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -23,7 +23,7 @@ /* Return the current stack pointer. */ =20 #ifndef _EXTERN_INLINE -#define _EXTERN_INLINE extern __inline +#define _EXTERN_INLINE __extern_inline #endif =20 _EXTERN_INLINE void * --- libc/sysdeps/generic/machine-lock.h.jj 2001-07-06 06:55:49.000000000 +0= 200 +++ libc/sysdeps/generic/machine-lock.h 2007-03-16 15:29:34.000000000 +0100 @@ -1,5 +1,5 @@ /* Machine-specific definition for spin locks. Stub version. - Copyright (C) 1994, 1997 Free Software Foundation, Inc. + Copyright (C) 1994, 1997, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -30,7 +30,7 @@ typedef volatile int __spin_lock_t; =20 =20 #ifndef _EXTERN_INLINE -#define _EXTERN_INLINE extern __inline +#define _EXTERN_INLINE __extern_inline #endif =20 /* Unlock LOCK. */ --- libc/sysdeps/s390/bits/string.h.jj 2005-01-28 22:44:42.000000000 +0100 +++ libc/sysdeps/s390/bits/string.h 2007-03-16 15:29:34.000000000 +0100 @@ -1,5 +1,5 @@ /* Optimized, inlined string functions. S/390 version. - Copyright (C) 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 2000, 2001, 2007 Free Software Foundation, Inc. Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com). This file is part of the GNU C Library. =20 @@ -34,7 +34,7 @@ # ifdef __cplusplus # define __STRING_INLINE inline # else -# define __STRING_INLINE extern __inline +# define __STRING_INLINE __extern_inline # endif #endif =20 --- libc/sysdeps/s390/fpu/bits/mathinline.h.jj 2006-02-01 04:00:20.00000000= 0 +0100 +++ libc/sysdeps/s390/fpu/bits/mathinline.h 2007-03-16 15:29:34.000000000 += 0100 @@ -1,5 +1,5 @@ /* Inline math functions for s390. - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -24,7 +24,7 @@ #ifdef __cplusplus # define __MATH_INLINE __inline #else -# define __MATH_INLINE extern __inline +# define __MATH_INLINE __extern_inline #endif =20 #if (!defined __NO_MATH_INLINES || defined __LIBC_INTERNAL_MATH_INLINES) \ --- libc/sysdeps/powerpc/fpu/bits/mathinline.h.jj 2006-11-06 20:53:15.00000= 0000 +0100 +++ libc/sysdeps/powerpc/fpu/bits/mathinline.h 2007-03-16 17:02:38.00000000= 0 +0100 @@ -1,5 +1,5 @@ /* Inline math functions for powerpc. - Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2004, 2006 + Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2004, 2006, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 @@ -25,7 +25,7 @@ #ifdef __cplusplus # define __MATH_INLINE __inline #else -# define __MATH_INLINE extern __inline +# define __MATH_INLINE __extern_inline #endif /* __cplusplus */ =20 #if defined __GNUC__ && !defined _SOFT_FLOAT --- libc/sysdeps/x86_64/fpu/bits/mathinline.h.jj 2004-09-08 00:18:59.000000= 000 +0200 +++ libc/sysdeps/x86_64/fpu/bits/mathinline.h 2007-03-16 15:29:34.000000000= +0100 @@ -1,5 +1,5 @@ /* Inline math functions for x86-64. - Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Jaeger , 2002. =20 @@ -25,7 +25,7 @@ #ifdef __cplusplus # define __MATH_INLINE __inline #else -# define __MATH_INLINE extern __inline +# define __MATH_INLINE __extern_inline #endif =20 =20 --- libc/sysdeps/sparc/fpu/bits/mathinline.h.jj 2006-01-14 13:09:02.0000000= 00 +0100 +++ libc/sysdeps/sparc/fpu/bits/mathinline.h 2007-03-16 17:02:41.000000000 = +0100 @@ -1,5 +1,5 @@ /* Inline math functions for SPARC. - Copyright (C) 1999, 2000, 2001, 2002, 2004, 2006 + Copyright (C) 1999, 2000, 2001, 2002, 2004, 2006, 2007 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek . @@ -131,7 +131,7 @@ # ifdef __cplusplus # define __MATH_INLINE __inline # else -# define __MATH_INLINE extern __inline +# define __MATH_INLINE __extern_inline # endif /* __cplusplus */ =20 /* The gcc, version 2.7 or below, has problems with all this inlining --- libc/sysdeps/unix/bsd/bsd4.4/bits/socket.h.jj 2004-09-11 18:28:10.00000= 0000 +0200 +++ libc/sysdeps/unix/bsd/bsd4.4/bits/socket.h 2007-03-16 15:29:34.00000000= 0 +0100 @@ -1,5 +1,5 @@ /* System-specific socket constants and types. 4.4 BSD version. - Copyright (C) 1991,92,1994-2002,2004 Free Software Foundation, Inc. + Copyright (C) 1991,92,1994-2002,2004,2007 Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -227,7 +227,7 @@ extern struct cmsghdr *__cmsg_nxthdr (st struct cmsghdr *__cmsg) __THROW; #ifdef __USE_EXTERN_INLINES # ifndef _EXTERN_INLINE -# define _EXTERN_INLINE extern __inline +# define _EXTERN_INLINE __extern_inline # endif _EXTERN_INLINE struct cmsghdr * __NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)) --- libc/sysdeps/unix/sysv/linux/bits/socket.h.jj 2006-04-02 19:25:37.00000= 0000 +0200 +++ libc/sysdeps/unix/sysv/linux/bits/socket.h 2007-03-16 17:02:53.00000000= 0 +0100 @@ -1,5 +1,6 @@ /* System-specific socket constants and types. Linux version. - Copyright (C) 1991,1992,1994-2001,2004,2006 Free Software Foundation, I= nc. + Copyright (C) 1991, 1992, 1994-2001, 2004, 2006, 2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -264,7 +265,7 @@ extern struct cmsghdr *__cmsg_nxthdr (st struct cmsghdr *__cmsg) __THROW; #ifdef __USE_EXTERN_INLINES # ifndef _EXTERN_INLINE -# define _EXTERN_INLINE extern __inline +# define _EXTERN_INLINE __extern_inline # endif _EXTERN_INLINE struct cmsghdr * __NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)) --- libc/sysdeps/unix/sysv/linux/bits/sigset.h.jj 2001-07-06 06:56:14.00000= 0000 +0200 +++ libc/sysdeps/unix/sysv/linux/bits/sigset.h 2007-03-16 15:29:34.00000000= 0 +0100 @@ -1,5 +1,6 @@ /* __sig_atomic_t, __sigset_t, and related definitions. Linux version. - Copyright (C) 1991, 1992, 1994, 1996, 1997 Free Software Foundation, In= c. + Copyright (C) 1991, 1992, 1994, 1996, 1997, 2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -43,7 +44,7 @@ typedef struct # define _SIGSET_H_fns 1 =20 # ifndef _EXTERN_INLINE -# define _EXTERN_INLINE extern __inline +# define _EXTERN_INLINE __extern_inline # endif =20 /* Return a mask that includes the bit for SIG only. */ --- libc/sysdeps/unix/sysv/linux/sys/sysmacros.h.jj 2004-09-08 00:18:59.000= 000000 +0200 +++ libc/sysdeps/unix/sysv/linux/sys/sysmacros.h 2007-03-16 15:29:34.000000= 000 +0100 @@ -1,5 +1,6 @@ /* Definitions of macros to access `dev_t' values. - Copyright (C) 1996, 1997, 1999, 2003, 2004 Free Software Foundation, In= c. + Copyright (C) 1996, 1997, 1999, 2003, 2004, 2007 + Free Software Foundation, Inc. This file is part of the GNU C Library. =20 The GNU C Library is free software; you can redistribute it and/or @@ -27,30 +28,30 @@ they need. */ #ifdef __GLIBC_HAVE_LONG_LONG __extension__ -extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) +__extern_inline unsigned int gnu_dev_major (unsigned long long int __dev) __THROW; __extension__ -extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) +__extern_inline unsigned int gnu_dev_minor (unsigned long long int __dev) __THROW; __extension__ -extern __inline unsigned long long int gnu_dev_makedev (unsigned int __maj= or, +__extern_inline unsigned long long int gnu_dev_makedev (unsigned int __maj= or, unsigned int __minor) __THROW; =20 # if defined __GNUC__ && __GNUC__ >=3D 2 -__extension__ extern __inline unsigned int +__extension__ __extern_inline unsigned int __NTH (gnu_dev_major (unsigned long long int __dev)) { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } =20 -__extension__ extern __inline unsigned int +__extension__ __extern_inline unsigned int __NTH (gnu_dev_minor (unsigned long long int __dev)) { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } =20 -__extension__ extern __inline unsigned long long int +__extension__ __extern_inline unsigned long long int __NTH (gnu_dev_makedev (unsigned int __major, unsigned int __minor)) { return ((__minor & 0xff) | ((__major & 0xfff) << 8) Jakub