Page MenuHomeFreeBSD

D32950.diff
No OneTemporary

D32950.diff

diff --git a/lib/librtld_db/rtld_db.c b/lib/librtld_db/rtld_db.c
--- a/lib/librtld_db/rtld_db.c
+++ b/lib/librtld_db/rtld_db.c
@@ -165,6 +165,7 @@
rd_loadobj_t rdl;
rd_err_e ret;
uintptr_t base;
+ uint32_t offset;
int cnt, i;
DPRINTF("%s\n", __func__);
@@ -190,11 +191,12 @@
if (kve->kve_vn_fileid != fileid) {
base = kve->kve_start;
fileid = kve->kve_vn_fileid;
- path = kve->kve_path;
}
+ path = kve->kve_path;
+ offset = kve->kve_start - base;
} else {
- base = 0;
path = NULL;
+ offset = 0;
}
memset(&rdl, 0, sizeof(rdl));
/*
@@ -202,7 +204,7 @@
*/
rdl.rdl_saddr = kve->kve_start;
rdl.rdl_eaddr = kve->kve_end;
- rdl.rdl_offset = kve->kve_start - base;
+ rdl.rdl_offset = offset;
if (kve->kve_protection & KVME_PROT_READ)
rdl.rdl_prot |= RD_RDL_R;
if (kve->kve_protection & KVME_PROT_WRITE)

File Metadata

Mime Type
text/plain
Expires
Mon, Nov 18, 6:24 PM (20 h, 53 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14702578
Default Alt Text
D32950.diff (875 B)

Event Timeline