15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR s11-update
authorApril Chin <april.chin@oracle.com>
Wed, 22 Jan 2014 09:31:02 -0800
branchs11-update
changeset 2910 f8b8cbc43356
parent 2905 8c0fb29f2a1e
child 2913 34273351da77
15801420 SUNBT7180909 tag the Userland consolidation binaries for ASLR 18071044 fix ASLR settings in component Makefiles in 11.2
components/antlr/Makefile
components/berkeleydb/Makefile
components/findutils/Makefile
components/jsl/Makefile
components/mc/Makefile
components/mlocate/Makefile
components/ncurses/Makefile
components/perl_modules/authen-pam/Makefile
components/perl_modules/xml-libxml/Makefile
components/perl_modules/xml-namespacesupport/Makefile
components/perl_modules/xml-parser/Makefile
components/perl_modules/xml-sax-base/Makefile
components/perl_modules/xml-sax/Makefile
components/pixz/Makefile
components/pkg-config/Makefile
components/procmail/Makefile
components/python/imaging/Makefile
components/python/simplejson/Makefile
components/python/twisted/Makefile
components/stunnel/Makefile
components/tcl/expect/Makefile
components/tmux/Makefile
components/wireshark/Makefile
make-rules/ips.mk
make-rules/shared-macros.mk
tools/python/pkglint/userland.py
--- a/components/antlr/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/antlr/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -62,7 +62,7 @@
 
 COMPONENT_TEST_TARGETS = test
 
-ASLR_MODE = $(ASLR_ENABLE)
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 # common targets
 build:          $(BUILD_32)
--- a/components/berkeleydb/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/berkeleydb/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -93,9 +93,6 @@
 
 COMPONENT_TEST_TARGETS = test
 
-# Enable ASLR for this component
-ASLR_MODE = $(ASLR_ENABLE)
-
 $(BUILD_DIR)/%/.tested: configure_test= --enable-test
 
 # Do not apply the standard licence transforms for this component.
--- a/components/findutils/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/findutils/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -47,8 +47,6 @@
 # field is incorrect on ZFS file systems.
 CONFIGURE_OPTIONS +=	--disable-leaf-optimisation
 
-ASLR_MODE = $(ASLR_ENABLE)
-
 # common targets
 build:          $(BUILD_64)
 
--- a/components/jsl/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/jsl/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../make-rules/shared-macros.mk
 
@@ -52,9 +52,6 @@
 COMPONENT_INSTALL_ARGS += INSTALL="$(INSTALL)"
 COMPONENT_INSTALL_ARGS += MKDIR="$(MKDIR)"
 
-# Enable ASLR for this component
-ASLR_MODE = $(ASLR_ENABLE)
-
 build:		$(BUILD_64)
 
 install:	$(INSTALL_64)
--- a/components/mc/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/mc/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -50,9 +50,6 @@
 CONFIGURE_OPTIONS += "mc_cv_nroff_tascii="
 CONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)"
 
-# Enable Address Space Layout Randomization
-ASLR_MODE = $(ASLR_ENABLE)
-
 # common targets
 build:		$(BUILD_64)
 
--- a/components/mlocate/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/mlocate/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -49,9 +49,6 @@
     @$(MKDIR) -p $(PROTO_DIR)/etc/; \
     $(CP) files/updatedb.conf $(PROTO_DIR)/etc/ 
 
-# Enable aslr for this component
-ASLR_MODE = $(ASLR_ENABLE)
-
 # common targets
 build:		$(BUILD_64) 
 
--- a/components/ncurses/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/ncurses/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -66,8 +66,6 @@
 	$(CP) /usr/share/lib/terminfo/s/sun-color \
 	$(PROTO_DIR)$(GNULIB)/terminfo/s/
 
-ASLR_MODE = $(ASLR_ENABLE)
-
 # common targets
 build:          $(BUILD_32_and_64)
 
--- a/components/perl_modules/authen-pam/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/perl_modules/authen-pam/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -41,8 +41,7 @@
 include $(WS_TOP)/make-rules/ips.mk
 include $(WS_TOP)/make-rules/makemaker.mk
 
-# Enable ASLR for this component
-ASLR_MODE = $(ASLR_ENABLE)
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 # man pages go in the common area
 COMPONENT_INSTALL_ENV += INSTALLVENDORMAN3DIR=$(USRSHAREMAN3DIR)
--- a/components/perl_modules/xml-libxml/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/perl_modules/xml-libxml/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -41,8 +41,7 @@
 include $(WS_TOP)/make-rules/ips.mk
 include $(WS_TOP)/make-rules/makemaker.mk
 
-# Enable ASLR for this component
-ASLR_MODE = $(ASLR_ENABLE)
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 # man pages go in the common area
 COMPONENT_INSTALL_ENV += INSTALLVENDORMAN3DIR=$(USRSHAREMAN3DIR)
--- a/components/perl_modules/xml-namespacesupport/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/perl_modules/xml-namespacesupport/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -41,8 +41,7 @@
 include $(WS_TOP)/make-rules/ips.mk
 include $(WS_TOP)/make-rules/makemaker.mk
 
-# Enable ASLR for this component
-ASLR_MODE = $(ASLR_ENABLE)
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 # man pages go in the common area
 COMPONENT_INSTALL_ENV += INSTALLVENDORMAN3DIR=$(USRSHAREMAN3DIR)
--- a/components/perl_modules/xml-parser/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/perl_modules/xml-parser/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../../make-rules/shared-macros.mk
 
@@ -39,8 +39,7 @@
 include $(WS_TOP)/make-rules/ips.mk
 include $(WS_TOP)/make-rules/makemaker.mk
 
-# Enable ASLR for this component
-ASLR_MODE = $(ASLR_ENABLE)
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 # man pages go in the common area
 COMPONENT_INSTALL_ENV += INSTALLVENDORMAN3DIR=$(USRSHAREMAN3DIR)
--- a/components/perl_modules/xml-sax-base/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/perl_modules/xml-sax-base/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -42,8 +42,7 @@
 include $(WS_TOP)/make-rules/ips.mk
 include $(WS_TOP)/make-rules/makemaker.mk
 
-# Enable ASLR for this component
-ASLR_MODE = $(ASLR_ENABLE)
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 # man pages go in the common area
 COMPONENT_INSTALL_ENV += INSTALLVENDORMAN3DIR=$(USRSHAREMAN3DIR)
--- a/components/perl_modules/xml-sax/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/perl_modules/xml-sax/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -41,8 +41,7 @@
 include $(WS_TOP)/make-rules/ips.mk
 include $(WS_TOP)/make-rules/makemaker.mk
 
-# Enable ASLR for this component
-ASLR_MODE = $(ASLR_ENABLE)
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 # man pages go in the common area
 COMPONENT_INSTALL_ENV += INSTALLVENDORMAN3DIR=$(USRSHAREMAN3DIR)
--- a/components/pixz/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/pixz/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../make-rules/shared-macros.mk
 
@@ -51,8 +51,6 @@
 COMPONENT_BUILD_ARGS += CFLAGS="$(CFLAGS)"
 COMPONENT_BUILD_ARGS += LDFLAGS="$(CC_BITS)"
 
-ASLR_MODE = $(ASLR_ENABLE)
-
 # common targets
 build:		$(BUILD_64)
 
--- a/components/pkg-config/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/pkg-config/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -44,7 +44,6 @@
 
 CONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)" 
 COMPONENT_TEST_ENV += PATH=/usr/gnu/bin:/usr/bin
-ASLR_MODE = $(ASLR_ENABLE)
 
 # common targets
 build:		$(BUILD_64)
--- a/components/procmail/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/procmail/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -48,8 +48,6 @@
 
 PKG_PROTO_DIRS +=	$(COMPONENT_DIR)/files
 
-ASLR_MODE = $(ASLR_ENABLE)
-
 # common targets
 build:          $(BUILD_64)
 
--- a/components/python/imaging/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/python/imaging/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -46,7 +46,7 @@
 COMPONENT_TEST_ARGS= ./selftest.py
 COMPONENT_TEST_ENV= PYTHONPATH=$(TEST_PYTHONPATH.$(BITS))
 
-ASLR_MODE = $(ASLR_ENABLE)
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 # common targets
 build:          $(BUILD_32_and_64)
--- a/components/python/simplejson/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/python/simplejson/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -42,7 +42,7 @@
 COMPONENT_TEST_DIR= $(COMPONENT_SRC) 
 COMPONENT_TEST_ARGS= ./setup.py test
 
-ASLR_MODE = $(ASLR_ENABLE)
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 # common targets
 build:          $(BUILD_32_and_64)
--- a/components/python/twisted/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/python/twisted/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -43,7 +43,7 @@
 COMPONENT_TEST_CMD= $(@D)/scripts-2.6/trial twisted
 COMPONENT_TEST_ARGS=""
 
-ASLR_MODE = $(ASLR_ENABLE)
+ASLR_MODE = $(ASLR_NOT_APPLICABLE)
 
 # common targets
 build:          $(BUILD_32_and_64)
--- a/components/stunnel/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/stunnel/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -66,8 +66,6 @@
 
 PKG_PROTO_DIRS +=	$(COMPONENT_DIR)/files
 
-ASLR_MODE = $(ASLR_ENABLE)
-
 # common targets
 build:          $(BUILD_32_and_64)
 
--- a/components/tcl/expect/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/tcl/expect/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../../make-rules/shared-macros.mk
@@ -46,8 +46,7 @@
 COMPONENT_PRE_CONFIGURE_ACTION = \
 	($(CLONEY) $(SOURCE_DIR) $(@D))
 
-COMPONENT_PRE_BUILD_ACTION = \
-	(cd $(@D); $(GMAKE) all ${SCRIPTS};)
+COMPONENT_BUILD_TARGETS = all ${SCRIPTS}
 
 CONFIGURE_OPTIONS 	+= CFLAGS="$(CFLAGS)"
 CONFIGURE_OPTIONS 	+= --enable-shared
--- a/components/tmux/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/tmux/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 include ../../make-rules/shared-macros.mk
@@ -49,9 +49,6 @@
         mkdir -p $(MANDIR_PREFORMATED) ; \
         $(MV) tmux.1.mod $(MANDIR_PREFORMATED)/tmux.1
 
-# Enable ASLR for this component
-ASLR_MODE = $(ASLR_ENABLE)
-
 # common targets
 build:		$(BUILD_64)
 
--- a/components/wireshark/Makefile	Fri Jan 17 12:16:54 2014 -0800
+++ b/components/wireshark/Makefile	Wed Jan 22 09:31:02 2014 -0800
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 include ../../make-rules/shared-macros.mk
 
@@ -36,9 +36,6 @@
 include ../../make-rules/configure.mk
 include ../../make-rules/ips.mk
 
-# Enable ASLR for this component
-ASLR_MODE = $(ASLR_ENABLE)
-
 PATCH_LEVEL=0
 
 CONFIGURE_OPTIONS +=	--bindir=/usr/sbin
--- a/make-rules/ips.mk	Fri Jan 17 12:16:54 2014 -0800
+++ b/make-rules/ips.mk	Wed Jan 22 09:31:02 2014 -0800
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 #
@@ -288,6 +288,14 @@
 			-f $(WS_TOOLS)/pkglintrc $(RESOLVED)
 	$(TOUCH) $@
 
+lintme: FRC
+	@echo "VALIDATING MANIFEST CONTENT: $(RESOLVED)"
+	$(ENV) PYTHONPATH=$(WS_TOOLS)/python PROTO_PATH="$(PKG_PROTO_DIRS)"\
+		$(PKGLINT) $(CANONICAL_REPO:%=-c $(WS_LINT_CACHE)) \
+			-f $(WS_TOOLS)/pkglintrc $(RESOLVED)
+
+FRC:
+
 
 # published
 PKGSEND_PUBLISH_OPTIONS = -s $(PKG_REPO) publish --fmri-in-manifest
--- a/make-rules/shared-macros.mk	Fri Jan 17 12:16:54 2014 -0800
+++ b/make-rules/shared-macros.mk	Wed Jan 22 09:31:02 2014 -0800
@@ -18,7 +18,7 @@
 #
 # CDDL HEADER END
 #
-# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 PATH=/usr/bin:/usr/gnu/bin
@@ -653,6 +653,17 @@
 # use direct binding
 LD_B_DIRECT =		-Bdirect
 
+# use generic macro names for enabling/disabling ASLR
+ASLR_ENABLE = 		-z aslr=enable
+ASLR_DISABLE = 		-z aslr=disable
+ASLR_NOT_APPLICABLE = 	-z aslr=disable
+ASLR_MODE = 		$(ASLR_DISABLE)
+
+# by default, turn off Address Space Layout Randomization for ELF executables;
+# to explicitly enable ASLR, set ASLR_MODE = $(ASLR_ENABLE)
+# in that component's Makefile
+LD_Z_ASLR =		$(ASLR_MODE)
+
 #
 # More Solaris linker flags that we want to be sure that everyone gets.  This
 # is automatically added to the calling environment during the 'build' and
@@ -686,12 +697,17 @@
 		$(LD_MAP_PAGEALIGN) $(LD_B_DIRECT) $(LD_Z_IGNORE) \
 		$(LD_Z_STRIP_CLASS)
 
+# only used on executables
+LD_EXEC_OPTIONS = $(LD_Z_ASLR)
+
 # Environment variables and arguments passed into the build and install
 # environment(s).  These are the initial settings.
 COMPONENT_BUILD_ENV= \
-    LD_OPTIONS="$(LD_OPTIONS)"
+    LD_OPTIONS="$(LD_OPTIONS)" \
+    LD_EXEC_OPTIONS="$(LD_EXEC_OPTIONS)"
 COMPONENT_INSTALL_ENV= \
-    LD_OPTIONS="$(LD_OPTIONS)"
+    LD_OPTIONS="$(LD_OPTIONS)" \
+    LD_EXEC_OPTIONS="$(LD_EXEC_OPTIONS)"
 
 # Add any bit-specific settings
 COMPONENT_BUILD_ENV += $(COMPONENT_BUILD_ENV.$(BITS))
--- a/tools/python/pkglint/userland.py	Fri Jan 17 12:16:54 2014 -0800
+++ b/tools/python/pkglint/userland.py	Wed Jan 22 09:31:02 2014 -0800
@@ -21,7 +21,7 @@
 #
 
 #
-# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 # Some userland consolidation specific lint checks
@@ -31,6 +31,7 @@
 import pkg.elf as elf
 import re
 import os.path
+import subprocess
 
 class UserlandActionChecker(base.ActionChecker):
         """An opensolaris.org-specific class to check actions."""
@@ -220,6 +221,39 @@
 
 		return result
 
+	def __elf_aslr_check(self, path, engine):
+		result = None
+
+		ei = elf.get_info(path)
+		type = ei.get("type");
+		if type != "exe":
+			return result
+
+		# get the ASLR tag string for this binary
+		aslr_tag_process = subprocess.Popen(
+			"/usr/bin/elfedit -r -e 'dyn:sunw_aslr' "
+			+ path, shell=True,
+			stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+
+		# aslr_tag_string will get stdout; err will get stderr
+		aslr_tag_string, err = aslr_tag_process.communicate()
+
+		# No ASLR tag was found; everything must be tagged
+		if aslr_tag_process.returncode != 0:
+			engine.error(
+				_("'%s' is not tagged for aslr") % (path),
+				msgid="%s%s.5" % (self.name, "001"))
+			return result
+
+		# look for "ENABLE" anywhere in the string;
+		# warn about binaries which are not ASLR enabled
+		if re.search("ENABLE", aslr_tag_string) is not None:
+			return result
+		engine.warning(
+			_("'%s' does not have aslr enabled") % (path),
+			msgid="%s%s.6" % (self.name, "001"))
+		return result
+
 	def __elf_runpath_check(self, path, engine):
 		result = None
 		list = []
@@ -347,6 +381,7 @@
 				if result != None:
 					engine.error(result % path, 
 						msgid="%s%s.3" % (self.name, pkglint_id))
+				result = self.__elf_aslr_check(fullpath, engine)
 
 	file_action.pkglint_desc = _("Paths should exist in the proto area.")