summaryrefslogtreecommitdiff
path: root/libexec/ld.elf_so/map_object.c
AgeCommit message (Collapse)Author
2000-11-26Return an error when there are too many segments rather than abort()ing.mycroft
This way `ldd /usr/libexec/ld.elf_so' doesn't core dump.
2000-02-13switch back to using a file mapping for the initial mapping of a new object.chs
this allows the kernel to use PMAP_PREFER() to give us better alignment on platforms that care.
1999-11-07Changes from msaitoh to fix local/global symbol confusion, and to fix weakmycroft
symbol support -- updated by me for elf.h changes.
1999-11-04Remove ELFNAME defines since they are defined in sys/exec_elf.herh
1999-10-25Update to match new SVR4-style definition names in <sys/exec_elf.h>.kleink
1999-10-22Undo last change. While these macros are defined in exec_elf.h, they arehannken
enclosed by `#ifdef _KERNEL'.
1999-10-21Remove ELFNAME macros which are already defines in exec_elf.herh
1999-08-06When allocating the entire address space of an object, map an anonymousthorpej
region first (using the data/bss protection) covering it, then overlay the text and data regions at the appropriate offsets within the region, and then unmap any gap between the text and data. The previous method of maping the entire address space with the actual file object itself is incorrect, as it may extend past the end of the file if the section alignment is large enough. This bug was the source of the libposix failure on the SPARC and another similar failure (with libc!) on the Alpha (failure was accompanied by a "uvn_io: size check fired" message on the console).
1999-03-01KNFchristos
1998-02-20Fill in missing (default) mmap(2) flags.mycroft
1996-12-17Mipsel changes to ELF ldd/ld.so:jonathan
* don't abort() on NetBSD/pmax 1.1 elf binaries; * Assume 32-bit elf unless compiling for Alpha; * note bugs in ldd's README.
1996-12-16First cut at an ELF shared loader. Originally from John Polstra's FreeBSD elfcgd
kit, then hacked on by Matt Thomas <matt@3am-software.com>, then by me (to make it work with new versions of the toolchain, etc.). This runs, but it's in serious need of cleaning and/or a fair bit of reworking. See the README file for more information, and a list of things to do.