changeset 2231:cb463b94b82d icedtea6-1.9-branchpoint

G244901: Skip test_gamma on hardened (PaX-enabled) kernels 2010-08-06 Andrew John Hughes <ahughes@redhat.com> Fix build on PAX-enabled kernels. https://bugs.gentoo.org/244901 * Makefile.am: (ICEDTEA_PATCHES): Add test_gamma patch if PAX is enabled. (ICEDTEA_ECJ_PATCHES): Add test_gamma patch if PAX not enabled (and thus not already patched). * NEWS: Mention new bug fix. * acinclude.m4: (IT_CHECK_FOR_PAX): Check for a PaX-enabled kernel. * configure.ac: Call above macro. * patches/ecj/icedtea-hotspot.patch: Remove test_gamma segment into separate patch. * patches/ecj/no-test_gamma.patch: test_gamma patch for non-PaX-enabled kernels (i.e. bootstrap build only). * patches/no-test_gamma.patch: test_gamma patch for PaX-enabled kernels.
author Andrew John Hughes <ahughes@redhat.com>
date Fri, 06 Aug 2010 11:52:12 +0100
parents ad637c9154cf
children da8128c0b021
files ChangeLog Makefile.am NEWS acinclude.m4 configure.ac patches/ecj/icedtea-hotspot.patch patches/ecj/no-test_gamma.patch patches/no-test_gamma.patch
diffstat 8 files changed, 137 insertions(+), 46 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Fri Aug 06 00:09:35 2010 +0100
+++ b/ChangeLog	Fri Aug 06 11:52:12 2010 +0100
@@ -1,3 +1,24 @@
+2010-08-06  Andrew John Hughes  <ahughes@redhat.com>
+
+	Fix build on PAX-enabled kernels.
+	https://bugs.gentoo.org/244901
+	* Makefile.am:
+	(ICEDTEA_PATCHES): Add test_gamma patch
+	if PAX is enabled.
+	(ICEDTEA_ECJ_PATCHES): Add test_gamma patch
+	if PAX not enabled (and thus not already patched).
+	* NEWS: Mention new bug fix.
+	* acinclude.m4:
+	(IT_CHECK_FOR_PAX): Check for a PaX-enabled kernel.
+	* configure.ac: Call above macro.
+	* patches/ecj/icedtea-hotspot.patch: Remove
+	test_gamma segment into separate patch.
+	* patches/ecj/no-test_gamma.patch: test_gamma
+	patch for non-PaX-enabled kernels (i.e. bootstrap
+	build only).
+	* patches/no-test_gamma.patch: test_gamma patch
+	for PaX-enabled kernels.
+
 2010-08-05  Andrew John Hughes  <ahughes@redhat.com>
 
 	* Makefile.am: Add new patch.
--- a/Makefile.am	Fri Aug 06 00:09:35 2010 +0100
+++ b/Makefile.am	Fri Aug 06 11:52:12 2010 +0100
@@ -344,6 +344,10 @@
 ICEDTEA_PATCHES += patches/icedtea-nss-not-enabled-config.patch
 endif
 
+if HAS_PAX
+ICEDTEA_PATCHES += patches/no-test_gamma.patch
+endif
+
 ICEDTEA_PATCHES += $(DISTRIBUTION_PATCHES)
 
 # Bootstrapping patches
@@ -356,16 +360,22 @@
 	patches/ecj/bootver.patch \
 	patches/ecj/getannotation-cast.patch \
 	patches/ecj/override.patch
+
 if DTDTYPE_QNAME
 ICEDTEA_ECJ_PATCHES += \
 	patches/ecj/icedtea-jaxws-getdtdtype.patch
 endif
+
 if ENABLE_XRENDER
 ICEDTEA_ECJ_PATCHES += \
 	patches/ecj/needs-6.patch \
 	patches/ecj/javah.patch
 endif
 
+if !HAS_PAX
+ICEDTEA_ECJ_PATCHES += patches/ecj/no-test_gamma.patch
+endif
+
 ICEDTEA_ECJ_PATCHES += $(DISTRIBUTION_ECJ_PATCHES)
 
 # OpenJDK build environment.
--- a/NEWS	Fri Aug 06 00:09:35 2010 +0100
+++ b/NEWS	Fri Aug 06 11:52:12 2010 +0100
@@ -705,6 +705,7 @@
   - Provide font configuration for RHEL 6.
   - G266295: Provide font configuration for Gentoo.
   - D560056: Avoid failure when net.ipv6.bindv6only is set to 1.
+  - G244901: Skip test_gamma on hardened (PaX-enabled) kernels
 * Zero/Shark
   - Update Shark for LLVM 2.8 API change r100304
   - Shark calling static jni methods jclass argument fix.
--- a/acinclude.m4	Fri Aug 06 00:09:35 2010 +0100
+++ b/acinclude.m4	Fri Aug 06 11:52:12 2010 +0100
@@ -1543,3 +1543,15 @@
 AC_SUBST(NSS_LIBDIR)
 AC_CONFIG_FILES([nss.cfg])
 ])
+
+AC_DEFUN_ONCE([IT_CHECK_FOR_PAX],[
+AC_CACHE_CHECK([if a PaX-enabled kernel is running], it_cv_pax, [
+if grep '^PaX:' /proc/self/status >&AS_MESSAGE_LOG_FD 2>&1; then
+  it_cv_pax=yes;
+else
+  it_cv_pax=no;
+fi
+])
+AM_CONDITIONAL([HAS_PAX], test x"${it_cv_pax}" = "xyes")
+AC_PROVIDE([$0])dnl
+])
--- a/configure.ac	Fri Aug 06 00:09:35 2010 +0100
+++ b/configure.ac	Fri Aug 06 11:52:12 2010 +0100
@@ -52,6 +52,7 @@
 IT_CHECK_NUMBER_OF_PARALLEL_JOBS
 IT_CP_SUPPORTS_REFLINK
 IT_CAN_HARDLINK_TO_SOURCE_TREE
+IT_CHECK_FOR_PAX
 
 AC_MSG_CHECKING([for an Ant home directory])
 AC_ARG_WITH([ant-home],
--- a/patches/ecj/icedtea-hotspot.patch	Fri Aug 06 00:09:35 2010 +0100
+++ b/patches/ecj/icedtea-hotspot.patch	Fri Aug 06 11:52:12 2010 +0100
@@ -1,49 +1,3 @@
-diff -Nru openjdk-ecj.orig/hotspot/make/linux/Makefile openjdk-ecj/hotspot/make/linux/Makefile
---- openjdk-ecj.orig/hotspot/make/linux/Makefile	2010-03-29 21:34:14.000000000 +0100
-+++ openjdk-ecj/hotspot/make/linux/Makefile	2010-03-29 21:40:39.000000000 +0100
-@@ -287,42 +287,36 @@
- 
- $(TARGETS_C2):  $(SUBDIRS_C2)
- 	cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS)
--	cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && ./test_gamma
- ifdef INSTALL
- 	cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) install
- endif
- 
- $(TARGETS_TIERED):  $(SUBDIRS_TIERED)
- 	cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS)
--	cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && ./test_gamma
- ifdef INSTALL
- 	cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) install
- endif
- 
- $(TARGETS_C1):  $(SUBDIRS_C1)
- 	cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS)
--	cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && ./test_gamma
- ifdef INSTALL
- 	cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS) install
- endif
- 
- $(TARGETS_CORE):  $(SUBDIRS_CORE)
- 	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS)
--	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && ./test_gamma
- ifdef INSTALL
- 	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) install
- endif
- 
- $(TARGETS_ZERO):  $(SUBDIRS_ZERO)
- 	cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS)
--	cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && ./test_gamma
- ifdef INSTALL
- 	cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS) install
- endif
- 
- $(TARGETS_SHARK):  $(SUBDIRS_SHARK)
- 	cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS)
--	cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && ./test_gamma
- ifdef INSTALL
- 	cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install
- endif
 diff -Nru openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make openjdk-ecj/hotspot/make/linux/makefiles/sa.make
 --- openjdk-ecj.orig/hotspot/make/linux/makefiles/sa.make	2010-03-29 21:34:15.000000000 +0100
 +++ openjdk-ecj/hotspot/make/linux/makefiles/sa.make	2010-03-29 21:41:28.000000000 +0100
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/ecj/no-test_gamma.patch	Fri Aug 06 11:52:12 2010 +0100
@@ -0,0 +1,46 @@
+diff -Nru openjdk-ecj.orig/hotspot/make/linux/Makefile openjdk-ecj/hotspot/make/linux/Makefile
+--- openjdk-ecj.orig/hotspot/make/linux/Makefile	2010-03-29 21:34:14.000000000 +0100
++++ openjdk-ecj/hotspot/make/linux/Makefile	2010-03-29 21:40:39.000000000 +0100
+@@ -287,42 +287,36 @@
+ 
+ $(TARGETS_C2):  $(SUBDIRS_C2)
+ 	cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS)
+-	cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && ./test_gamma
+ ifdef INSTALL
+ 	cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) install
+ endif
+ 
+ $(TARGETS_TIERED):  $(SUBDIRS_TIERED)
+ 	cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS)
+-	cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && ./test_gamma
+ ifdef INSTALL
+ 	cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) install
+ endif
+ 
+ $(TARGETS_C1):  $(SUBDIRS_C1)
+ 	cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS)
+-	cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && ./test_gamma
+ ifdef INSTALL
+ 	cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS) install
+ endif
+ 
+ $(TARGETS_CORE):  $(SUBDIRS_CORE)
+ 	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS)
+-	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && ./test_gamma
+ ifdef INSTALL
+ 	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) install
+ endif
+ 
+ $(TARGETS_ZERO):  $(SUBDIRS_ZERO)
+ 	cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS)
+-	cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && ./test_gamma
+ ifdef INSTALL
+ 	cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS) install
+ endif
+ 
+ $(TARGETS_SHARK):  $(SUBDIRS_SHARK)
+ 	cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS)
+-	cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && ./test_gamma
+ ifdef INSTALL
+ 	cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install
+ endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/patches/no-test_gamma.patch	Fri Aug 06 11:52:12 2010 +0100
@@ -0,0 +1,46 @@
+diff -Nru openjdk-ecj.orig/hotspot/make/linux/Makefile openjdk-ecj/hotspot/make/linux/Makefile
+--- openjdk.orig/hotspot/make/linux/Makefile	2010-03-29 21:34:14.000000000 +0100
++++ openjdk/hotspot/make/linux/Makefile	2010-03-29 21:40:39.000000000 +0100
+@@ -287,42 +287,36 @@
+ 
+ $(TARGETS_C2):  $(SUBDIRS_C2)
+ 	cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS)
+-	cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && ./test_gamma
+ ifdef INSTALL
+ 	cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) install
+ endif
+ 
+ $(TARGETS_TIERED):  $(SUBDIRS_TIERED)
+ 	cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS)
+-	cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && ./test_gamma
+ ifdef INSTALL
+ 	cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) install
+ endif
+ 
+ $(TARGETS_C1):  $(SUBDIRS_C1)
+ 	cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS)
+-	cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && ./test_gamma
+ ifdef INSTALL
+ 	cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS) install
+ endif
+ 
+ $(TARGETS_CORE):  $(SUBDIRS_CORE)
+ 	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS)
+-	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && ./test_gamma
+ ifdef INSTALL
+ 	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) install
+ endif
+ 
+ $(TARGETS_ZERO):  $(SUBDIRS_ZERO)
+ 	cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS)
+-	cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && ./test_gamma
+ ifdef INSTALL
+ 	cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS) install
+ endif
+ 
+ $(TARGETS_SHARK):  $(SUBDIRS_SHARK)
+ 	cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS)
+-	cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && ./test_gamma
+ ifdef INSTALL
+ 	cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install
+ endif