1 diff -dur -x '*~' openjdk.orig/common/autoconf/platform.m4 openjdk/common/autoconf/platform.m4
2 --- openjdk.orig/common/autoconf/platform.m4 2016-07-25 07:38:20.000000000 +0200
3 +++ openjdk/common/autoconf/platform.m4 2016-09-21 09:03:56.589063655 +0200
12 + VAR_CPU_ENDIAN=little
19 # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
20 PLATFORM_EXTRACT_VARS_FROM_OS($build_os)
21 - PLATFORM_EXTRACT_VARS_FROM_CPU($build_cpu)
22 + PLATFORM_EXTRACT_VARS_FROM_CPU(x32)
23 # ..and setup our own variables. (Do this explicitely to facilitate searching)
24 OPENJDK_BUILD_OS="$VAR_OS"
25 OPENJDK_BUILD_OS_API="$VAR_OS_API"
28 # Convert the autoconf OS/CPU value to our own data, into the VAR_OS/CPU variables.
29 PLATFORM_EXTRACT_VARS_FROM_OS($host_os)
30 - PLATFORM_EXTRACT_VARS_FROM_CPU($host_cpu)
31 + PLATFORM_EXTRACT_VARS_FROM_CPU(x32)
32 # ... and setup our own variables. (Do this explicitely to facilitate searching)
33 OPENJDK_TARGET_OS="$VAR_OS"
34 OPENJDK_TARGET_OS_API="$VAR_OS_API"
36 ppc64) ZERO_ARCHDEF=PPC64 ;;
37 s390*) ZERO_ARCHDEF=S390 ;;
38 sparc*) ZERO_ARCHDEF=SPARC ;;
39 + x32*) ZERO_ARCHDEF=X32 ;;
40 x86_64*) ZERO_ARCHDEF=AMD64 ;;
41 x86) ZERO_ARCHDEF=IA32 ;;
42 *) ZERO_ARCHDEF=$(echo "${OPENJDK_TARGET_CPU_LEGACY_LIB}" | tr a-z A-Z)
43 diff -dur -x '*~' openjdk.orig/common/autoconf/toolchain.m4 openjdk/common/autoconf/toolchain.m4
44 --- openjdk.orig/common/autoconf/toolchain.m4 2016-07-25 07:38:20.000000000 +0200
45 +++ openjdk/common/autoconf/toolchain.m4 2016-09-21 09:03:56.592397163 +0200
46 @@ -1026,6 +1026,10 @@
48 # on ppc we don't prevent gcc to omit frame pointer nor strict-aliasing
51 + COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -fno-omit-frame-pointer -DX32"
52 + CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
55 COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -fno-omit-frame-pointer"
56 CFLAGS_JDK="${CFLAGS_JDK} -fno-strict-aliasing"
57 diff -dur -x '*~' openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp
58 --- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp 2016-09-20 13:22:05.697032126 +0200
59 +++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2016-09-21 09:03:56.592397163 +0200
63 static Elf32_Half running_arch_code=EM_386;
64 - #elif (defined AMD64)
65 + #elif (defined AMD64) || (defined X32)
66 static Elf32_Half running_arch_code=EM_X86_64;
68 static Elf32_Half running_arch_code=EM_IA_64;
69 diff -dur -x '*~' openjdk.orig/hotspot/src/share/vm/utilities/taskqueue.hpp openjdk/hotspot/src/share/vm/utilities/taskqueue.hpp
70 --- openjdk.orig/hotspot/src/share/vm/utilities/taskqueue.hpp 2016-07-25 07:38:24.000000000 +0200
71 +++ openjdk/hotspot/src/share/vm/utilities/taskqueue.hpp 2016-09-21 09:03:56.592397163 +0200
73 // Architectures with weak memory model require a barrier here
74 // to guarantee that bottom is not older than age,
75 // which is crucial for the correctness of the algorithm.
76 -#if !(defined SPARC || defined IA32 || defined AMD64)
77 +#if !(defined SPARC || defined IA32 || defined AMD64 || defined X32)
80 uint localBot = OrderAccess::load_acquire((volatile juint*)&_bottom);
81 diff -dur -x '*~' openjdk.orig/jdk/make/gensrc/GensrcX11Wrappers.gmk openjdk/jdk/make/gensrc/GensrcX11Wrappers.gmk
82 --- openjdk.orig/jdk/make/gensrc/GensrcX11Wrappers.gmk 2016-07-25 07:38:26.000000000 +0200
83 +++ openjdk/jdk/make/gensrc/GensrcX11Wrappers.gmk 2016-09-21 09:12:46.033398082 +0200
86 $(TOOL_WRAPPERGENERATOR) $(@D) $(GENSRC_SIZER_DIR)/xlibtypes.txt "sizer" $*
88 - # use -m32/-m64 only if the compiler supports it
89 - ifeq ($(COMPILER_SUPPORTS_TARGET_BITS_FLAG), true)
90 - MEMORY_MODEL_FLAG="$(COMPILER_TARGET_BITS_FLAG)$*"
92 + MEMORY_MODEL_FLAG="-mx32"
94 # Compile the C code into an executable.
95 $(GENSRC_X11WRAPPERS_TMP)/sizer.%.exe: $(GENSRC_X11WRAPPERS_TMP)/sizer.%.c
96 diff -dur -x '*~' openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c
97 --- openjdk.orig/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2016-07-25 07:38:26.000000000 +0200
98 +++ openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c 2016-09-21 09:03:56.592397163 +0200
103 -#include <sys/sysctl.h>
104 #include <sys/utsname.h>
105 #include <netinet/ip.h>
107 diff -dur -x '*~' openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c
108 --- openjdk.orig/jdk/src/solaris/native/java/net/PlainSocketImpl.c 2016-07-25 07:38:26.000000000 +0200
109 +++ openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c 2016-09-21 09:03:56.595730671 +0200
114 -#include <sys/sysctl.h>