Mercurial > hg > release > icedtea7-2.4
changeset 2704:a03874670653
Update to icedtea-2.4.6pre01 forest tag.
2014-02-19 Andrew John Hughes <gnu.andrew@member.fsf.org>
* patches/boot/test_gamma.patch,
* patches/pax-mark-rmic-java.patch,
* patches/test_gamma.patch:
Removed.
* INSTALL:
Document ARM32 JIT and --enable-arm32-jit option.
* Makefile.am:
(CORBA_CHANGESET): Update to icedtea-2.4.6pre01 tag.
(JAXP_CHANGESET): Likewise.
(JAXWS_CHANGESET): Likewise.
(JDK_CHANGESET): Likewise.
(LANGTOOLS_CHANGESET): Likewise.
(OPENJDK_CHANGESET): Likewise.
(CORBA_SHA256SUM): Likewise.
(JAXP_SHA256SUM): Likewise.
(JAXWS_SHA256SUM): Likewise.
(JDK_SHA256SUM): Likewise.
(LANGTOOLS_SHA256SUM): Likewise.
(OPENJDK_SHA256SUM): Likewise.
(ICEDTEA_PATCHES): Remove PaX patches.
(ICEDTEA_BOOT_PATCHES): Remove test_gamma
patch (fixed by detection of non-Oracle JDK
addition from PPC port)
(ARM32JIT_STATUS): Set based on ENABLE_ARM32JIT.
(ICEDTEA_ENV): Pass ARM32JIT and PAX_COMMAND to
OpenJDK build.
* NEWS: Updated with latest changes, including PaX
ARM32 and Shark changes.
* acinclude.m4:
(IT_ENABLE_ARM32JIT): Allow the ARM32 JIT to be
enabled.
* configure.ac: Run IT_ENABLE_ARM32JIT macro.
* hotspot.map: Update to icedtea-2.4.6pre01 tag.
author | Andrew John Hughes <gnu_andrew@member.fsf.org> |
---|---|
date | Mon, 17 Mar 2014 16:42:38 +0000 |
parents | e21f201c2d68 |
children | f59e4269da38 |
files | ChangeLog INSTALL Makefile.am NEWS acinclude.m4 configure.ac hotspot.map patches/boot/test_gamma.patch patches/cacao/arm-arch-defines.patch patches/pax-mark-rmic-java.patch patches/test_gamma.patch |
diffstat | 11 files changed, 135 insertions(+), 146 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon Mar 17 14:58:18 2014 +0000 +++ b/ChangeLog Mon Mar 17 16:42:38 2014 +0000 @@ -1,3 +1,39 @@ +2014-02-19 Andrew John Hughes <gnu.andrew@member.fsf.org> + + * patches/boot/test_gamma.patch, + * patches/pax-mark-rmic-java.patch, + * patches/test_gamma.patch: + Removed. + * INSTALL: + Document ARM32 JIT and --enable-arm32-jit option. + * Makefile.am: + (CORBA_CHANGESET): Update to icedtea-2.4.6pre01 tag. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + (ICEDTEA_PATCHES): Remove PaX patches. + (ICEDTEA_BOOT_PATCHES): Remove test_gamma + patch (fixed by detection of non-Oracle JDK + addition from PPC port) + (ARM32JIT_STATUS): Set based on ENABLE_ARM32JIT. + (ICEDTEA_ENV): Pass ARM32JIT and PAX_COMMAND to + OpenJDK build. + * NEWS: Updated with latest changes, including PaX + ARM32 and Shark changes. + * acinclude.m4: + (IT_ENABLE_ARM32JIT): Allow the ARM32 JIT to be + enabled. + * configure.ac: Run IT_ENABLE_ARM32JIT macro. + * hotspot.map: Update to icedtea-2.4.6pre01 tag. + 2014-02-19 Andrew John Hughes <gnu.andrew@member.fsf.org> PR1677: Update PaX support to detect running PaX
--- a/INSTALL Mon Mar 17 14:58:18 2014 +0000 +++ b/INSTALL Mon Mar 17 16:42:38 2014 +0000 @@ -204,6 +204,7 @@ * --enable-system-kerberos: Link against the system Kerberos library and query it at runtime to obtain the cache location, rather than using a hardcoded value. +* --enable-arm32-jit: Build the ARM32 JIT. Testing ======= @@ -301,6 +302,10 @@ --enable-shark to configure. Please note that Shark is still in development and builds are still likely to fail at present. +On ARM32, there is also a native JIT port built on top of Zero. This +still has issues and is thus not enabled by default. To enable it, +pass --enable-arm32-jit to configure. + Support for Different Versions of HotSpot =========================================
--- a/Makefile.am Mon Mar 17 14:58:18 2014 +0000 +++ b/Makefile.am Mon Mar 17 16:42:38 2014 +0000 @@ -4,19 +4,19 @@ BUILD_VERSION = b31 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(BUILD_VERSION) -CORBA_CHANGESET = 3594dbde270d -JAXP_CHANGESET = 8fe156ad49e2 -JAXWS_CHANGESET = 32ea8b1ed91a -JDK_CHANGESET = 9db88c18e114 -LANGTOOLS_CHANGESET = dabd37b7e295 -OPENJDK_CHANGESET = 410eb7fef869 +CORBA_CHANGESET = 48ef1bb6d120 +JAXP_CHANGESET = e0ba4b9a8b91 +JAXWS_CHANGESET = 4bd947cd146b +JDK_CHANGESET = f582aad1fce8 +LANGTOOLS_CHANGESET = 06eeb77dac24 +OPENJDK_CHANGESET = b028e58c1b77 -CORBA_SHA256SUM = d1f97e143fe94ae3a56b45bb5a90f8ab10ec2be4ff770a788f0a1ac677e27a7d -JAXP_SHA256SUM = 0a2a40186cedfbeb8f87b0bc86bea2830943943081d4289fc74f7a783b2e1af3 -JAXWS_SHA256SUM = 08a169b6b02883759ec7a412aa91aa3e37480761cb50b95d092dbcdb2fc9a3d0 -JDK_SHA256SUM = 285e5b8ccbb29f3f9f9ea9ea7856d1ed97465c57d091fbcd9b2e55a1ffbb543e -LANGTOOLS_SHA256SUM = 86cb370ce2084c4b699d8c002ebe6c026e86206ffa82a2f3d7906aadb94ed79f -OPENJDK_SHA256SUM = 2de151c7275d91ef082e63fcc0957c5f9290404ec6e20ecfa1e752e16bfab707 +CORBA_SHA256SUM = 2fcfe699797154da8b4ba5242e32468b2f3f42a0cb17039915bfb1f84887a5b6 +JAXP_SHA256SUM = e7014057721b8392676bd24760c3f7b3dd40548abb3c8dfbe8df2fa04d7c1fca +JAXWS_SHA256SUM = 17ed5278872ad0c9ec3a849caf1480e5942b714e35c9a4a949d09daac4b34c5a +JDK_SHA256SUM = 17410212d856da9f52f87a6289d3937d3748992855d53bb5e1496fe7879e27cd +LANGTOOLS_SHA256SUM = a67e62618c70ef9190b2aef2b49be9d79624be9363bda258828b17494e092477 +OPENJDK_SHA256SUM = e6be030ac5934781d9682dc3108980fa7d2330c32da3cea4ae74df11fbaa92f2 CACAO_VERSION = e215e36be9fc CACAO_SHA256SUM = 4966514c72ee7ed108b882d9b6e65c3adf8a8f9c2dccb029f971b3c8cb4870ab @@ -297,12 +297,6 @@ ICEDTEA_PATCHES += patches/nss-config.patch endif -if WITH_PAX -ICEDTEA_PATCHES += \ - patches/test_gamma.patch \ - patches/pax-mark-rmic-java.patch -endif - ICEDTEA_PATCHES += $(DISTRIBUTION_PATCHES) # Bootstrapping patches @@ -352,10 +346,6 @@ patches/boot/xbootclasspath.patch endif -if !WITH_PAX -ICEDTEA_BOOT_PATCHES += patches/boot/test_gamma.patch -endif - if CP39408_JAVAH ICEDTEA_BOOT_PATCHES += patches/boot/pr39408.patch endif @@ -435,6 +425,12 @@ WERROR_STATUS=false endif +if ENABLE_ARM32JIT +ARM32JIT_STATUS=true +else +ARM32JIT_STATUS=false +endif + ICEDTEA_ENV = \ ALT_JDK_IMPORT_PATH="$(BOOT_DIR)" \ ANT="$(ANT)" \ @@ -487,7 +483,9 @@ STRIP_POLICY=no_strip \ JAVAC_WARNINGS_FATAL="$(WERROR_STATUS)" \ COMPILER_WARNINGS_FATAL="$(WERROR_STATUS)" \ - UNLIMITED_CRYPTO="true" + UNLIMITED_CRYPTO="true" \ + ARM32JIT="${ARM32JIT_STATUS}" \ + PAX_COMMAND="${PAX_COMMAND}" if ENABLE_CACAO ICEDTEA_ENV += \
--- a/NEWS Mon Mar 17 14:58:18 2014 +0000 +++ b/NEWS Mon Mar 17 16:42:38 2014 +0000 @@ -14,8 +14,57 @@ New in release 2.4.6 (2014-04-XX): +* Backports + - S8009062: poor performance of JNI AttachCurrentThread after fix for 7017193 + - Re-enable the 'gamma' test at the end of the HotSpot build, but only for HotSpot based bootstrap JDKs. * Bug fixes + - PR1101: Undefined symbols on GNU/Linux SPARC + - PR1659: OpenJDK 7 returns incorrect TrueType font metrics when bold style is set - PR1677: Update PaX support to detect running PaX kernel and use newer tools + - PR1679: Allow OpenJDK to build on PaX-enabled kernels + - RH1015432: java-1.7.0-openjdk: Fails on PPC with StackOverflowError (revised fix) + - Link against $(LIBDL) if SYSTEM_CUPS is not true +* ARM port + - Add arm_port from IcedTea 6 + - Add patches/arm.patch from IcedTea 6 + - Add patches/arm-debug.patch from IcedTea 6 + - Add patches/arm-hsdis.patch from IcedTea 6 + - added jvmti event generation for dynamic_generate and compiled_method_load events to ARM JIT compiler + - Adjust saved SP when safepointing. + - First cut of invokedynamic + - Fix trashed thread ptr after recursive re-entry from asm JIT. + - JIT-compilation of ldc methodHandle + - Rename a bunch of misleadingly-named functions + - Changes for HSX22 + - Rename a bunch of misleadingly-named functions + - Patched method handle adapter code to deal with failures in TCK + - Phase 1 + - Phase 2 + - RTC Thumb2 JIT enhancements. + - Zero fails to build in hsx22+, fix for hsx22 after runs gamma OK, hsx23 still nogo. + - Use ldrexd for atomic reads on ARMv7. + - Use unified syntax for thumb code. + - Corrected call from fast_method_handle_entry to CppInterpreter::method_handle_entry so that thread is loaded into r2 + - Don't save locals at a return. + - Fix call to handle_special_method(). Fix compareAndSwapLong. + - Fix JIT bug that miscompiles org.eclipse.ui.internal.contexts.ContextAuthority.sourceChanged + - invokedynamic and aldc for JIT + - Modified safepoint check to rely on memory protect signal instead of polling + - Minor review cleanups. + - PR1188: ASM Interpreter and Thumb2 JIT javac miscompile modulo reminder on armel + - PR1363: Fedora 19 / rawhide FTBFS SIGILL + - Changes for HSX23 + - Remove fragment from method that has been removed + - Remove C++ flags from CC_COMPILE and fix usage in zeroshark.make. + - Use $(CC) to compile mkbc instead of $(CC_COMPILE) to avoid C++-only flags + - Add note about use of $(CFLAGS)/$(CXXFLAGS)/$(CPPFLAGS) at present. + - Override automatic detection of source language for bytecodes_arm.def + - Include $(CFLAGS) in assembler stage + - PR1626: ARM32 assembler update for hsx24. Use ARM32JIT to turn it on/off. + - Replace literal offsets for METHOD_SIZEOFPARAMETERS and ISTATE_NEXT_FRAME with correct symbolic names. +* Shark + - Add Shark definitions from 8003868 + - Drop compile_method argument removed in 7083786 from sharkCompiler.cpp New in release 2.4.5 (2014-01-29):
--- a/acinclude.m4 Mon Mar 17 14:58:18 2014 +0000 +++ b/acinclude.m4 Mon Mar 17 16:42:38 2014 +0000 @@ -2623,3 +2623,25 @@ AC_PROVIDE([$0])dnl AM_CONDITIONAL([VM_SUPPORTS_XBOOTCLASSPATH], test x"${it_cv_xbootclasspath_works}" = "xyes") ]) + +AC_DEFUN([IT_ENABLE_ARM32JIT], +[ + AC_MSG_CHECKING([whether to enable the ARM32 JIT]) + AC_ARG_ENABLE([arm32-jit], + [AS_HELP_STRING(--enable-arm32-jit,build with the ARM32 JIT [[default=no]])], + [ + case "${enableval}" in + yes) + enable_arm32jit=yes + ;; + *) + enable_arm32jit=no + ;; + esac + ], + [ + enable_arm32jit=no + ]) + AC_MSG_RESULT([$enable_arm32jit]) + AM_CONDITIONAL([ENABLE_ARM32JIT], test x"${enable_arm32jit}" = "xyes") +])
--- a/configure.ac Mon Mar 17 14:58:18 2014 +0000 +++ b/configure.ac Mon Mar 17 16:42:38 2014 +0000 @@ -176,6 +176,7 @@ IT_ENABLE_JAR_COMPRESSION IT_SET_SHARK_BUILD IT_CHECK_ADDITIONAL_VMS +IT_ENABLE_ARM32JIT IT_WITH_VERSION_SUFFIX IT_WITH_PROJECT
--- a/hotspot.map Mon Mar 17 14:58:18 2014 +0000 +++ b/hotspot.map Mon Mar 17 16:42:38 2014 +0000 @@ -1,2 +1,2 @@ # version url changeset sha256sum -default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot 2cb58882dac3 d8c1681ae76e660c1888065933cedbbc1309869c7a2fb98f07c424716d5ebaf9 +default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot 00478c5bf5e9 9f77cd372778c8a3359f3c9c0eb37c1dbd7c1f569613da89de64b41de48a5760
--- a/patches/boot/test_gamma.patch Mon Mar 17 14:58:18 2014 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -diff -Nru ../openjdk.orig/openjdk-boot/hotspot/make/linux/Makefile openjdk-boot/hotspot/make/linux/Makefile ---- ../openjdk.orig/openjdk-boot/hotspot/make/linux/Makefile 2009-10-30 17:37:07.000000000 +0000 -+++ openjdk-boot/hotspot/make/linux/Makefile 2009-10-30 17:45:40.000000000 +0000 -@@ -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 -
--- a/patches/cacao/arm-arch-defines.patch Mon Mar 17 14:58:18 2014 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -diff -Nru cacao.orig/cacao/src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/arm.h cacao/cacao/src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/arm.h ---- cacao.orig/cacao/src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/arm.h 2010-05-19 12:14:46.000000000 +0100 -+++ cacao/cacao/src/mm/boehm-gc/libatomic_ops-1.2/src/atomic_ops/sysdeps/gcc/arm.h 2010-06-21 18:35:53.000000000 +0100 -@@ -33,7 +33,13 @@ - - /* NEC LE-IT: gcc has no way to easily check the arm architecture - * but defines only one of __ARM_ARCH_x__ to be true */ --#if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_7__) -+#if defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \ -+ || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) \ -+ || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) \ -+ || defined(__ARM_ARCH_6M__) \ -+ || defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \ -+ || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) -+ - AO_INLINE void - AO_nop_full() - {
--- a/patches/pax-mark-rmic-java.patch Mon Mar 17 14:58:18 2014 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ ---- openjdk/jdk/make/com/sun/jmx/Makefile -+++ openjdk/jdk/make/com/sun/jmx/Makefile -@@ -119,6 +119,7 @@ - - $(CLASSDESTDIR)/%_Stub.class: $(CLASSDESTDIR)/%.class - $(prep-target) -+ "$(TOPDIR)"/../../pax-mark-vm "$(OUTPUTDIR)" - $(RMIC) -classpath "$(CLASSDESTDIR)" \ - -d $(CLASSDESTDIR) \ - -v1.2 \
--- a/patches/test_gamma.patch Mon Mar 17 14:58:18 2014 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -diff -Nru ../openjdk.orig/openjdk/hotspot/make/linux/Makefile openjdk/hotspot/make/linux/Makefile ---- ../openjdk.orig/openjdk/hotspot/make/linux/Makefile 2009-10-30 17:37:07.000000000 +0000 -+++ openjdk/hotspot/make/linux/Makefile 2009-10-30 17:45:40.000000000 +0000 -@@ -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 -