summaryrefslogtreecommitdiffstats
path: root/libexec/rtld-elf/rtld.c
diff options
context:
space:
mode:
authorkan <kan@FreeBSD.org>2002-10-23 01:43:29 +0000
committerkan <kan@FreeBSD.org>2002-10-23 01:43:29 +0000
commitdca183b31a86b1189d63c928174722fb36a088d1 (patch)
treef9a914158c54dcaf6f344029ec4cc435e2987e69 /libexec/rtld-elf/rtld.c
parentfb5b663eb4fa21c9f52b8ebd224142e66ec90bf3 (diff)
downloadFreeBSD-src-dca183b31a86b1189d63c928174722fb36a088d1.zip
FreeBSD-src-dca183b31a86b1189d63c928174722fb36a088d1.tar.gz
Add support for binaries with arbitrary number of PT_LOAD sections.
Reviewed by: peter
Diffstat (limited to 'libexec/rtld-elf/rtld.c')
-rw-r--r--libexec/rtld-elf/rtld.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c
index 8375a4c..04ce9c4 100644
--- a/libexec/rtld-elf/rtld.c
+++ b/libexec/rtld-elf/rtld.c
@@ -694,10 +694,6 @@ digest_phdr(const Elf_Phdr *phdr, int phnum, caddr_t entry, const char *path)
break;
case PT_LOAD:
- if (nsegs >= 2) {
- _rtld_error("%s: too many PT_LOAD segments", path);
- return NULL;
- }
if (nsegs == 0) { /* First load segment */
obj->vaddrbase = trunc_page(ph->p_vaddr);
obj->mapbase = (caddr_t) obj->vaddrbase;
@@ -716,10 +712,6 @@ digest_phdr(const Elf_Phdr *phdr, int phnum, caddr_t entry, const char *path)
break;
}
}
- if (nsegs < 2) {
- _rtld_error("%s: too few PT_LOAD segments", path);
- return NULL;
- }
obj->entry = entry;
return obj;
OpenPOWER on IntegriCloud