summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1999-01-24 10:40:26 +0000
committerRoland McGrath <roland@gnu.org>1999-01-24 10:40:26 +0000
commit67afae58601ff74fcbcfac1f63fa3ab9962f2918 (patch)
tree6818bad79679b719c9e1a8740731eabe6bf2b125
parent8d097a18d8eca79c2d38429ec0a5cb636b58b591 (diff)
1999-01-23 Roland McGrath <roland@baalperazim.frob.com>
* 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.
-rw-r--r--sysdeps/gnu/Dist1
-rw-r--r--sysdeps/gnu/Makefile7
-rw-r--r--sysdeps/gnu/sys/mtio.h (renamed from sysdeps/unix/sysv/linux/sys/mtio.h)9
-rw-r--r--sysdeps/mach/hurd/dl-sysdep.c14
-rw-r--r--sysdeps/unix/sysv/linux/Dist1
-rw-r--r--sysdeps/unix/sysv/linux/Makefile2
6 files changed, 26 insertions, 8 deletions
diff --git a/sysdeps/gnu/Dist b/sysdeps/gnu/Dist
index afbfd721e0..7055326e2e 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 48932c3c8a..14a190acf6 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
index e238ef92d7..7498dfa788 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 efe33d7d0f..c79c388b9f 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 c6b881d2b3..a9408bf891 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 354ef66146..0a8f45448b 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 \