svn commit: r363264 - head/libexec/rtld-elf

John Baldwin jhb at FreeBSD.org
Thu Jul 16 22:01:02 UTC 2020


Author: jhb
Date: Thu Jul 16 22:01:01 2020
New Revision: 363264
URL: https://svnweb.freebsd.org/changeset/base/363264

Log:
  Include FreeBSD ABI tag note in the ELF runtime loader.
  
  Reviewed by:	kib
  Sponsored by:	DARPA
  Differential Revision:	https://reviews.freebsd.org/D25306

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

Modified: head/libexec/rtld-elf/Makefile
==============================================================================
--- head/libexec/rtld-elf/Makefile	Thu Jul 16 21:58:43 2020	(r363263)
+++ head/libexec/rtld-elf/Makefile	Thu Jul 16 22:01:01 2020	(r363264)
@@ -17,6 +17,7 @@ PROG?=		ld-elf.so.1
 TAGS+=		lib32
 .endif
 SRCS= \
+	crtbrand.S \
 	rtld_start.S \
 	reloc.c \
 	rtld.c \
@@ -29,6 +30,7 @@ SRCS= \
 	libmap.c
 MAN?=		rtld.1
 CSTD?=		gnu99
+ACFLAGS+=	-DLOCORE
 CFLAGS+=	-Wall -DFREEBSD_ELF -DIN_RTLD -ffreestanding
 CFLAGS+=	-I${SRCTOP}/lib/csu/common
 .if exists(${RTLD_ELF_DIR}/${MACHINE_ARCH})
@@ -75,7 +77,7 @@ beforeinstall:
 	-chflags -h noschg ${DESTDIR}/usr/libexec/${PROG}
 .endif
 
-.PATH: ${RTLD_ELF_DIR}/${RTLD_ARCH}
+.PATH: ${RTLD_ELF_DIR}/${RTLD_ARCH} ${SRCTOP}/lib/csu/common
 
 .if ${.CURDIR} == ${RTLD_ELF_DIR}
 HAS_TESTS=

Modified: head/libexec/rtld-elf/rtld.c
==============================================================================
--- head/libexec/rtld-elf/rtld.c	Thu Jul 16 21:58:43 2020	(r363263)
+++ head/libexec/rtld-elf/rtld.c	Thu Jul 16 22:01:01 2020	(r363264)
@@ -470,19 +470,6 @@ _rtld(Elf_Addr *sp, func_ptr_type *exit_proc, Obj_Entr
 	    }
 	    direct_exec = true;
 
-	    /*
-	     * Set osrel for us, it is later reset to the binary'
-	     * value before first instruction of code from the binary
-	     * is executed.
-	     */
-	    mib[0] = CTL_KERN;
-	    mib[1] = KERN_PROC;
-	    mib[2] = KERN_PROC_OSREL;
-	    mib[3] = getpid();
-	    osrel = __FreeBSD_version;
-	    sz = sizeof(old_osrel);
-	    (void)sysctl(mib, 4, &old_osrel, &sz, &osrel, sizeof(osrel));
-
 	    dbg("opening main program in direct exec mode");
 	    if (argc >= 2) {
 		rtld_argc = parse_args(argv, argc, &search_in_path, &fd, &argv0);


More information about the svn-src-head mailing list