From d1462d2e3f8a48eca8018e78b5f250db7cde458d Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 21 Jan 1999 14:52:39 +0000 Subject: [PATCH] Update. * sysdeps/unix/sysv/linux/sys/sysmacros.h: Pretty print. * sysdeps/unix/sysv/linux/Dist: Remove sys/sysmacros.h. * sysdeps/unix/sysv/linux/Makefile: Remove sys/sysmacros.h. * posix/Makefile (headers): Add sys/sysmacros.h. * posix/sys/types.h: Include sys/sysmacros.h for __USE_BSD. * sysdeps/generic/sys/sysmacros.h: New file. * sysdeps/mach/hurd/xmknod.c: Include sys/types.h and remove minor and major definition. --- ChangeLog | 9 +++++++++ posix/Makefile | 3 ++- posix/sys/types.h | 5 ++++- sysdeps/generic/sys/sysmacros.h | 31 +++++++++++++++++++++++++++++++ sysdeps/mach/hurd/xmknod.c | 7 ++----- sysdeps/unix/sysv/linux/Makefile | 2 +- sysdeps/unix/sysv/linux/sys/sysmacros.h | 5 ++--- 7 files changed, 51 insertions(+), 11 deletions(-) create mode 100644 sysdeps/generic/sys/sysmacros.h diff --git a/ChangeLog b/ChangeLog index 4174b98..d2b4fe3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,15 @@ * version.h (VERSION): Bump to 2.0.111. + * sysdeps/unix/sysv/linux/sys/sysmacros.h: Pretty print. + * sysdeps/unix/sysv/linux/Dist: Remove sys/sysmacros.h. + * sysdeps/unix/sysv/linux/Makefile: Remove sys/sysmacros.h. + * posix/Makefile (headers): Add sys/sysmacros.h. + * posix/sys/types.h: Include sys/sysmacros.h for __USE_BSD. + * sysdeps/generic/sys/sysmacros.h: New file. + * sysdeps/mach/hurd/xmknod.c: Include sys/types.h and remove minor and + major definition. + * elf/dl-close.c: Rewrite the way adding to the global scope works to handle error cases better than the last change. The l_global flag is now only set when the object is actually diff --git a/posix/Makefile b/posix/Makefile index b39abcd..7f1ff7b 100644 --- a/posix/Makefile +++ b/posix/Makefile @@ -26,7 +26,8 @@ headers := sys/utsname.h sys/times.h sys/wait.h sys/types.h unistd.h \ bits/posix1_lim.h bits/posix2_lim.h bits/posix_opt.h \ bits/local_lim.h tar.h bits/utsname.h bits/confname.h \ bits/waitflags.h bits/waitstatus.h sys/unistd.h sched.h \ - bits/sched.h re_comp.h wait.h bits/environments.h cpio.h + bits/sched.h re_comp.h wait.h bits/environments.h cpio.h \ + sys/sysmacros.h distribute := confstr.h TESTS TESTS2C.sed testcases.h \ PTESTS PTESTS2C.sed ptestcases.h \ diff --git a/posix/sys/types.h b/posix/sys/types.h index b0246a2..3966a38 100644 --- a/posix/sys/types.h +++ b/posix/sys/types.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 94, 95, 96, 97, 98 Free Software Foundation, Inc. +/* Copyright (C) 1991,92,94,95,96,97,98,99 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -191,6 +191,9 @@ typedef int register_t __attribute__ ((__mode__ (__word__))); /* It also defines `fd_set' and the FD_* macros for `select'. */ # include + +/* BSD defines these symbols, so we follow. */ +# include #endif /* Use BSD. */ diff --git a/sysdeps/generic/sys/sysmacros.h b/sysdeps/generic/sys/sysmacros.h new file mode 100644 index 0000000..6b69689 --- /dev/null +++ b/sysdeps/generic/sys/sysmacros.h @@ -0,0 +1,31 @@ +/* Definitions of macros to access `dev_t' values. + Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _SYS_SYSMACROS_H +#define _SYS_SYSMACROS_H 1 + +/* For compatibility we provide alternative names. + + The problem here is that compilers other than GCC probably don't + have the `long long' type and so `dev_t' is actually an array. */ +#define major(dev) ((int)(((unsigned int) (dev) >> 8) & 0xff)) +#define minor(dev) ((int)((dev) & 0xff)) +#define makedev(major, minor) (((major) << 8) | (minor)) + +#endif /* sys/sysmacros.h */ diff --git a/sysdeps/mach/hurd/xmknod.c b/sysdeps/mach/hurd/xmknod.c index fefc955..f672181 100644 --- a/sysdeps/mach/hurd/xmknod.c +++ b/sysdeps/mach/hurd/xmknod.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc. +/* Copyright (C) 1991, 92, 93, 94, 95, 96, 99 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,10 +23,7 @@ #include #include "stdio-common/_itoa.h" #include - -/* Temporary hack; this belongs in a header file, probably types.h. */ -#define major(x) ((int)(((unsigned int) (x) >> 8) & 0xff)) -#define minor(x) ((int)((x) & 0xff)) +#include /* Create a device file named FILE_NAME, with permission and special bits MODE diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index 5357f83..354ef66 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -13,7 +13,7 @@ sysdep_routines += sysctl clone llseek getresuid getresgid umount umount2 sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h sys/mtio.h \ sys/io.h sys/klog.h sys/kdaemon.h \ - sys/user.h sys/sysmacros.h sys/procfs.h sys/prctl.h \ + sys/user.h sys/procfs.h sys/prctl.h \ sys/kd.h sys/soundcard.h sys/vt.h \ sys/quota.h sys/fsuid.h \ scsi/sg.h scsi/scsi.h sys/pci.h sys/ultrasound.h \ diff --git a/sysdeps/unix/sysv/linux/sys/sysmacros.h b/sysdeps/unix/sysv/linux/sys/sysmacros.h index 55486fe..4c06539 100644 --- a/sysdeps/unix/sysv/linux/sys/sysmacros.h +++ b/sysdeps/unix/sysv/linux/sys/sysmacros.h @@ -1,5 +1,5 @@ /* Definitions of macros to access `dev_t' values. - Copyright (C) 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -18,7 +18,6 @@ Boston, MA 02111-1307, USA. */ #ifndef _SYS_SYSMACROS_H - #define _SYS_SYSMACROS_H 1 /* For compatibility we provide alternative names. @@ -35,4 +34,4 @@ # define makedev(major, minor) { (((major) << 8) | (minor)), 0 } #endif -#endif /* _SYS_SYSMACROS_H */ +#endif /* sys/sysmacros.h */ -- 2.7.4