Module Name: src
Committed By: nonaka
Date: Thu Feb 23 12:13:59 UTC 2017
Modified Files:
src/sys/lib/libsa: loadfile_elf32.c
Log Message:
update marks[MARK_DATA] with COUNT_DATA.
To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 src/sys/lib/libsa/loadfile_elf32.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/lib/libsa/loadfile_elf32.c
diff -u src/sys/lib/libsa/loadfile_elf32.c:1.35 src/sys/lib/libsa/loadfile_elf32.c:1.36
--- src/sys/lib/libsa/loadfile_elf32.c:1.35 Thu Feb 23 12:13:05 2017
+++ src/sys/lib/libsa/loadfile_elf32.c Thu Feb 23 12:13:59 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: loadfile_elf32.c,v 1.35 2017/02/23 12:13:05 nonaka Exp $ */
+/* $NetBSD: loadfile_elf32.c,v 1.36 2017/02/23 12:13:59 nonaka Exp $ */
/*
* Copyright (c) 1997, 2008 The NetBSD Foundation, Inc.
@@ -363,6 +363,10 @@ ELFNAMEEND(loadfile)(int fd, Elf_Ehdr *e
}
if ((IS_TEXT(phdr[i]) && (flags & (LOAD_TEXT|COUNT_TEXT))) ||
(IS_DATA(phdr[i]) && (flags & (LOAD_DATA|COUNT_DATA)))) {
+ /* XXX: Assume first address is lowest */
+ if (marks[MARK_DATA] == 0 && IS_DATA(phdr[i]))
+ marks[MARK_DATA] = LOADADDR(phdr[i].p_vaddr);
+
pos = phdr[i].p_vaddr;
if (minp > pos)
minp = pos;