aboutsummaryrefslogtreecommitdiff
path: root/libexec/rtld-elf
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2009-04-10 09:52:42 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2009-04-10 09:52:42 +0000
commit11e0093f28feefb0f060c480439de0ade62b5305 (patch)
tree135e347fe74b75d47229555e3b7fff39d8ecaac8 /libexec/rtld-elf
parentdeded9ccf42cb4076bb8ae00cbfc9d30d6601d78 (diff)
Notes
Diffstat (limited to 'libexec/rtld-elf')
-rw-r--r--libexec/rtld-elf/map_object.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/libexec/rtld-elf/map_object.c b/libexec/rtld-elf/map_object.c
index 2d06074db4b8..211c01c7ce8f 100644
--- a/libexec/rtld-elf/map_object.c
+++ b/libexec/rtld-elf/map_object.c
@@ -91,8 +91,7 @@ map_object(int fd, const char *path, const struct stat *sb)
/*
* Scan the program header entries, and save key information.
*
- * We rely on there being exactly two load segments, text and data,
- * in that order.
+ * We expect that the loadable segments are ordered by load address.
*/
phdr = (Elf_Phdr *) ((char *)hdr + hdr->e_phoff);
phsize = hdr->e_phnum * sizeof (phdr[0]);
@@ -167,7 +166,7 @@ map_object(int fd, const char *path, const struct stat *sb)
return NULL;
}
- for (i = 0; i <= nsegs; i++) {
+ for (i = 0; i <= nsegs; i++) {
/* Overlay the segment onto the proper region. */
data_offset = trunc_page(segs[i]->p_offset);
data_vaddr = trunc_page(segs[i]->p_vaddr);