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;