Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 2 Oct 2013 02:32:59 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r255983 - head/libexec/rtld-elf
Message-ID:  <201310020232.r922WxgJ051573@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: emaste
Date: Wed Oct  2 02:32:58 2013
New Revision: 255983
URL: http://svnweb.freebsd.org/changeset/base/255983

Log:
  Populate .rld_map on MIPS for debuggers
  
  On MIPS the .dynamic section is read-only, so the pointer to rtld
  information for debuggers cannot be stored there (in DT_DEBUG).
  Instead, a special section .rld_map is used.
  
  Sponsored by:	DARPA, AFRL
  Approved by:	re (delphij)

Modified:
  head/libexec/rtld-elf/rtld.c

Modified: head/libexec/rtld-elf/rtld.c
==============================================================================
--- head/libexec/rtld-elf/rtld.c	Wed Oct  2 00:50:27 2013	(r255982)
+++ head/libexec/rtld-elf/rtld.c	Wed Oct  2 02:32:58 2013	(r255983)
@@ -1111,11 +1111,7 @@ digest_dynamic1(Obj_Entry *obj, int earl
 		break;
 
 	case DT_MIPS_RLD_MAP:
-#ifdef notyet
-		if (!early)
-			dbg("Filling in DT_DEBUG entry");
-		((Elf_Dyn*)dynp)->d_un.d_ptr = (Elf_Addr) &r_debug;
-#endif
+		*((Elf_Addr *)(dynp->d_un.d_ptr)) = (Elf_Addr) &r_debug;
 		break;
 #endif
 



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