18744156 /usr/gnu/bin/chroot is killed when executed with an invalid command argument
authorRich Burridge <rich.burridge@oracle.com>
Thu, 15 May 2014 16:58:20 -0700
changeset 1898 5c902a3c6e7e
parent 1897 9c849cc3d7d5
child 1899 a814d85099bf
18744156 /usr/gnu/bin/chroot is killed when executed with an invalid command argument
components/coreutils/Makefile
components/coreutils/patches/chroot-libthread.patch
--- a/components/coreutils/Makefile	Thu May 15 10:33:07 2014 -0700
+++ b/components/coreutils/Makefile	Thu May 15 16:58:20 2014 -0700
@@ -46,6 +46,9 @@
 # Recreate configure and src/Makefile to pick up stat birthtime changes.
 COMPONENT_PREP_ACTION = (cd $(@D) ; autoreconf -f && automake)
 
+# Always show the build and link lines for easier debugging.
+GMAKE =                /usr/gnu/bin/make V=1
+
 # Enable ASLR for this component
 ASLR_MODE = $(ASLR_ENABLE)
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/coreutils/patches/chroot-libthread.patch	Thu May 15 16:58:20 2014 -0700
@@ -0,0 +1,15 @@
+These changes have not been passed upstream. It's really a Studio compiler
+bug CR #18752073.
+
+--- coreutils-8.16/src/Makefile.am.orig	2014-05-15 10:13:19.739717905 -0700
++++ coreutils-8.16/src/Makefile.am	2014-05-15 10:13:51.751658970 -0700
[email protected]@ -178,6 +178,9 @@
+ # Tell the linker to omit references to unused shared libraries.
+ AM_LDFLAGS = $(IGNORE_UNUSED_LIBRARIES_CFLAGS)
+ 
++# for chroot to work correctly for root (CR #18744156)
++chroot_LDFLAGS =  -mt=no -D_REENTRANT -z now
++
+ # Sometimes, the expansion of $(LIBINTL) includes -lc which may
+ # include modules defining variables like 'optind', so libcoreutils.a
+ # must precede $(LIBINTL) in order to ensure we use GNU getopt.