diff options
author | Roland McGrath <roland@gnu.org> | 1995-10-09 07:06:29 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 1995-10-09 07:06:29 +0000 |
commit | b122c7038e826eeabbc0118612b988c1a0f5b991 (patch) | |
tree | 1f3963026427771b6504b8afb91216895d95ba45 /hurd/hurd.h | |
parent | 80fd73873bd51e58039983a9416ef3bb97bdac57 (diff) | |
download | glibc-b122c7038e826eeabbc0118612b988c1a0f5b991.zip glibc-b122c7038e826eeabbc0118612b988c1a0f5b991.tar.gz glibc-b122c7038e826eeabbc0118612b988c1a0f5b991.tar.bz2 |
Mon Oct 9 02:54:14 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makeconfig (config-LDFLAGS): Define to
-Wl-dynamic-linker=$(libdir)$(rtld-installed-name).
(rtld-installed-name): New variable.
* elf/Makefile (install-lib): Variable removed.
(install-others): Define this instead, to
$(libdir)(rtld-installed-name).
($(libdir)(rtld-installed-name)): New target; install from ld.so.
* elf/ldd.sh.in: New file.
* elf/Makefile (distribute): Add ldd.sh.in.
(install-bin): Add ldd.
($(objpfx)ldd: ldd.sh.in): New rule.
* sysdeps/mach/hurd/dl-sysdep.c: Use __hurd_fail throughout.
* hurd/hurd.h (__hurd_fail): Replace macro with inline function.
Translate some Mach errors to Hurd errors.
* elf/rtld.c (dl_main): Under --list, print msg if executable is
statically linked.
* elf/dl-load.c (_dl_map_object_from_fd): Rewrote program header
table processing.
Sat Oct 7 01:25:48 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/stub/machine-gmon.h: Add #error.
Fri Oct 6 01:49:48 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* elf/dynamic-link.h (elf_get_dynamic_info): If DYN is null, don't
examine it.
Diffstat (limited to 'hurd/hurd.h')
-rw-r--r-- | hurd/hurd.h | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/hurd/hurd.h b/hurd/hurd.h index 1b4db17..acad15b 100644 --- a/hurd/hurd.h +++ b/hurd/hurd.h @@ -42,7 +42,33 @@ Cambridge, MA 02139, USA. */ #include <hurd/port.h> #include <errno.h> -#define __hurd_fail(err) (errno = (err), -1) + +_EXTERN_INLINE int +__hurd_fail (error_t err) +{ + switch (err) + { + case EMACH_SEND_INVALID_DEST: + case EMIG_SERVER_DIED: + /* The server has disappeared! */ + err = EIEIO; + break; + + case KERN_NO_SPACE: + err = ENOMEM; + break; + case KERN_INVALID_ARGUMENT: + err = EINVAL; + break; + + case 0: + return 0; + default: + } + + errno = err; + return -1; +} /* Basic ports and info, initialized by startup. */ |