Page MenuHomeFreeBSD

D27429.id80169.diff
No OneTemporary

D27429.id80169.diff

Index: libexec/rtld-elf/rtld.c
===================================================================
--- libexec/rtld-elf/rtld.c
+++ libexec/rtld-elf/rtld.c
@@ -2272,8 +2272,10 @@
parse_rtld_phdr(&obj_rtld);
obj_enforce_relro(&obj_rtld);
+ r_debug.r_version = 1;
r_debug.r_brk = r_debug_state;
r_debug.r_state = RT_CONSISTENT;
+ r_debug.r_ldbase = obj_rtld.mapbase;
}
/*
Index: sys/sys/link_elf.h
===================================================================
--- sys/sys/link_elf.h
+++ sys/sys/link_elf.h
@@ -69,7 +69,7 @@
} Link_map;
struct r_debug {
- int r_version; /* not used */
+ int r_version; /* Currently '1' */
struct link_map *r_map; /* list of loaded images */
void (*r_brk)(struct r_debug *, struct link_map *);
/* pointer to break point */
@@ -78,6 +78,7 @@
RT_ADD, /* adding a shared library */
RT_DELETE /* removing a shared library */
} r_state;
+ void *r_ldbase; /* Base address of rtld */
};
struct dl_phdr_info

File Metadata

Mime Type
text/plain
Expires
Sat, May 23, 12:56 AM (21 h, 2 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33436890
Default Alt Text
D27429.id80169.diff (1009 B)

Event Timeline