diff options
author | kan <kan@FreeBSD.org> | 2002-10-23 01:43:29 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2002-10-23 01:43:29 +0000 |
commit | dca183b31a86b1189d63c928174722fb36a088d1 (patch) | |
tree | f9a914158c54dcaf6f344029ec4cc435e2987e69 /libexec/rtld-elf/rtld.c | |
parent | fb5b663eb4fa21c9f52b8ebd224142e66ec90bf3 (diff) | |
download | FreeBSD-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.c | 8 |
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; |