svn commit: r368427 - in stable/12: libexec/rtld-elf sys/sys
Konstantin Belousov
kib at FreeBSD.org
Tue Dec 8 01:44:17 UTC 2020
Author: kib
Date: Tue Dec 8 01:44:16 2020
New Revision: 368427
URL: https://svnweb.freebsd.org/changeset/base/368427
Log:
MFC r368260:
rtld: bump r_debug.r_version to 1 from current 0.
Add r_ldbase.
Modified:
stable/12/libexec/rtld-elf/rtld.c
stable/12/sys/sys/link_elf.h
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/libexec/rtld-elf/rtld.c
==============================================================================
--- stable/12/libexec/rtld-elf/rtld.c Tue Dec 8 00:58:02 2020 (r368426)
+++ stable/12/libexec/rtld-elf/rtld.c Tue Dec 8 01:44:16 2020 (r368427)
@@ -2238,8 +2238,10 @@ init_rtld(caddr_t mapbase, Elf_Auxinfo **aux_info)
parse_rtld_phdr(&obj_rtld);
obj_enforce_relro(&obj_rtld);
+ r_debug.r_version = R_DEBUG_VERSION;
r_debug.r_brk = r_debug_state;
r_debug.r_state = RT_CONSISTENT;
+ r_debug.r_ldbase = obj_rtld.relocbase;
}
/*
Modified: stable/12/sys/sys/link_elf.h
==============================================================================
--- stable/12/sys/sys/link_elf.h Tue Dec 8 00:58:02 2020 (r368426)
+++ stable/12/sys/sys/link_elf.h Tue Dec 8 01:44:16 2020 (r368427)
@@ -69,7 +69,7 @@ typedef struct link_map {
} 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,7 +78,10 @@ struct r_debug {
RT_ADD, /* adding a shared library */
RT_DELETE /* removing a shared library */
} r_state;
+ void *r_ldbase; /* Base address of rtld */
};
+
+#define R_DEBUG_VERSION 1
struct dl_phdr_info
{
More information about the svn-src-all
mailing list