* elf/dl-load.c (_dl_map_object_from_fd): Close FD before return.

* sysdeps/mach/mprotect.c: Define with __ name and weak alias.
	* sysdeps/stub/mprotect.c: Likewise.
	* sysdeps/unix/mman/syscalls.list (mprotect): Likewise.
	* sysdeps/generic/sys/mman.h: Declare __mprotect.
	* sysdeps/unix/sysv/irix4/sys/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
	* sysdeps/unix/bsd/osf/sys/mman.h: Likewise.
This commit is contained in:
Roland McGrath 1996-06-09 22:02:59 +00:00
parent 9dd2fc5d87
commit 6d9756c910
10 changed files with 31 additions and 10 deletions

View File

@ -1,5 +1,16 @@
Sun Jun 9 01:11:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> Sun Jun 9 01:11:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dl-load.c (_dl_map_object_from_fd): Close FD before return.
* sysdeps/mach/mprotect.c: Define with __ name and weak alias.
* sysdeps/stub/mprotect.c: Likewise.
* sysdeps/unix/mman/syscalls.list (mprotect): Likewise.
* sysdeps/generic/sys/mman.h: Declare __mprotect.
* sysdeps/unix/sysv/irix4/sys/mman.h: Likewise.
* sysdeps/unix/sysv/linux/sys/mman.h: Likewise.
* sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise.
* sysdeps/unix/bsd/osf/sys/mman.h: Likewise.
* Make-dist ($(tardir).tar): Use sed to check for file names longer * Make-dist ($(tardir).tar): Use sed to check for file names longer
than 14 chars, instead of doschk which checks for other things we than 14 chars, instead of doschk which checks for other things we
don't care about. don't care about.

View File

@ -430,6 +430,9 @@ _dl_map_object_from_fd (const char *name, int fd, char *realname)
} }
} }
/* We are done mapping in the file. We no longer need the descriptor. */
__close (fd);
l->l_type = type == ET_EXEC ? lt_executable : lt_library; l->l_type = type == ET_EXEC ? lt_executable : lt_library;
if (l->l_ld == 0) if (l->l_ld == 0)

View File

@ -1,5 +1,5 @@
/* Definitions for BSD-style memory management. Generic/4.4 BSD version. /* Definitions for BSD-style memory management. Generic/4.4 BSD version.
Copyright (C) 1994, 1995 Free Software Foundation, Inc. Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -92,6 +92,7 @@ int munmap __P ((__caddr_t __addr, size_t __len));
/* Change the memory protection of the region starting at ADDR and /* Change the memory protection of the region starting at ADDR and
extending LEN bytes to PROT. Returns 0 if successful, -1 for errors extending LEN bytes to PROT. Returns 0 if successful, -1 for errors
(and sets errno). */ (and sets errno). */
int __mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
int mprotect __P ((__caddr_t __addr, size_t __len, int __prot)); int mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
/* Synchronize the region starting at ADDR and extending LEN bytes with the /* Synchronize the region starting at ADDR and extending LEN bytes with the

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1994 Free Software Foundation, Inc. /* Copyright (C) 1994, 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -26,7 +26,7 @@ Cambridge, MA 02139, USA. */
(and sets errno). */ (and sets errno). */
int int
mprotect (caddr_t addr, size_t len, int prot) __mprotect (caddr_t addr, size_t len, int prot)
{ {
kern_return_t err; kern_return_t err;
vm_prot_t vmprot; vm_prot_t vmprot;
@ -48,3 +48,4 @@ mprotect (caddr_t addr, size_t len, int prot)
} }
return 0; return 0;
} }
weak_alias (__mprotect, mprotect)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1994, 1995 Free Software Foundation, Inc. /* Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -25,10 +25,11 @@ Cambridge, MA 02139, USA. */
(and sets errno). */ (and sets errno). */
int int
mprotect (caddr_t addr, size_t len, int prot) __mprotect (caddr_t addr, size_t len, int prot)
{ {
errno = ENOSYS; errno = ENOSYS;
return -1; return -1;
} }
weak_alias (__mprotect, mprotect)
stub_warning (mprotect) stub_warning (mprotect)

View File

@ -1,5 +1,5 @@
/* Definitions for BSD-style memory management. OSF/1 version. /* Definitions for BSD-style memory management. OSF/1 version.
Copyright (C) 1994, 1995 Free Software Foundation, Inc. Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -96,6 +96,7 @@ int munmap __P ((__caddr_t __addr, size_t __len));
/* Change the memory protection of the region starting at ADDR and /* Change the memory protection of the region starting at ADDR and
extending LEN bytes to PROT. Returns 0 if successful, -1 for errors extending LEN bytes to PROT. Returns 0 if successful, -1 for errors
(and sets errno). */ (and sets errno). */
int __mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
int mprotect __P ((__caddr_t __addr, size_t __len, int __prot)); int mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
/* Synchronize the region starting at ADDR and extending LEN bytes with the /* Synchronize the region starting at ADDR and extending LEN bytes with the

View File

@ -1,5 +1,5 @@
/* Definitions for BSD-style memory management. SunOS 4 version. /* Definitions for BSD-style memory management. SunOS 4 version.
Copyright (C) 1994, 1995 Free Software Foundation, Inc. Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -93,6 +93,7 @@ int munmap __P ((__caddr_t __addr, size_t __len));
/* Change the memory protection of the region starting at ADDR and /* Change the memory protection of the region starting at ADDR and
extending LEN bytes to PROT. Returns 0 if successful, -1 for errors extending LEN bytes to PROT. Returns 0 if successful, -1 for errors
(and sets errno). */ (and sets errno). */
int __mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
int mprotect __P ((__caddr_t __addr, size_t __len, int __prot)); int mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
/* Synchronize the region starting at ADDR and extending LEN bytes with the /* Synchronize the region starting at ADDR and extending LEN bytes with the

View File

@ -2,6 +2,6 @@
madvise - madvise 3 madvise madvise - madvise 3 madvise
mmap - mmap 5 __mmap mmap mmap - mmap 5 __mmap mmap
mprotect - mprotect 3 mprotect mprotect - mprotect 3 __mprotect mprotect
msync - msync 2 msync msync - msync 2 msync
munmap - munmap 2 __munmap munmap munmap - munmap 2 __munmap munmap

View File

@ -1,5 +1,5 @@
/* Definitions for BSD-style memory management. Irix 4 version. /* Definitions for BSD-style memory management. Irix 4 version.
Copyright (C) 1994, 1995 Free Software Foundation, Inc. Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -87,6 +87,7 @@ int munmap __P ((__caddr_t __addr, size_t __len));
/* Change the memory protection of the region starting at ADDR and /* Change the memory protection of the region starting at ADDR and
extending LEN bytes to PROT. Returns 0 if successful, -1 for errors extending LEN bytes to PROT. Returns 0 if successful, -1 for errors
(and sets errno). */ (and sets errno). */
int __mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
int mprotect __P ((__caddr_t __addr, size_t __len, int __prot)); int mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
/* Synchronize the region starting at ADDR and extending LEN bytes with the /* Synchronize the region starting at ADDR and extending LEN bytes with the

View File

@ -61,6 +61,7 @@ int munmap __P ((__caddr_t __addr, size_t __len));
/* Change the memory protection of the region starting at ADDR and /* Change the memory protection of the region starting at ADDR and
extending LEN bytes to PROT. Returns 0 if successful, -1 for errors extending LEN bytes to PROT. Returns 0 if successful, -1 for errors
(and sets errno). */ (and sets errno). */
int __mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
int mprotect __P ((__caddr_t __addr, size_t __len, int __prot)); int mprotect __P ((__caddr_t __addr, size_t __len, int __prot));
/* Synchronize the region starting at ADDR and extending LEN bytes with the /* Synchronize the region starting at ADDR and extending LEN bytes with the