glibc/sysdeps/unix/sysv/linux/sys/sysmacros.h

66 lines
2.2 KiB
C
Raw Normal View History

1996-08-02 07:27:50 +02:00
/* Definitions of macros to access `dev_t' values.
Copyright (C) 1996-2016 Free Software Foundation, Inc.
update from main archive 961209 Tue Dec 10 02:17:31 1996 Ulrich Drepper <drepper@cygnus.com> * stdio-common/printf_fp.c (__guess_grouping): Fix of by one error in computation of number of groups. Patch sent by Harald Schreiber <Harald.Schreiber@post.rwth-aachen.de>. Tue Dec 10 01:50:07 1996 Ulrich Drepper <drepper@cygnus.com> * version.h: Set version to 1.99. * Make-dist (routines): Add malloc and new-malloc. * Makeconfig: Allow Makefiles to set $(CPPFLAGS-$(<F)) and $(CPPFLAGS-$(@F)) to be added to CPPFLAGS. Same for $(CFLAGS-$(@F)) and CFLAGS. * gmon/sys/gmon_out.h: Add __BEGIN_DECLS/__END_DECLS. Unify layout. * io/sys/poll.h: Likewise. * sysdeps/stub/sys/ipb_buf.h: Likewise. * sysdeps/unix/sysv/linux/i386/sys/perm.h: Likewise. * sysdeps/unix/sysv/linux/i386/sys/vm86.h: Likewise. * sysdeps/unix/sysv/linux/sys/ipc_buf.h: Likewise. * sysdeps/unix/sysv/linux/sys/kdaemon.h: Likewise. * sysdeps/unix/sysv/linux/sys/klog.h: Likewise. * sysdeps/unix/sysv/linux/sys/mman.h: Likewise. * sysdeps/unix/sysv/linux/sys/module.h: Likewise. * sysdeps/unix/sysv/linux/sys/mount.h: Likewise. * sysdeps/unix/sysv/linux/sys/msq_buf.h: Likewise. * sysdeps/unix/sysv/linux/sys/param.h: Likewise. * sysdeps/unix/sysv/linux/sys/procfs.h: Likewise. * sysdeps/unix/sysv/linux/sys/ptrace.h: Likewise. * sysdeps/unix/sysv/linux/sys/reboot.h: Likewise. * sysdeps/unix/sysv/linux/sys/sem_buf.h: Likewise. * sysdeps/unix/sysv/linux/sys/shm_buf.h: Likewise. * sysdeps/unix/sysv/linux/sys/socketcall.h: Likewise. * sysdeps/unix/sysv/linux/sys/swap.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysctl.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysinfo.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysmacros.h: Likewise. * sysdeps/unix/sysv/linux/sys/timex.h: Likewise. * sysvipc/sys/sem.h: Likewise. * sysvipc/sys/shm.h: Likewise. * new-malloc/Makefile: Set CPPFLAGS-malloc.o. * new-malloc/malloc.c: Remove problem with 64 bits pointers. Add statistics for threads. * new-malloc/malloc.h: Likewise. * new-malloc/thread-m.h: Likewise. * time/strftime.c: Declare tzname if if HAVE_TZNAME is defined. * time/strptime.c: Update copyright. Mon Dec 9 14:51:10 1996 Ulrich Drepper <drepper@cygnus.com> * Make-dist: Make sure both malloc directories get distributed. Sun Dec 8 23:14:10 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * libio/iogets.c (_IO_gets): Fix early returns to not leave the stream locked. Sat Dec 7 22:08:09 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/sys/module.h: Enclose declarations in __BEGIN_DECLS/__END_DECLS. Sat Dec 7 14:23:12 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * login/utmp_file.c: Consistently set file_offset to the position after the entry just read.
1996-12-10 04:08:06 +01:00
This file is part of the GNU C Library.
1996-08-02 07:27:50 +02:00
update from main archive 961209 Tue Dec 10 02:17:31 1996 Ulrich Drepper <drepper@cygnus.com> * stdio-common/printf_fp.c (__guess_grouping): Fix of by one error in computation of number of groups. Patch sent by Harald Schreiber <Harald.Schreiber@post.rwth-aachen.de>. Tue Dec 10 01:50:07 1996 Ulrich Drepper <drepper@cygnus.com> * version.h: Set version to 1.99. * Make-dist (routines): Add malloc and new-malloc. * Makeconfig: Allow Makefiles to set $(CPPFLAGS-$(<F)) and $(CPPFLAGS-$(@F)) to be added to CPPFLAGS. Same for $(CFLAGS-$(@F)) and CFLAGS. * gmon/sys/gmon_out.h: Add __BEGIN_DECLS/__END_DECLS. Unify layout. * io/sys/poll.h: Likewise. * sysdeps/stub/sys/ipb_buf.h: Likewise. * sysdeps/unix/sysv/linux/i386/sys/perm.h: Likewise. * sysdeps/unix/sysv/linux/i386/sys/vm86.h: Likewise. * sysdeps/unix/sysv/linux/sys/ipc_buf.h: Likewise. * sysdeps/unix/sysv/linux/sys/kdaemon.h: Likewise. * sysdeps/unix/sysv/linux/sys/klog.h: Likewise. * sysdeps/unix/sysv/linux/sys/mman.h: Likewise. * sysdeps/unix/sysv/linux/sys/module.h: Likewise. * sysdeps/unix/sysv/linux/sys/mount.h: Likewise. * sysdeps/unix/sysv/linux/sys/msq_buf.h: Likewise. * sysdeps/unix/sysv/linux/sys/param.h: Likewise. * sysdeps/unix/sysv/linux/sys/procfs.h: Likewise. * sysdeps/unix/sysv/linux/sys/ptrace.h: Likewise. * sysdeps/unix/sysv/linux/sys/reboot.h: Likewise. * sysdeps/unix/sysv/linux/sys/sem_buf.h: Likewise. * sysdeps/unix/sysv/linux/sys/shm_buf.h: Likewise. * sysdeps/unix/sysv/linux/sys/socketcall.h: Likewise. * sysdeps/unix/sysv/linux/sys/swap.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysctl.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysinfo.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysmacros.h: Likewise. * sysdeps/unix/sysv/linux/sys/timex.h: Likewise. * sysvipc/sys/sem.h: Likewise. * sysvipc/sys/shm.h: Likewise. * new-malloc/Makefile: Set CPPFLAGS-malloc.o. * new-malloc/malloc.c: Remove problem with 64 bits pointers. Add statistics for threads. * new-malloc/malloc.h: Likewise. * new-malloc/thread-m.h: Likewise. * time/strftime.c: Declare tzname if if HAVE_TZNAME is defined. * time/strptime.c: Update copyright. Mon Dec 9 14:51:10 1996 Ulrich Drepper <drepper@cygnus.com> * Make-dist: Make sure both malloc directories get distributed. Sun Dec 8 23:14:10 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * libio/iogets.c (_IO_gets): Fix early returns to not leave the stream locked. Sat Dec 7 22:08:09 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/sys/module.h: Enclose declarations in __BEGIN_DECLS/__END_DECLS. Sat Dec 7 14:23:12 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * login/utmp_file.c: Consistently set file_offset to the position after the entry just read.
1996-12-10 04:08:06 +01:00
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.
1996-08-02 07:27:50 +02:00
update from main archive 961209 Tue Dec 10 02:17:31 1996 Ulrich Drepper <drepper@cygnus.com> * stdio-common/printf_fp.c (__guess_grouping): Fix of by one error in computation of number of groups. Patch sent by Harald Schreiber <Harald.Schreiber@post.rwth-aachen.de>. Tue Dec 10 01:50:07 1996 Ulrich Drepper <drepper@cygnus.com> * version.h: Set version to 1.99. * Make-dist (routines): Add malloc and new-malloc. * Makeconfig: Allow Makefiles to set $(CPPFLAGS-$(<F)) and $(CPPFLAGS-$(@F)) to be added to CPPFLAGS. Same for $(CFLAGS-$(@F)) and CFLAGS. * gmon/sys/gmon_out.h: Add __BEGIN_DECLS/__END_DECLS. Unify layout. * io/sys/poll.h: Likewise. * sysdeps/stub/sys/ipb_buf.h: Likewise. * sysdeps/unix/sysv/linux/i386/sys/perm.h: Likewise. * sysdeps/unix/sysv/linux/i386/sys/vm86.h: Likewise. * sysdeps/unix/sysv/linux/sys/ipc_buf.h: Likewise. * sysdeps/unix/sysv/linux/sys/kdaemon.h: Likewise. * sysdeps/unix/sysv/linux/sys/klog.h: Likewise. * sysdeps/unix/sysv/linux/sys/mman.h: Likewise. * sysdeps/unix/sysv/linux/sys/module.h: Likewise. * sysdeps/unix/sysv/linux/sys/mount.h: Likewise. * sysdeps/unix/sysv/linux/sys/msq_buf.h: Likewise. * sysdeps/unix/sysv/linux/sys/param.h: Likewise. * sysdeps/unix/sysv/linux/sys/procfs.h: Likewise. * sysdeps/unix/sysv/linux/sys/ptrace.h: Likewise. * sysdeps/unix/sysv/linux/sys/reboot.h: Likewise. * sysdeps/unix/sysv/linux/sys/sem_buf.h: Likewise. * sysdeps/unix/sysv/linux/sys/shm_buf.h: Likewise. * sysdeps/unix/sysv/linux/sys/socketcall.h: Likewise. * sysdeps/unix/sysv/linux/sys/swap.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysctl.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysinfo.h: Likewise. * sysdeps/unix/sysv/linux/sys/sysmacros.h: Likewise. * sysdeps/unix/sysv/linux/sys/timex.h: Likewise. * sysvipc/sys/sem.h: Likewise. * sysvipc/sys/shm.h: Likewise. * new-malloc/Makefile: Set CPPFLAGS-malloc.o. * new-malloc/malloc.c: Remove problem with 64 bits pointers. Add statistics for threads. * new-malloc/malloc.h: Likewise. * new-malloc/thread-m.h: Likewise. * time/strftime.c: Declare tzname if if HAVE_TZNAME is defined. * time/strptime.c: Update copyright. Mon Dec 9 14:51:10 1996 Ulrich Drepper <drepper@cygnus.com> * Make-dist: Make sure both malloc directories get distributed. Sun Dec 8 23:14:10 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * libio/iogets.c (_IO_gets): Fix early returns to not leave the stream locked. Sat Dec 7 22:08:09 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/sys/module.h: Enclose declarations in __BEGIN_DECLS/__END_DECLS. Sat Dec 7 14:23:12 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * login/utmp_file.c: Consistently set file_offset to the position after the entry just read.
1996-12-10 04:08:06 +01:00
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.
1996-08-02 07:27:50 +02:00
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
1996-08-02 07:27:50 +02:00
#ifndef _SYS_SYSMACROS_H
#define _SYS_SYSMACROS_H 1
#include <features.h>
__BEGIN_DECLS
__extension__
* misc/sys/cdefs.h (__va_arg_pack): Define for GCC 4.3+. * misc/bits/syslog.h (syslog): When __va_arg_pack is defined, implement as __extern_always_inline function. (vsyslog): Define as __extern_always_inline function unconditionally. * libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf): When __va_arg_pack is defined, implement as __extern_always_inline functions. (vsprintf, vsnprintf, vprintf, vfprintf): Define as __extern_always_inline functions unconditionally. * libio/bits/stdio.h (vprintf): Ifdef out the inline when bits/stdio2.h will be included. * wcsmbs/bits/wchar2.h (__swprintf_alias): New redirect. (swprintf, wprintf, fwprintf): When __va_arg_pack is defined, implement as __extern_always_inline functions. (vswprintf, vwprintf, vfwprintf): Define as __extern_always_inline functions unconditionally. * debug/tst-chk1.c (do_test): Enable remaining tests for C++. 2007-09-03 Jakub Jelinek <jakub@redhat.com> * misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Only define in C++ for GCC 4.3+, in C++ always use __gnu_inline__ attribute. * include/features.h (__USE_EXTERN_INLINES): Define only when __extern_inline is defined. * stdlib/stdlib.h: Include bits/stdlib.h when __extern_always_inline is defined instead of when not __cplusplus. * misc/sys/syslog.h: Include bits/syslog.h when __extern_always_inline is defined instead of when not __cplusplus. * socket/sys/socket.h: Include bits/socket2.h when __extern_always_inline is defined instead of when not __cplusplus. * libio/stdio.h: Include bits/stdio2.h when __extern_always_inline is defined instead of when not __cplusplus. * posix/unistd.h: Include bits/unistd.h when __extern_always_inline is defined instead of when not __cplusplus. * string/string.h: Include bits/string3.h when __extern_always_inline is defined instead of when not __cplusplus. * wcsmbs/wchar.h: Include bits/wchar2.h when __extern_always_inline is defined instead of when not __cplusplus. (btowc, wctob): Don't guard the inlines with ifndef __cplusplus. * io/fcntl.h: Don't include bits/fcntl2.h if __extern_always_inline is not defined. * misc/bits/syslog-ldbl.h: Guard *_chk stuff with defined __extern_always_inline instead of !defined __cplusplus. * libio/bits/stdio-ldbl.h: Likewise. * wcsmbs/bits/wchar-ldbl.h: Likewise. * misc/bits/syslog.h (syslog): Don't define for C++. (vsyslog): Use __extern_always_inline function for C++ instead of a macro. * libio/bits/stdio.h (__STDIO_INLINE): Define to __extern_inline whenever that macro is defined. (vprintf): Don't provide the inline for C++. (fread_unlocked, fwrite_unlocked): Don't define the macros for C++. * libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf): Don't define the macros for C++. (vsprintf, vsnprintf, vprintf, vfprintf): Define as __extern_always_inline functions for C++. * io/sys/stat.h (stat, lstat, fstat, fstatat, mknod, mknodat, stat64, lstat64, fstat64, fstatat64): Don't define if not __USE_EXTERN_INLINES. * wcsmbs/bits/wchar2.h: Fix #error message. (swprintf, wprintf, fwprintf): Don't define the macros for C++. (vswprintf, vwprintf, vfwprintf): Define using __extern_always_inline functions for C++. * string/bits/string3.h: Don't #undef macros if __cplusplus. (memcpy, memmove, mempcpy, memset, bcopy, bzero, strcpy, stpcpy, strncpy, strcat, strncat): Define as __extern_always_inline functions instead of macros for C++. * math/bits/cmathcalls.h: Guard __extern_inline routines with defined __extern_inline. * sysdeps/alpha/fpu/bits/mathinline.h (__MATH_INLINE): Define to __extern_inline whenever that macro is defined. * sysdeps/ia64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/i386/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/i386/i486/bits/string.h (__STRING_INLINE): Likewise. * sysdeps/s390/bits/string.h (__STRING_INLINE): Likewise. * sysdeps/s390/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/powerpc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/x86_64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/sparc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/unix/sysv/linux/sys/sysmacros.h (gnu_dev_major, gnu_dev_minor, gnu_dev_makedev): Remove __extern_inline from prototypes. Only provide __extern_inline routines if __USE_EXTERN_INLINES. * debug/Makefile: Add rules to build and run tst-{,lfs}chk{4,5,6} tests. * debug/tst-chk1.c (do_prepare, do_test): Allow compilation as C++. For now avoid some *printf tests in C++. Skip all testing if __USE_FORTIFY_LEVEL is defined, but __extern_always_inline macro is not. * debug/tst-chk4.cc: New file. * debug/tst-chk5.cc: New file. * debug/tst-chk6.cc: New file. * debug/tst-lfschk4.cc: New file. * debug/tst-lfschk5.cc: New file. * debug/tst-lfschk6.cc: New file. * include/wchar.h (__vfwprintf_chk, __vswprintf_chk): Avoid prototypes in C++. * include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk, __vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk, __vfprintf_chk, __fgets_unlocked_chk, __fgets_chk): Likewise.
2007-09-15 04:38:04 +02:00
extern unsigned int gnu_dev_major (unsigned long long int __dev)
__THROW __attribute_const__;
__extension__
* misc/sys/cdefs.h (__va_arg_pack): Define for GCC 4.3+. * misc/bits/syslog.h (syslog): When __va_arg_pack is defined, implement as __extern_always_inline function. (vsyslog): Define as __extern_always_inline function unconditionally. * libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf): When __va_arg_pack is defined, implement as __extern_always_inline functions. (vsprintf, vsnprintf, vprintf, vfprintf): Define as __extern_always_inline functions unconditionally. * libio/bits/stdio.h (vprintf): Ifdef out the inline when bits/stdio2.h will be included. * wcsmbs/bits/wchar2.h (__swprintf_alias): New redirect. (swprintf, wprintf, fwprintf): When __va_arg_pack is defined, implement as __extern_always_inline functions. (vswprintf, vwprintf, vfwprintf): Define as __extern_always_inline functions unconditionally. * debug/tst-chk1.c (do_test): Enable remaining tests for C++. 2007-09-03 Jakub Jelinek <jakub@redhat.com> * misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Only define in C++ for GCC 4.3+, in C++ always use __gnu_inline__ attribute. * include/features.h (__USE_EXTERN_INLINES): Define only when __extern_inline is defined. * stdlib/stdlib.h: Include bits/stdlib.h when __extern_always_inline is defined instead of when not __cplusplus. * misc/sys/syslog.h: Include bits/syslog.h when __extern_always_inline is defined instead of when not __cplusplus. * socket/sys/socket.h: Include bits/socket2.h when __extern_always_inline is defined instead of when not __cplusplus. * libio/stdio.h: Include bits/stdio2.h when __extern_always_inline is defined instead of when not __cplusplus. * posix/unistd.h: Include bits/unistd.h when __extern_always_inline is defined instead of when not __cplusplus. * string/string.h: Include bits/string3.h when __extern_always_inline is defined instead of when not __cplusplus. * wcsmbs/wchar.h: Include bits/wchar2.h when __extern_always_inline is defined instead of when not __cplusplus. (btowc, wctob): Don't guard the inlines with ifndef __cplusplus. * io/fcntl.h: Don't include bits/fcntl2.h if __extern_always_inline is not defined. * misc/bits/syslog-ldbl.h: Guard *_chk stuff with defined __extern_always_inline instead of !defined __cplusplus. * libio/bits/stdio-ldbl.h: Likewise. * wcsmbs/bits/wchar-ldbl.h: Likewise. * misc/bits/syslog.h (syslog): Don't define for C++. (vsyslog): Use __extern_always_inline function for C++ instead of a macro. * libio/bits/stdio.h (__STDIO_INLINE): Define to __extern_inline whenever that macro is defined. (vprintf): Don't provide the inline for C++. (fread_unlocked, fwrite_unlocked): Don't define the macros for C++. * libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf): Don't define the macros for C++. (vsprintf, vsnprintf, vprintf, vfprintf): Define as __extern_always_inline functions for C++. * io/sys/stat.h (stat, lstat, fstat, fstatat, mknod, mknodat, stat64, lstat64, fstat64, fstatat64): Don't define if not __USE_EXTERN_INLINES. * wcsmbs/bits/wchar2.h: Fix #error message. (swprintf, wprintf, fwprintf): Don't define the macros for C++. (vswprintf, vwprintf, vfwprintf): Define using __extern_always_inline functions for C++. * string/bits/string3.h: Don't #undef macros if __cplusplus. (memcpy, memmove, mempcpy, memset, bcopy, bzero, strcpy, stpcpy, strncpy, strcat, strncat): Define as __extern_always_inline functions instead of macros for C++. * math/bits/cmathcalls.h: Guard __extern_inline routines with defined __extern_inline. * sysdeps/alpha/fpu/bits/mathinline.h (__MATH_INLINE): Define to __extern_inline whenever that macro is defined. * sysdeps/ia64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/i386/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/i386/i486/bits/string.h (__STRING_INLINE): Likewise. * sysdeps/s390/bits/string.h (__STRING_INLINE): Likewise. * sysdeps/s390/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/powerpc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/x86_64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/sparc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/unix/sysv/linux/sys/sysmacros.h (gnu_dev_major, gnu_dev_minor, gnu_dev_makedev): Remove __extern_inline from prototypes. Only provide __extern_inline routines if __USE_EXTERN_INLINES. * debug/Makefile: Add rules to build and run tst-{,lfs}chk{4,5,6} tests. * debug/tst-chk1.c (do_prepare, do_test): Allow compilation as C++. For now avoid some *printf tests in C++. Skip all testing if __USE_FORTIFY_LEVEL is defined, but __extern_always_inline macro is not. * debug/tst-chk4.cc: New file. * debug/tst-chk5.cc: New file. * debug/tst-chk6.cc: New file. * debug/tst-lfschk4.cc: New file. * debug/tst-lfschk5.cc: New file. * debug/tst-lfschk6.cc: New file. * include/wchar.h (__vfwprintf_chk, __vswprintf_chk): Avoid prototypes in C++. * include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk, __vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk, __vfprintf_chk, __fgets_unlocked_chk, __fgets_chk): Likewise.
2007-09-15 04:38:04 +02:00
extern unsigned int gnu_dev_minor (unsigned long long int __dev)
__THROW __attribute_const__;
__extension__
* misc/sys/cdefs.h (__va_arg_pack): Define for GCC 4.3+. * misc/bits/syslog.h (syslog): When __va_arg_pack is defined, implement as __extern_always_inline function. (vsyslog): Define as __extern_always_inline function unconditionally. * libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf): When __va_arg_pack is defined, implement as __extern_always_inline functions. (vsprintf, vsnprintf, vprintf, vfprintf): Define as __extern_always_inline functions unconditionally. * libio/bits/stdio.h (vprintf): Ifdef out the inline when bits/stdio2.h will be included. * wcsmbs/bits/wchar2.h (__swprintf_alias): New redirect. (swprintf, wprintf, fwprintf): When __va_arg_pack is defined, implement as __extern_always_inline functions. (vswprintf, vwprintf, vfwprintf): Define as __extern_always_inline functions unconditionally. * debug/tst-chk1.c (do_test): Enable remaining tests for C++. 2007-09-03 Jakub Jelinek <jakub@redhat.com> * misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Only define in C++ for GCC 4.3+, in C++ always use __gnu_inline__ attribute. * include/features.h (__USE_EXTERN_INLINES): Define only when __extern_inline is defined. * stdlib/stdlib.h: Include bits/stdlib.h when __extern_always_inline is defined instead of when not __cplusplus. * misc/sys/syslog.h: Include bits/syslog.h when __extern_always_inline is defined instead of when not __cplusplus. * socket/sys/socket.h: Include bits/socket2.h when __extern_always_inline is defined instead of when not __cplusplus. * libio/stdio.h: Include bits/stdio2.h when __extern_always_inline is defined instead of when not __cplusplus. * posix/unistd.h: Include bits/unistd.h when __extern_always_inline is defined instead of when not __cplusplus. * string/string.h: Include bits/string3.h when __extern_always_inline is defined instead of when not __cplusplus. * wcsmbs/wchar.h: Include bits/wchar2.h when __extern_always_inline is defined instead of when not __cplusplus. (btowc, wctob): Don't guard the inlines with ifndef __cplusplus. * io/fcntl.h: Don't include bits/fcntl2.h if __extern_always_inline is not defined. * misc/bits/syslog-ldbl.h: Guard *_chk stuff with defined __extern_always_inline instead of !defined __cplusplus. * libio/bits/stdio-ldbl.h: Likewise. * wcsmbs/bits/wchar-ldbl.h: Likewise. * misc/bits/syslog.h (syslog): Don't define for C++. (vsyslog): Use __extern_always_inline function for C++ instead of a macro. * libio/bits/stdio.h (__STDIO_INLINE): Define to __extern_inline whenever that macro is defined. (vprintf): Don't provide the inline for C++. (fread_unlocked, fwrite_unlocked): Don't define the macros for C++. * libio/bits/stdio2.h (sprintf, snprintf, printf, fprintf): Don't define the macros for C++. (vsprintf, vsnprintf, vprintf, vfprintf): Define as __extern_always_inline functions for C++. * io/sys/stat.h (stat, lstat, fstat, fstatat, mknod, mknodat, stat64, lstat64, fstat64, fstatat64): Don't define if not __USE_EXTERN_INLINES. * wcsmbs/bits/wchar2.h: Fix #error message. (swprintf, wprintf, fwprintf): Don't define the macros for C++. (vswprintf, vwprintf, vfwprintf): Define using __extern_always_inline functions for C++. * string/bits/string3.h: Don't #undef macros if __cplusplus. (memcpy, memmove, mempcpy, memset, bcopy, bzero, strcpy, stpcpy, strncpy, strcat, strncat): Define as __extern_always_inline functions instead of macros for C++. * math/bits/cmathcalls.h: Guard __extern_inline routines with defined __extern_inline. * sysdeps/alpha/fpu/bits/mathinline.h (__MATH_INLINE): Define to __extern_inline whenever that macro is defined. * sysdeps/ia64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/i386/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/i386/i486/bits/string.h (__STRING_INLINE): Likewise. * sysdeps/s390/bits/string.h (__STRING_INLINE): Likewise. * sysdeps/s390/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/powerpc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/x86_64/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/sparc/fpu/bits/mathinline.h (__MATH_INLINE): Likewise. * sysdeps/unix/sysv/linux/sys/sysmacros.h (gnu_dev_major, gnu_dev_minor, gnu_dev_makedev): Remove __extern_inline from prototypes. Only provide __extern_inline routines if __USE_EXTERN_INLINES. * debug/Makefile: Add rules to build and run tst-{,lfs}chk{4,5,6} tests. * debug/tst-chk1.c (do_prepare, do_test): Allow compilation as C++. For now avoid some *printf tests in C++. Skip all testing if __USE_FORTIFY_LEVEL is defined, but __extern_always_inline macro is not. * debug/tst-chk4.cc: New file. * debug/tst-chk5.cc: New file. * debug/tst-chk6.cc: New file. * debug/tst-lfschk4.cc: New file. * debug/tst-lfschk5.cc: New file. * debug/tst-lfschk6.cc: New file. * include/wchar.h (__vfwprintf_chk, __vswprintf_chk): Avoid prototypes in C++. * include/stdio.h (__sprintf_chk, __snprintf_chk, __vsprintf_chk, __vsnprintf_chk, __printf_chk, __fprintf_chk, __vprintf_chk, __vfprintf_chk, __fgets_unlocked_chk, __fgets_chk): Likewise.
2007-09-15 04:38:04 +02:00
extern unsigned long long int gnu_dev_makedev (unsigned int __major,
unsigned int __minor)
__THROW __attribute_const__;
2013-01-11 22:13:25 +01:00
#ifdef __USE_EXTERN_INLINES
__extension__ __extern_inline __attribute_const__ unsigned int
2004-09-08 00:33:37 +02:00
__NTH (gnu_dev_major (unsigned long long int __dev))
{
return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
}
__extension__ __extern_inline __attribute_const__ unsigned int
2004-09-08 00:33:37 +02:00
__NTH (gnu_dev_minor (unsigned long long int __dev))
{
return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
}
__extension__ __extern_inline __attribute_const__ unsigned long long int
2004-09-08 00:33:37 +02:00
__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));
}
2013-01-11 22:13:25 +01:00
#endif
2011-05-07 15:13:43 +02:00
__END_DECLS
Update. 2003-09-24 Ulrich Drepper <drepper@redhat.com> * sysdeps/ia64/dl-machine.h (RTLD_START): Remove setting of __libc_stack_end. Patch by David Mosberger. 2003-09-24 Jakub Jelinek <jakub@redhat.com> * elf/Versions (ld): Export __libc_stack_end@GLIBC_2.1 instead of __libc_stack_end@GLIBC_PRIVATE. * sysdeps/generic/dl-sysdep.c (DL_STACK_END): Define if not defined. (_dl_sysdep_start): Set __libc_stack_end here. * sysdeps/alpha/dl-machine.h (RTLD_START): Remove setting of __libc_stack_end. * sysdeps/arm/dl-machine.h (RTLD_START): Likewise. * sysdeps/cris/dl-machine.h (RTLD_START): Likewise. * sysdeps/i386/dl-machine.h (RTLD_START): Likewise. * sysdeps/m68k/dl-machine.h (RTLD_START): Likewise. * sysdeps/s390/s390-32/dl-machine.h (RTLD_START): Likewise. * sysdeps/s390/s390-64/dl-machine.h (RTLD_START): Likewise. * sysdeps/sh/dl-machine.h (RTLD_START): Likewise. * sysdeps/x86_64/dl-machine.h (RTLD_START): Likewise. * sysdeps/ia64/dl-machine.h (DL_STACK_END): Define. * sysdeps/sparc/sparc32/dl-machine.h (DL_STACK_END): Define. (RTLD_START): Remove setting of __libc_stack_end. * sysdeps/sparc/sparc64/dl-machine.h (DL_STACK_END): Define. (RTLD_START): Remove setting of __libc_stack_end. 2003-09-24 Ulrich Drepper <drepper@redhat.com> * sysdeps/unix/sysv/linux/sys/sysmacros.h: Add gnu_dev_ prefix to function definitions. Adjust macro expansions accordingly. * sysdeps/unix/sysv/linux/Versions: Add gnu_dev_ prefix to major, minor, makedev name. * sysdeps/unix/sysv/linux/makedev.c: Likewise. 2003-09-24 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sys/sysmacros.h (major, minor, makedev): Add __THROW.
2003-09-24 23:13:55 +02:00
/* Access the functions with their traditional names. */
2013-01-11 22:13:25 +01:00
#define major(dev) gnu_dev_major (dev)
#define minor(dev) gnu_dev_minor (dev)
#define makedev(maj, min) gnu_dev_makedev (maj, min)
1996-08-02 07:27:50 +02:00
#endif /* sys/sysmacros.h */