Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Dec 2020 01:44:17 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r368427 - in stable/12: libexec/rtld-elf sys/sys
Message-ID:  <202012080144.0B81iHkS053900@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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
 {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202012080144.0B81iHkS053900>