Author: kib
Date: Tue Dec  1 22:28:01 2020
New Revision: 368260
URL: https://svnweb.freebsd.org/changeset/base/368260

Log:
  rtld: bump r_debug.r_version to 1 from current 0.
  
  Add r_ldbase.
  
  Requested and reviewed by:    emaste
  Sponsored by: The FreeBSD Foundation
  MFC after:    1 week
  Differential revision:        https://reviews.freebsd.org/D27429

Modified:
  head/libexec/rtld-elf/rtld.c
  head/sys/sys/link_elf.h

Modified: head/libexec/rtld-elf/rtld.c
==============================================================================
--- head/libexec/rtld-elf/rtld.c        Tue Dec  1 20:27:06 2020        
(r368259)
+++ head/libexec/rtld-elf/rtld.c        Tue Dec  1 22:28:01 2020        
(r368260)
@@ -2272,8 +2272,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: head/sys/sys/link_elf.h
==============================================================================
--- head/sys/sys/link_elf.h     Tue Dec  1 20:27:06 2020        (r368259)
+++ head/sys/sys/link_elf.h     Tue Dec  1 22:28:01 2020        (r368260)
@@ -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
 {
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to