Author: emaste
Date: Thu Mar 28 02:12:32 2019
New Revision: 345625
URL: https://svnweb.freebsd.org/changeset/base/345625

Log:
  revert r341429 "disable BIND_NOW in libc, libthr, and rtld"
  
  r345620 by kib@ fixed the rtld issue that caused a crash at startup
  during resolution of libc's ifuncs with BIND_NOW.
  
  PR:           233333
  Sponsored by: The FreeBSD Foundation

Modified:
  head/contrib/elftoolchain/readelf/readelf.c
  head/lib/libc/Makefile
  head/lib/libthr/Makefile
  head/libexec/rtld-elf/Makefile
  head/sys/sys/elf_common.h

Modified: head/contrib/elftoolchain/readelf/readelf.c
==============================================================================
--- head/contrib/elftoolchain/readelf/readelf.c Thu Mar 28 01:12:44 2019        
(r345624)
+++ head/contrib/elftoolchain/readelf/readelf.c Thu Mar 28 02:12:32 2019        
(r345625)
@@ -3490,6 +3490,7 @@ dump_notes(struct readelf *re)
 
 static struct flag_desc note_feature_ctl_flags[] = {
        { NT_FREEBSD_FCTL_ASLR_DISABLE,         "ASLR_DISABLE" },
+       { NT_FREEBSD_FCTL_IMPLIED_MAX_PROT,     "IMPLIED_MAX_PROT" },
        { 0, NULL }
 };
 

Modified: head/lib/libc/Makefile
==============================================================================
--- head/lib/libc/Makefile      Thu Mar 28 01:12:44 2019        (r345624)
+++ head/lib/libc/Makefile      Thu Mar 28 02:12:32 2019        (r345625)
@@ -6,8 +6,6 @@ SHLIBDIR?= /lib
 
 .include <src.opts.mk>
 
-# BIND_NOW in libc results in segfault at startup (PR 233333)
-MK_BIND_NOW=   no
 # Force building of libc_pic.a
 MK_TOOLCHAIN=  yes
 

Modified: head/lib/libthr/Makefile
==============================================================================
--- head/lib/libthr/Makefile    Thu Mar 28 01:12:44 2019        (r345624)
+++ head/lib/libthr/Makefile    Thu Mar 28 02:12:32 2019        (r345625)
@@ -9,7 +9,6 @@ PACKAGE=        clibs
 SHLIBDIR?= /lib
 
 .include <src.opts.mk>
-MK_BIND_NOW= no
 MK_SSP=        no
 
 LIB=thr

Modified: head/libexec/rtld-elf/Makefile
==============================================================================
--- head/libexec/rtld-elf/Makefile      Thu Mar 28 01:12:44 2019        
(r345624)
+++ head/libexec/rtld-elf/Makefile      Thu Mar 28 02:12:32 2019        
(r345625)
@@ -6,7 +6,6 @@
 
 .include <src.opts.mk>
 PACKAGE=       clibs
-MK_BIND_NOW=   no
 MK_PIE=                no # Always position independent using local rules
 MK_SSP=                no
 

Modified: head/sys/sys/elf_common.h
==============================================================================
--- head/sys/sys/elf_common.h   Thu Mar 28 01:12:44 2019        (r345624)
+++ head/sys/sys/elf_common.h   Thu Mar 28 02:12:32 2019        (r345625)
@@ -763,7 +763,8 @@ typedef struct {
 #define        NT_FREEBSD_FEATURE_CTL  4
 
 /* NT_FREEBSD_FEATURE_CTL desc[0] bits */
-#define        NT_FREEBSD_FCTL_ASLR_DISABLE    0x00000001
+#define        NT_FREEBSD_FCTL_ASLR_DISABLE            0x00000001
+#define        NT_FREEBSD_FCTL_IMPLIED_MAX_PROT        0x00000002
 
 /* Values for n_type.  Used in core files. */
 #define        NT_PRSTATUS     1       /* Process status. */
_______________________________________________
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