From 67afae58601ff74fcbcfac1f63fa3ab9962f2918 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sun, 24 Jan 1999 10:40:26 +0000 Subject: [PATCH] 1999-01-23 Roland McGrath * sysdeps/unix/sysv/linux/sys/mtio.h: Moved to... * sysdeps/gnu/sys/mtio.h: ...here. (_IOT_mtop, _IOT_mtget, _IOT_mtpos, _IOT_mtconfiginfo): New macros. * sysdeps/gnu/Dist: Add sys/mtio.h. * sysdeps/unix/sysv/linux/Dist: Remove sys/mtio.h. * sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc] (sysdep_headers): Don't add sys/mtio.h here. * sysdeps/gnu/Makefile [$(subdir) = misc] (sysdep_headers): Add it here instead. --- sysdeps/gnu/Dist | 1 + sysdeps/gnu/Makefile | 7 ++++++- sysdeps/{unix/sysv/linux => gnu}/sys/mtio.h | 9 ++++++++- sysdeps/mach/hurd/dl-sysdep.c | 14 ++++++++++---- sysdeps/unix/sysv/linux/Dist | 1 - sysdeps/unix/sysv/linux/Makefile | 2 +- 6 files changed, 26 insertions(+), 8 deletions(-) rename sysdeps/{unix/sysv/linux => gnu}/sys/mtio.h (96%) diff --git a/sysdeps/gnu/Dist b/sysdeps/gnu/Dist index afbfd72..7055326 100644 --- a/sysdeps/gnu/Dist +++ b/sysdeps/gnu/Dist @@ -4,3 +4,4 @@ bits/utmpx.h netinet/tcp.h netinet/udp.h netinet/ip_icmp.h +sys/mtio.h diff --git a/sysdeps/gnu/Makefile b/sysdeps/gnu/Makefile index 48932c3..14a190a 100644 --- a/sysdeps/gnu/Makefile +++ b/sysdeps/gnu/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +# Copyright (C) 1996, 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 @@ -40,3 +40,8 @@ endif ifeq ($(subdir),inet) sysdep_headers += netinet/udp.h netinet/ip_icmp.h endif + + +ifeq ($(subdir),misc) +sysdep_headers += sys/mtio.h +endif diff --git a/sysdeps/unix/sysv/linux/sys/mtio.h b/sysdeps/gnu/sys/mtio.h similarity index 96% rename from sysdeps/unix/sysv/linux/sys/mtio.h rename to sysdeps/gnu/sys/mtio.h index e238ef9..7498dfa 100644 --- a/sysdeps/unix/sysv/linux/sys/mtio.h +++ b/sysdeps/gnu/sys/mtio.h @@ -33,6 +33,8 @@ struct mtop short int mt_op; /* Operations defined below. */ int mt_count; /* How many of them. */ }; +#define _IOT_mtop /* Hurd ioctl type field. */ \ + _IOT (_IOTS (short), 1, _IOTS (int), 1, 0, 0) /* Magnetic Tape operations [Not all operations supported by all drivers]. */ #define MTRESET 0 /* +reset drive in case of problems. */ @@ -92,7 +94,8 @@ struct mtget __daddr_t mt_fileno; /* Number of current file on tape. */ __daddr_t mt_blkno; /* Current block number. */ }; - +#define _IOT_mtget /* Hurd ioctl type field. */ \ + _IOT (_IOTS (long), 7, 0, 0, 0, 0) /* Constants for mt_type. Not all of these are supported, and @@ -156,6 +159,8 @@ struct mtpos { long int mt_blkno; /* Current block number. */ }; +#define _IOT_mtpos /* Hurd ioctl type field. */ \ + _IOT_SIMPLE (long) /* Structure for MTIOCGETCONFIG/MTIOCSETCONFIG primarily intended @@ -185,6 +190,8 @@ struct mtconfiginfo unsigned pad1:5; char reserved[10]; }; +#define _IOT_mtconfiginfo /* Hurd ioctl type field. */ \ + _IOT (_IOTS (long), 2, _IOTS (short), 3, _IOTS (long), 1) /* XXX wrong */ /* Magnetic tape I/O control commands. */ diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c index efe33d7..c79c388 100644 --- a/sysdeps/mach/hurd/dl-sysdep.c +++ b/sysdeps/mach/hurd/dl-sysdep.c @@ -1,5 +1,5 @@ /* Operating system support for run-time dynamic linker. Hurd version. - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1995, 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 @@ -514,9 +514,9 @@ __libc_write (int fd, const void *buf, size_t nbytes) { error_t err; mach_msg_type_number_t nwrote; - + assert (fd < _hurd_init_dtablesize); - + err = __io_write (_hurd_init_dtable[fd], buf, nbytes, -1, &nwrote); if (err) return __hurd_fail (err); @@ -638,11 +638,17 @@ __getpid () return pid; } +/* This is called only in some strange cases trying to guess a value + for $ORIGIN for the executable. The dynamic linker copes with + getcwd failing (dl-object.c), and it's too much hassle to include + the functionality here. (We could, it just requires duplicating or + reusing getcwd.c's code but using our special lookup function as in + `open', above.) */ char * weak_function __getcwd (char *buf, size_t size) { - abort (); + errno = ENOSYS; return NULL; } diff --git a/sysdeps/unix/sysv/linux/Dist b/sysdeps/unix/sysv/linux/Dist index c6b881d..a9408bf 100644 --- a/sysdeps/unix/sysv/linux/Dist +++ b/sysdeps/unix/sysv/linux/Dist @@ -57,7 +57,6 @@ sys/kd.h sys/kdaemon.h sys/klog.h sys/mount.h -sys/mtio.h sys/pci.h sys/prctl.h sys/procfs.h diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index 354ef66..0a8f454 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -11,7 +11,7 @@ endif ifeq ($(subdir),misc) sysdep_routines += sysctl clone llseek getresuid getresgid umount umount2 -sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h sys/mtio.h \ +sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \ sys/io.h sys/klog.h sys/kdaemon.h \ sys/user.h sys/procfs.h sys/prctl.h \ sys/kd.h sys/soundcard.h sys/vt.h \ -- 2.7.4