openjdk: move over the recipes from jalimo
authorHenning Heinold <h.heinold@tarent.de>
Wed, 7 Jul 2010 16:02:19 +0000 (18:02 +0200)
committerHenning Heinold <heinold@inf.fu-berlin.de>
Thu, 8 Jul 2010 13:52:08 +0000 (15:52 +0200)
52 files changed:
recipes/cacao/cacaoh-openjdk-native.inc [new file with mode: 0644]
recipes/cacao/cacaoh-openjdk-native_0.99.4.bb [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.7.3/build-hacks-native.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.7.3/disable-library-checks.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.7.3/icedtea-ecj-disable-compilation.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.7.3/icedtea-ecj-disable-sanitychecks.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.7.3/icedtea-ecj-fix-freetype.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.7.3/icedtea-ecj-fix-zlib.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.7.3/icedtea-hotspot-make-arch-sane-for-x86.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.7.3/icedtea-javac-in.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.7.3/icedtea-jdk-sane-x86-arch.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.7.3/icedtea-sane-x86-arch-name.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.7.3/icedtea-unbreak-float.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.8/build-hacks-native.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.8/disable-library-checks.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.8/icedtea-ecj-disable-compilation.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.8/icedtea-ecj-fix-freetype.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.8/icedtea-ecj-fix-zlib.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.8/icedtea-hotspot-make-arch-sane-for-x86.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.8/icedtea-jdk-sane-x86-arch.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.8/icedtea-sane-x86-arch-name.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native-1.8/icedtea-unbreak-float.patch [new file with mode: 0644]
recipes/icedtea/icedtea6-native.inc [new file with mode: 0644]
recipes/icedtea/icedtea6-native_1.7.3.bb [new file with mode: 0644]
recipes/icedtea/icedtea6-native_1.8.bb [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/build-hacks.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/cacao-disable-stackbase-check.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/cacao-vfp-compat.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/fix-llvm-libs.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/fix_hotspot_crosscompile.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/icedtea-crosscompile-fix.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/icedtea-fix-jar-command.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/icedtea-hostbuildcc.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/icedtea-hotspot-glibc-version.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/icedtea-hotspot-isfinte.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/icedtea-hotspot-isnanf.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/icedtea-hotspot-loadavg.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/icedtea-jdk-RTLD_NOLOAD.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/icedtea-jdk-iconv-uclibc.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/icedtea-jdk-remove-unused-backtrace.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/icedtea-jdk-unpack-uclibc.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/icedtea-launcher-stdc++.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/icedtea-libnet-renaming.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/icedtea-remove_werror.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/icedtea-unbreak-float.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/mkbc_returncode.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/shark-build-openjdkdir.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/thumbee.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-6b18-1.8/zero-cmpswap-long.patch [new file with mode: 0644]
recipes/openjdk/openjdk-6-common.inc [new file with mode: 0644]
recipes/openjdk/openjdk-6-release-6b18.inc [new file with mode: 0644]
recipes/openjdk/openjdk-6_6b18-1.8.bb [new file with mode: 0644]

diff --git a/recipes/cacao/cacaoh-openjdk-native.inc b/recipes/cacao/cacaoh-openjdk-native.inc
new file mode 100644 (file)
index 0000000..5070e7e
--- /dev/null
@@ -0,0 +1,31 @@
+DESCRIPTION = "Header generator for Cacao JVM - Needed for cross-compilation builds"
+HOMEPAGE = "http://www.cacaojvm.org/"
+LICENSE  = "GPL"
+
+DEPENDS = "libtool-native zlib-native virtual/javac-native classpath-native icedtea6-native"
+
+inherit java autotools
+
+S = "${WORKDIR}/cacao-${PV}"
+
+inherit autotools native
+
+EXTRA_OECONF = " \
+                --with-java-runtime-library=openjdk \
+                --with-java-runtime-library-classes=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/jre/lib/rt.jar \
+                --with-jni_md_h=${STAGING_INCDIR}/classpath \
+                --with-jni_h=${STAGING_INCDIR}/classpath \
+                --with-hpi_md_h=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/include/hpi \
+                --with-hpi_h=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/include/hpi \
+  "
+
+do_compile() {
+  # Compile the header generator only (and what is needed for it).
+  oe_runmake -C src/toolbox libtoolbox.la
+  oe_runmake -C src/vmcore libvmcore.la
+  oe_runmake -C src/cacaoh cacaoh
+}
+
+do_install() {
+       install -m 0755 src/cacaoh/.libs/cacaoh ${STAGING_BINDIR}/cacaoh-openjdk-${PV}
+}
diff --git a/recipes/cacao/cacaoh-openjdk-native_0.99.4.bb b/recipes/cacao/cacaoh-openjdk-native_0.99.4.bb
new file mode 100644 (file)
index 0000000..27ab6ab
--- /dev/null
@@ -0,0 +1,8 @@
+require cacaoh-openjdk-native.inc
+
+PR = "r0"
+
+SRC_URI[md5sum] = "63220327925ace13756ae334c55a3baa"
+SRC_URI[sha256sum] = "1dfc4903dc0172286df4f1740fd0f12749ac81d51c602290b47cbe83d51e1d56"
+
+SRC_URI = "http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-${PV}/cacao-${PV}.tar.bz2"
diff --git a/recipes/icedtea/icedtea6-native-1.7.3/build-hacks-native.patch b/recipes/icedtea/icedtea6-native-1.7.3/build-hacks-native.patch
new file mode 100644 (file)
index 0000000..9432d03
--- /dev/null
@@ -0,0 +1,15 @@
+Index: icedtea6-1.6.1/Makefile.am
+===================================================================
+--- icedtea6-1.6.1.orig/Makefile.am    2009-12-24 11:38:06.582572265 +0100
++++ icedtea6-1.6.1/Makefile.am 2009-12-24 11:57:27.159578486 +0100
+@@ -265,6 +265,10 @@
+       FT2_LIB="$(FREETYPE2_LIBS)" \
+       ALT_PARALLEL_COMPILE_JOBS="$(PARALLEL_JOBS)" \
+       HOTSPOT_BUILD_JOBS="$(PARALLEL_JOBS)" \
++        OE_CFLAGS="$(OE_CFLAGS)" \
++        OE_CPPFLAGS="$(OE_CPPFLAGS)" \
++        OE_CXXFLAGS="$(OE_CXXFLAGS)" \
++        OE_LDFLAGS="$(OE_LDFLAGS)" \
+       JAVAC="" \
+       RHINO_JAR="$(RHINO_JAR)" \
+       JAR_KNOWS_ATFILE="$(JAR_KNOWS_ATFILE)" \
diff --git a/recipes/icedtea/icedtea6-native-1.7.3/disable-library-checks.patch b/recipes/icedtea/icedtea6-native-1.7.3/disable-library-checks.patch
new file mode 100644 (file)
index 0000000..23b8bed
--- /dev/null
@@ -0,0 +1,141 @@
+Index: icedtea6-1.7/configure.ac
+===================================================================
+--- icedtea6-1.7.orig/configure.ac     2010-01-26 04:52:18.000000000 +0100
++++ icedtea6-1.7/configure.ac  2010-02-08 12:05:51.354556052 +0100
+@@ -205,9 +205,9 @@
+ fi
+ dnl pkgconfig cannot be used to find these headers and libraries.
+-AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],[]
+-      ,[AC_MSG_ERROR("CUPS headers were not found -
+-      try installing cups-devel.")])
++#AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],[]
++#     ,[AC_MSG_ERROR("CUPS headers were not found -
++#     try installing cups-devel.")])
+ AC_CHECK_HEADERS([X11/X.h],[]
+       ,[AC_MSG_ERROR("xorg headers were not found -
+       try installing xorg-x11-proto-devel.")])
+@@ -239,12 +239,12 @@
+ AC_SUBST(XT_LIBS)
+ dnl Check for libXp headers and libraries.
+-PKG_CHECK_MODULES(XP, xp,[XP_FOUND=yes],[XP_FOUND=no])
+-if test "x${XP_FOUND}" = xno
+-then
+-  AC_MSG_ERROR([Could not find Xp - \
+-  Try installing libXp-devel.])
+-fi
++#PKG_CHECK_MODULES(XP, xp,[XP_FOUND=yes],[XP_FOUND=no])
++#if test "x${XP_FOUND}" = xno
++#then
++#  AC_MSG_ERROR([Could not find Xp - \
++#  Try installing libXp-devel.])
++#fi
+ AC_SUBST(XP_CFLAGS)
+ AC_SUBST(XP_LIBS)
+@@ -258,16 +258,16 @@
+ AC_SUBST(X11_CFLAGS)
+ AC_SUBST(X11_LIBS)
+-dnl Check for libXinerama headers and libraries.
+-PKG_CHECK_MODULES(XINERAMA, xinerama,[XINERAMA_FOUND=yes]
+-      ,[XINERAMA_FOUND=no])
+-if test "x${XINERAMA_FOUND}" = xno
+-then
+-  AC_MSG_ERROR([Could not find Xinerama - \
+-  Try installing libXinerama-devel.])
+-fi
+-AC_SUBST(XINERAMA_CFLAGS)
+-AC_SUBST(XINERAMA_LIBS)
++#dnl Check for libXinerama headers and libraries.
++#PKG_CHECK_MODULES(XINERAMA, xinerama,[XINERAMA_FOUND=yes]
++#     ,[XINERAMA_FOUND=no])
++#if test "x${XINERAMA_FOUND}" = xno
++#then
++#  AC_MSG_ERROR([Could not find Xinerama - \
++#  Try installing libXinerama-devel.])
++#fi
++#AC_SUBST(XINERAMA_CFLAGS)
++#AC_SUBST(XINERAMA_LIBS)
+ if test "x${ENABLE_XRENDER}" = "xyes"
+ then
+@@ -341,26 +341,26 @@
+   AC_CONFIG_FILES([tapset/jstack.stp])
+ fi
+-dnl Check for libpng headers and libraries.
+-PKG_CHECK_MODULES(LIBPNG, libpng,[LIBPNG_FOUND=yes]
+-      ,[LIBPNG_FOUND=no])
+-if test "x${LIBPNG_FOUND}" = xno
+-then
+-  AC_MSG_ERROR([Could not find libpng - \
+-  Try installing libpng-devel.])
+-fi
+-AC_SUBST(LIBPNG_CFLAGS)
+-AC_SUBST(LIBPNG_LIBS)
+-
+-dnl Check for libXtst headers and libraries.
+-PKG_CHECK_MODULES(XTST, xtst,[XTST_FOUND=yes],[XTST_FOUND=no])
+-if test "x${XTST_FOUND}" = xno
+-then
+-  AC_MSG_ERROR([Could not find Xtst - \
+-  Try installing libXtst-devel.])
+-fi
+-AC_SUBST(XTST_CFLAGS)
+-AC_SUBST(XTST_LIBS)
++#dnl Check for libpng headers and libraries.
++#PKG_CHECK_MODULES(LIBPNG, libpng,[LIBPNG_FOUND=yes]
++#     ,[LIBPNG_FOUND=no])
++#if test "x${LIBPNG_FOUND}" = xno
++#then
++#  AC_MSG_ERROR([Could not find libpng - \
++#  Try installing libpng-devel.])
++#fi
++#AC_SUBST(LIBPNG_CFLAGS)
++#AC_SUBST(LIBPNG_LIBS)
++
++#dnl Check for libXtst headers and libraries.
++#PKG_CHECK_MODULES(XTST, xtst,[XTST_FOUND=yes],[XTST_FOUND=no])
++#if test "x${XTST_FOUND}" = xno
++#then
++#  AC_MSG_ERROR([Could not find Xtst - \
++#  Try installing libXtst-devel.])
++#fi
++#AC_SUBST(XTST_CFLAGS)
++#AC_SUBST(XTST_LIBS)
+ dnl Check for freetype2 headers and libraries.
+ PKG_CHECK_MODULES(FREETYPE2, freetype2,[FREETYPE2_FOUND=yes]
+@@ -373,18 +373,18 @@
+ AC_SUBST(FREETYPE2_CFLAGS)
+ AC_SUBST(FREETYPE2_LIBS)
+-dnl Check for alsa headers and libraries (only required for Linux).
+-if test "x${BUILD_OS_DIR}" = "xlinux"
+-then
+-  PKG_CHECK_MODULES(ALSA, alsa,[ALSA_FOUND=yes],[ALSA_FOUND=no])
+-  if test "x${ALSA_FOUND}" = xno
+-  then
+-    AC_MSG_ERROR([Could not find alsa - \
+-    Try installing alsa-lib-devel.])
+-  fi
+-AC_SUBST(ALSA_CFLAGS)
+-AC_SUBST(ALSA_LIBS)
+-fi
++#dnl Check for alsa headers and libraries (only required for Linux).
++#if test "x${BUILD_OS_DIR}" = "xlinux"
++#then
++#  PKG_CHECK_MODULES(ALSA, alsa,[ALSA_FOUND=yes],[ALSA_FOUND=no])
++#  if test "x${ALSA_FOUND}" = xno
++#  then
++#    AC_MSG_ERROR([Could not find alsa - \
++#    Try installing alsa-lib-devel.])
++#  fi
++#AC_SUBST(ALSA_CFLAGS)
++#AC_SUBST(ALSA_LIBS)
++#fi
+ if test "x${enable_pulse_java}" = "xyes"
+ then
diff --git a/recipes/icedtea/icedtea6-native-1.7.3/icedtea-ecj-disable-compilation.patch b/recipes/icedtea/icedtea6-native-1.7.3/icedtea-ecj-disable-compilation.patch
new file mode 100644 (file)
index 0000000..cd0f68a
--- /dev/null
@@ -0,0 +1,513 @@
+Index: openjdk/jdk/make/sun/awt/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/awt/Makefile     2009-04-24 09:33:55.000000000 +0200
++++ openjdk/jdk/make/sun/awt/Makefile  2009-09-29 13:57:14.446815782 +0200
+@@ -180,7 +180,8 @@
+ include $(BUILDDIR)/common/Mapfile-vers.gmk
+ include $(BUILDDIR)/common/Library.gmk
+-build: fontconfigs
++#build: fontconfigs
++build:
+ ifeq ($(PLATFORM), windows)
+@@ -535,9 +536,9 @@
+             -I$(PLATFORM_SRC)/native/$(PKGDIR) \
+           $(EVENT_MODEL)
+-ifeq ($(PLATFORM), linux)
+-LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
+-endif
++#ifeq ($(PLATFORM), linux)
++#LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
++#endif
+ LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \
+          $(AWT_RUNPATH)
+Index: openjdk/jdk/make/javax/sound/jsoundalsa/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/javax/sound/jsoundalsa/Makefile      2009-09-29 13:48:34.534565581 +0200
++++ openjdk/jdk/make/javax/sound/jsoundalsa/Makefile   2009-09-29 13:57:14.446815782 +0200
+@@ -44,34 +44,35 @@
+ # Files
+ #
+-FILES_c = \
+-      Utilities.c \
+-      $(DAUDIOFILES_c) \
+-      $(MIDIFILES_c) \
+-      $(PORTFILES_c)
++#FILES_c = \
++#     Utilities.c \
++#     $(DAUDIOFILES_c) \
++#     $(MIDIFILES_c) \
++#     $(PORTFILES_c)
+ # platform dependent files
+-FILES_c += \
+-      PLATFORM_API_LinuxOS_ALSA_CommonUtils.c   \
+-      PLATFORM_API_LinuxOS_ALSA_PCM.c     \
+-      PLATFORM_API_LinuxOS_ALSA_PCMUtils.c   \
+-      PLATFORM_API_LinuxOS_ALSA_MidiIn.c  \
+-      PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
+-      PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
+-      PLATFORM_API_LinuxOS_ALSA_Ports.c
+-
+-FILES_export = \
+-      $(DAUDIOFILES_export) \
+-      $(MIDIFILES_export) \
+-      $(PORTFILES_export)
++#FILES_c += \
++#     PLATFORM_API_LinuxOS_ALSA_CommonUtils.c   \
++#     PLATFORM_API_LinuxOS_ALSA_PCM.c     \
++#     PLATFORM_API_LinuxOS_ALSA_PCMUtils.c   \
++#     PLATFORM_API_LinuxOS_ALSA_MidiIn.c  \
++#     PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
++#     PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
++#     PLATFORM_API_LinuxOS_ALSA_Ports.c
++
++FILES_export =
++#FILES_export = \
++#     $(DAUDIOFILES_export) \
++#     $(MIDIFILES_export) \
++#     $(PORTFILES_export)
+-OTHER_LDLIBS += -lasound
++#OTHER_LDLIBS += -lasound
+ CPPFLAGS += \
+-      -DUSE_DAUDIO=TRUE \
+-      -DUSE_PORTS=TRUE  \
+-      -DUSE_PLATFORM_MIDI_OUT=TRUE \
+-      -DUSE_PLATFORM_MIDI_IN=TRUE \
++      -DUSE_DAUDIO=FALSE \
++      -DUSE_PORTS=FALSE  \
++      -DUSE_PLATFORM_MIDI_OUT=FALSE \
++      -DUSE_PLATFORM_MIDI_IN=FALSE \
+       -I$(SHARE_SRC)/native/com/sun/media/sound
+ #
+Index: openjdk/jdk/make/sun/splashscreen/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/splashscreen/Makefile    2009-09-29 13:48:33.738565601 +0200
++++ openjdk/jdk/make/sun/splashscreen/Makefile 2009-09-29 13:57:14.446815782 +0200
+@@ -32,7 +32,8 @@
+ #
+ # Files
+ #
+-include FILES_c.gmk
++#include FILES_c.gmk
++FILES_c = 
+ FILES_java = \
+     java/awt/SplashScreen.java
+@@ -62,9 +63,9 @@
+ CFLAGS += -DSPLASHSCREEN -DPNG_NO_MMX_CODE
+ ifneq ($(PLATFORM), windows)
+-  CFLAGS += -DWITH_X11
+-  CPPFLAGS += -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
+-  OTHER_LDLIBS += -L$(OPENWIN_LIB) -lX11 -lXext $(LIBM) -lpng -ljpeg -lgif -lz -lpthread
++#  CFLAGS += -DWITH_X11
++#  CPPFLAGS += -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
++#  OTHER_LDLIBS += -L$(OPENWIN_LIB) -lX11 -lXext $(LIBM) -lpng -ljpeg -lgif -lz -lpthread
+ else # PLATFORM
+   CFLAGS += -DWITH_WIN32
+   OTHER_LDLIBS += kernel32.lib user32.lib gdi32.lib 
+@@ -79,7 +80,7 @@
+ vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/image/jpeg
+ vpath %.c   $(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen
+-CPPFLAGS += -I$(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen -I$(SHARE_SRC)/native/$(PKGDIR)/splashscreen
++#CPPFLAGS += -I$(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen -I$(SHARE_SRC)/native/$(PKGDIR)/splashscreen
+ ifeq ($(PLATFORM), linux)
+   ifeq ($(ARCH_DATA_MODEL), 64)
+Index: openjdk/jdk/make/sun/xawt/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/xawt/Makefile    2009-04-24 09:33:56.000000000 +0200
++++ openjdk/jdk/make/sun/xawt/Makefile 2009-09-29 13:57:14.446815782 +0200
+@@ -41,15 +41,16 @@
+ #
+ # Files
+ #
+-include FILES_c_unix.gmk
+-include FILES_export_unix.gmk
++#include FILES_c_unix.gmk
++FILES_c = 
++#include FILES_export_unix.gmk
+ AUTO_FILES_JAVA_DIRS = sun/awt/X11
+ AUTO_JAVA_PRUNE = WrapperGenerator.java
+ LDFLAGS += -L$(OPENWIN_LIB)
+ ifeq ($(PLATFORM), linux)
+-LDFLAGS += -lpthread
++#LDFLAGS += -lpthread
+ dummy := $(shell $(MKDIR) -p $(LIB_LOCATION))
+ endif
+@@ -86,16 +87,19 @@
+ vpath %.c   $(PLATFORM_SRC)/native/sun/java2d/opengl
+ vpath %.c   $(PLATFORM_SRC)/native/sun/java2d/x11
+-OTHER_LDLIBS = $(LIBM) -lawt -lXext -lX11 -ldl \
+-                   $(LDFLAGS_COMMON) $(AWT_RUNPATH) $(OTHER_LDFLAGS) -lXtst -lXi
++#OTHER_LDLIBS = $(LIBM) -lawt -lXext -lX11 -ldl \
++#                   $(LDFLAGS_COMMON) $(AWT_RUNPATH) $(OTHER_LDFLAGS) -lXtst -lXi
+ ifeq  ($(PLATFORM), solaris)
+ CPPFLAGS += -DFUNCPROTO=15
+ dummy := $(shell $(MKDIR) -p $(LIB_LOCATION))
+ endif
+-CPPFLAGS += -I$(CUPS_HEADERS_PATH)
++#CPPFLAGS += -I$(CUPS_HEADERS_PATH)
++# Normally we would like to patch these includes away but
++# we need them for the successfull compilation of the sizer
++# executables.
+ CPPFLAGS += -DXAWT -DXAWT_HACK \
+         -I$(TEMPDIR)/../../sun.awt/awt/CClassHeaders \
+         -I$(PLATFORM_SRC)/native/sun/awt \
+@@ -124,10 +128,10 @@
+ ifeq ($(PLATFORM), linux)
+ # Allows for builds on Debian GNU Linux, X11 is in a different place 
+-  CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
+-              -I/usr/include/X11/extensions \
+-              -I$(MOTIF_DIR)/include \
+-              -I$(OPENWIN_HOME)/include 
++#  CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
++#              -I/usr/include/X11/extensions \
++#              -I$(MOTIF_DIR)/include \
++#              -I$(OPENWIN_HOME)/include 
+ endif
+ ifeq ($(PLATFORM), solaris)
+@@ -238,18 +242,20 @@
+           $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@)))
+ $(SIZES): $(SIZERS)
+-      @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
+-          $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
+-          $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
+-          $(CHMOD) +w $@;\
+-      else    \
+-          $(ECHO) GENERATING $@; \
+-          $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
+-      fi
+-      @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
+-          $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
+-          $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
+-      fi      
++      touch $(SIZES)
++#
++#     @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
++#         $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
++#         $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
++#         $(CHMOD) +w $@;\
++#     else    \
++#         $(ECHO) GENERATING $@; \
++#         $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
++#     fi
++#     @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
++#         $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
++#         $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
++#     fi      
+ $(TEMPDIR)/.gen.wrappers: $(SIZES) $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES)
+       $(BOOT_JAVA_CMD) -cp $(WRAPPER_GENERATOR_TEMPDIR) WrapperGenerator \
+Index: openjdk/jdk/make/sun/jawt/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/jawt/Makefile    2009-09-29 13:48:34.186565471 +0200
++++ openjdk/jdk/make/sun/jawt/Makefile 2009-09-29 13:57:14.446815782 +0200
+@@ -36,7 +36,8 @@
+ ifeq ($(PLATFORM), windows)
+ FILES_cpp = jawt.cpp
+ else # PLATFORM
+-FILES_c = jawt.c
++FILES_c = 
++#FILES_c = jawt.c
+ endif # PLATFORM
+ FILES_h = $(INCLUDEDIR)/jawt.h \
+Index: openjdk/jdk/make/sun/jpeg/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/jpeg/Makefile    2009-09-29 13:48:33.726565626 +0200
++++ openjdk/jdk/make/sun/jpeg/Makefile 2009-09-29 13:57:14.446815782 +0200
+@@ -37,7 +37,8 @@
+ #
+ # Files
+ #
+-include FILES_c.gmk
++FILES_c = 
++#include FILES_c.gmk
+ AUTO_FILES_JAVA_DIRS = sun/awt/image com/sun/imageio/plugins/jpeg
+Index: openjdk/jdk/make/common/shared/Defs-java.gmk
+===================================================================
+--- openjdk.orig/jdk/make/common/shared/Defs-java.gmk  2009-09-29 13:48:55.954565215 +0200
++++ openjdk/jdk/make/common/shared/Defs-java.gmk       2009-09-29 13:57:14.446815782 +0200
+@@ -36,14 +36,14 @@
+ # Memory related -J flags that all uses of java tools should use.
+ #
+ JAVA_MEM_FLAGS   = -Xmx$(MAX_VM_MEMORY)m
+-ifneq (,$(filter $(ARCH), ia64 s390))
++#ifneq (,$(filter $(ARCH), ia64 s390))
+   # Special flags for javac on ia64 to work around a VM problem with
+   #   bad code generation during inlining (what version had this problem?):
+   #   Suspect this may not be needed anymore.
+-  JAVA_MEM_FLAGS   += -Xms$(MAX_VM_MEMORY)m -XX:-Inline
+-else
+-  JAVA_MEM_FLAGS   += -Xms$(MIN_VM_MEMORY)m -XX:PermSize=32m -XX:MaxPermSize=160m
+-endif
++#  JAVA_MEM_FLAGS   += -Xms$(MAX_VM_MEMORY)m -XX:-Inline
++#else
++#  JAVA_MEM_FLAGS   += -Xms$(MIN_VM_MEMORY)m -XX:PermSize=32m -XX:MaxPermSize=160m
++#endif
+ # 
+ # All java tools (javac, javah, and javadoc) run faster with certain java
+Index: openjdk/jdk/src/share/classes/java/awt/GraphicsEnvironment.java
+===================================================================
+--- openjdk.orig/jdk/src/share/classes/java/awt/GraphicsEnvironment.java       2009-04-24 09:34:04.000000000 +0200
++++ openjdk/jdk/src/share/classes/java/awt/GraphicsEnvironment.java    2009-09-29 13:57:14.450815511 +0200
+@@ -113,7 +113,7 @@
+      * @since 1.4
+      */
+     public static boolean isHeadless() {
+-        return getHeadlessProperty();
++        return true;
+     }
+     /**
+Index: openjdk/corba/make/common/Defs.gmk
+===================================================================
+--- openjdk.orig/corba/make/common/Defs.gmk    2009-04-24 09:30:19.000000000 +0200
++++ openjdk/corba/make/common/Defs.gmk 2009-09-29 13:57:14.450815511 +0200
+@@ -444,11 +444,11 @@
+ # Tool flags
+ #
+ ASFLAGS         = $(ASFLAGS_$(VARIANT)) $(ASFLAGS_COMMON) $(OTHER_ASFLAGS)
+-CFLAGS          = $(CFLAGS_$(VARIANT)/BYFILE)   $(CFLAGS_COMMON) $(OTHER_CFLAGS)
+-CXXFLAGS        = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS)
+-CPPFLAGS        = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) \
++CFLAGS          = $(CFLAGS_$(VARIANT)/BYFILE)   $(CFLAGS_COMMON) $(OTHER_CFLAGS) $(OE_CFLAGS)
++CXXFLAGS        = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS) $(OE_CXXFLAGS)
++CPPFLAGS        = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) $(OE_CPPFLAGS) \
+                 $(DEFINES) $(OPTIONS:%=-D%)
+-LDFLAGS         = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS)
++LDFLAGS         = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS) $(OE_LDFLAGS)
+ LDLIBS          = $(OTHER_LDLIBS) $(LDLIBS_$(VARIANT)) $(LDLIBS_COMMON)
+ LINTFLAGS       = $(LINTFLAGS_$(VARIANT)) $(LINTFLAGS_COMMON) \
+                 $(OTHER_LINTFLAGS)
+Index: openjdk/jdk/make/common/Defs.gmk
+===================================================================
+--- openjdk.orig/jdk/make/common/Defs.gmk      2009-09-29 13:48:33.590565061 +0200
++++ openjdk/jdk/make/common/Defs.gmk   2009-09-29 13:57:14.450815511 +0200
+@@ -662,11 +662,11 @@
+ # Tool flags
+ #
+ ASFLAGS         = $(ASFLAGS_$(VARIANT)) $(ASFLAGS_COMMON) $(OTHER_ASFLAGS)
+-CFLAGS          = $(CFLAGS_$(VARIANT)/BYFILE)   $(CFLAGS_COMMON) $(OTHER_CFLAGS)
+-CXXFLAGS        = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS)
+-CPPFLAGS        = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) \
++CFLAGS          = $(CFLAGS_$(VARIANT)/BYFILE)   $(CFLAGS_COMMON) $(OTHER_CFLAGS) $(OE_CFLAGS)
++CXXFLAGS        = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS) $(OE_CXXFLAGS)
++CPPFLAGS        = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) $(OE_CPPFLAGS) \
+                 $(DEFINES) $(OPTIONS:%=-D%)
+-LDFLAGS         = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS)
++LDFLAGS         = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS) $(OE_LDFLAGS)
+ LDLIBS          = $(OTHER_LDLIBS) $(LDLIBS_$(VARIANT)) $(LDLIBS_COMMON)
+ LINTFLAGS       = $(LINTFLAGS_$(VARIANT)) $(LINTFLAGS_COMMON) \
+                 $(OTHER_LINTFLAGS)
+Index: openjdk/hotspot/make/linux/makefiles/vm.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/vm.make  2009-09-29 13:48:34.098565716 +0200
++++ openjdk/hotspot/make/linux/makefiles/vm.make       2009-09-29 13:57:14.450815511 +0200
+@@ -170,6 +170,7 @@
+ LIBS_VM   += $(LLVM_LIBS)
+ endif
++LFLAGS_VM = $(OE_LDFLAGS)
+ LINK_VM = $(LINK_LIB.c)
+ # rule for building precompiled header
+Index: openjdk/jdk/src/solaris/native/sun/awt/CUPSfuncs.c
+===================================================================
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/CUPSfuncs.c    2009-04-24 09:34:34.000000000 +0200
++++ openjdk/jdk/src/solaris/native/sun/awt/CUPSfuncs.c 2009-09-29 13:57:14.450815511 +0200
+@@ -26,8 +26,10 @@
+ #include <jni.h>
+ #include <jni_util.h>
+ #include <dlfcn.h>
++#if 0
+ #include <cups/cups.h>
+ #include <cups/ppd.h>
++#endif
+ //#define CUPS_DEBUG
+@@ -37,6 +39,7 @@
+ #define DPRINTF(x, y)
+ #endif
++#if 0
+ typedef const char* (*fn_cupsServer)(void);
+ typedef int (*fn_ippPort)(void);
+ typedef http_t* (*fn_httpConnect)(const char *, int);
+@@ -56,7 +59,7 @@
+ fn_ppdClose j2d_ppdClose;
+ fn_ppdFindOption j2d_ppdFindOption;
+ fn_ppdPageSize j2d_ppdPageSize;
+-
++#endif
+ /*
+  * Initialize library functions.
+@@ -65,6 +68,7 @@
+ JNIEXPORT jboolean JNICALL
+ Java_sun_print_CUPSPrinter_initIDs(JNIEnv *env,
+                                          jobject printObj) {
++#if 0
+   void *handle = dlopen("libcups.so.2", RTLD_LAZY | RTLD_GLOBAL);
+   if (handle == NULL) {
+@@ -131,6 +135,8 @@
+   }
+   return JNI_TRUE;
++#endif
++      return JNI_FALSE;
+ }
+ /*
+@@ -141,6 +147,7 @@
+ Java_sun_print_CUPSPrinter_getCupsServer(JNIEnv *env,
+                                          jobject printObj)
+ {
++#if 0
+     jstring cServer = NULL;
+     const char* server = j2d_cupsServer();
+     if (server != NULL) {
+@@ -152,6 +159,8 @@
+         }
+     }
+     return cServer;
++#endif
++      return NULL;
+ }
+ /*
+@@ -162,8 +171,11 @@
+ Java_sun_print_CUPSPrinter_getCupsPort(JNIEnv *env,
+                                          jobject printObj)
+ {
++#if 0
+     int port = j2d_ippPort();
+     return (jint) port;
++#endif
++      return 0;
+ }
+@@ -177,6 +189,7 @@
+                                       jstring server,
+                                       jint port)
+ {
++#if 0
+     const char *serverName;
+     serverName = (*env)->GetStringUTFChars(env, server, NULL);
+     if (serverName != NULL) {
+@@ -187,6 +200,7 @@
+             return JNI_TRUE;
+         }
+     }
++#endif
+     return JNI_FALSE;
+ }
+@@ -199,6 +213,7 @@
+                                          jobject printObj,
+                                          jstring printer)
+ {
++#if 0
+     ppd_file_t *ppd;
+     ppd_option_t *optionTray, *optionPage;
+     ppd_choice_t *choice;
+@@ -304,6 +319,8 @@
+     j2d_ppdClose(ppd);
+     unlink(filename);
+     return nameArray;
++#endif
++      return NULL;
+ }
+@@ -315,6 +332,7 @@
+                                          jobject printObj,
+                                          jstring printer)
+ {
++#if 0
+     ppd_file_t *ppd;
+     ppd_option_t *option;
+     ppd_choice_t *choice;
+@@ -374,4 +392,6 @@
+     j2d_ppdClose(ppd);
+     unlink(filename);
+     return sizeArray;
++#endif
++      return NULL;
+ }
+Index: openjdk/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java
+===================================================================
+--- openjdk.orig/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java  2009-04-24 09:34:17.000000000 +0200
++++ openjdk/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java       2009-09-29 13:57:14.454815276 +0200
+@@ -244,6 +244,8 @@
+                  * that might be specified.
+                  */
+                 fontConfig = createFontConfiguration();
++                                                              if (fontConfig == null)
++                                                                      return null;
+                 getPlatformFontPathFromFontConfig();
+                 String extraFontPath = fontConfig.getExtraFontPath();
+Index: openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java
+===================================================================
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java   2009-04-24 09:34:33.000000000 +0200
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java        2009-09-29 13:57:14.454815276 +0200
+@@ -899,7 +899,8 @@
+     // Implements SunGraphicsEnvironment.createFontConfiguration.
+     protected FontConfiguration createFontConfiguration() {
+-        return new MFontConfiguration(this);
++//        return new MFontConfiguration(this);
++                      return null;
+     }
+     public FontConfiguration
+         createFontConfiguration(boolean preferLocaleFonts,
+Index: openjdk/jdk/make/launchers/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/launchers/Makefile   2009-09-29 13:48:33.490815135 +0200
++++ openjdk/jdk/make/launchers/Makefile        2009-09-29 13:57:14.454815276 +0200
+@@ -57,7 +57,7 @@
+ endif
+ # Run MAKE $@ for all generic launchers
+ define make-all-launchers
+-$(call make-launcher, appletviewer, sun.applet.Main, , )
++#$(call make-launcher, appletviewer, sun.applet.Main, , )
+ $(call make-launcher, apt, com.sun.tools.apt.Main, , )
+ $(call make-launcher, extcheck, com.sun.tools.extcheck.Main, , )
+ $(call make-launcher, idlj, com.sun.tools.corba.se.idl.toJavaPortable.Compile, , )
+@@ -93,7 +93,7 @@
+   -J-Dcom.sun.CORBA.activation.Port=1049 \
+   -J-Dcom.sun.CORBA.POA.ORBServerId=1, )
+ $(call make-launcher, pack200, com.sun.java.util.jar.pack.Driver, , --pack)
+-$(call make-launcher, policytool, sun.security.tools.PolicyTool, , )
++#$(call make-launcher, policytool, sun.security.tools.PolicyTool, , )
+ $(call make-launcher, rmic, sun.rmi.rmic.Main, , )
+ $(call make-launcher, rmid, sun.rmi.server.Activation, , )
+ $(call make-launcher, rmiregistry, sun.rmi.registry.RegistryImpl, , )
diff --git a/recipes/icedtea/icedtea6-native-1.7.3/icedtea-ecj-disable-sanitychecks.patch b/recipes/icedtea/icedtea6-native-1.7.3/icedtea-ecj-disable-sanitychecks.patch
new file mode 100644 (file)
index 0000000..1dbdd80
--- /dev/null
@@ -0,0 +1,76 @@
+Index: openjdk-ecj/jdk/make/common/shared/Sanity.gmk
+===================================================================
+--- openjdk-ecj/jdk/make/common/shared/Sanity.gmk.orig 2009-07-18 00:55:46.924662599 +0200
++++ openjdk-ecj/jdk/make/common/shared/Sanity.gmk      2009-07-18 01:00:50.241296356 +0200
+@@ -1,3 +1,4 @@
++# BLA
+ #
+ # Copyright 2005-2007 Sun Microsystems, Inc.  All Rights Reserved.
+ # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+@@ -80,8 +81,8 @@
+       ALSA_VERSION = 1.0.0
+     else
+       # dummy program that outputs ALSA's version (created in target sane-alsa-versioncheck)
+-      ALSA_VERSION_CHECK = $(TEMPDIR)/alsaversioncheck
+-      ALSA_VERSION = `if [ -f "$(ALSA_VERSION_CHECK)" ] ; then $(ALSA_VERSION_CHECK) ; fi`
++#      ALSA_VERSION_CHECK = $(TEMPDIR)/alsaversioncheck
++#      ALSA_VERSION = `if [ -f "$(ALSA_VERSION_CHECK)" ] ; then $(ALSA_VERSION_CHECK) ; fi`
+     endif
+   endif
+ endif
+@@ -131,11 +132,7 @@
+ ifndef CROSS_COMPILATION
+ MORE_PHONY_RULES = \
+-      sane-freetype \
+-  sane-cups \
+-  sane-motif \
+-  sane-alsa-versioncheck \
+-  sane-alsa-headers
++      sane-freetype
+ endif
+ .PHONY: \
+Index: openjdk-ecj/jdk/make/common/Sanity.gmk
+===================================================================
+--- openjdk-ecj/jdk/make/common/Sanity.gmk.orig        2009-07-18 00:55:46.924662599 +0200
++++ openjdk-ecj/jdk/make/common/Sanity.gmk     2009-07-18 01:02:48.041771212 +0200
+@@ -95,10 +95,6 @@
+     sane-alt_bootdir \
+     sane-bootdir
+-ifndef CROSS_COMPILATION
+-sanity-all:: sane-alsa-headers
+-endif
+-
+ ifdef OPENJDK
+ sanity-all:: sane-freetype 
+ endif
+@@ -109,27 +105,6 @@
+     sane-motif
+ endif
+-# on Linux, only check motif path if we are not building it from scratch.
+-#   (Which only happens with a full control build. The control makefiles are
+-#    the files that set BUILD_MOTIF).
+-#   We cannot sanity check something that has not been built yet. 
+-ifndef CROSS_COMPILATION
+-  ifeq ($(PLATFORM), linux)
+-    ifneq ($(BUILD_MOTIF), true)
+-sanity-all:: \
+-  sane-motif
+-    endif
+-  endif
+-endif
+-
+-# Always check cups header paths on solaris & linux
+-ifndef CROSS_COMPILATION
+-  ifneq ($(PLATFORM), windows)
+-sanity-all:: \
+-    sane-cups
+-  endif
+-endif
+-
+ # Always check hotspot binary paths even if we are building them from scratch
+ HOTSPOT_IMPORT_CHECK=true
+ ifeq ($(HOTSPOT_IMPORT_CHECK),true)
diff --git a/recipes/icedtea/icedtea6-native-1.7.3/icedtea-ecj-fix-freetype.patch b/recipes/icedtea/icedtea6-native-1.7.3/icedtea-ecj-fix-freetype.patch
new file mode 100644 (file)
index 0000000..3420fbd
--- /dev/null
@@ -0,0 +1,13 @@
+Index: openjdk/jdk/make/tools/freetypecheck/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/tools/freetypecheck/Makefile 2009-09-29 13:48:33.590565061 +0200
++++ openjdk/jdk/make/tools/freetypecheck/Makefile      2009-09-29 14:00:04.470566156 +0200
+@@ -45,7 +45,7 @@
+   FT_OPTIONS  = $(CFLAGS)
+ endif
+-FT_OPTIONS += -I$(FT_HEADERS) -I$(FT_HEADERS)/freetype2
++FT_OPTIONS += -I$(FT_HEADERS) -I$(FT_HEADERS)/freetype2 $(FREETYPE2_CFLAGS) $(FREETYPE2_LIBS) $(FREETYPE2_HEADERS)
+ FT_OPTIONS += $(XARCH)
+ #add runtime library search path
diff --git a/recipes/icedtea/icedtea6-native-1.7.3/icedtea-ecj-fix-zlib.patch b/recipes/icedtea/icedtea6-native-1.7.3/icedtea-ecj-fix-zlib.patch
new file mode 100644 (file)
index 0000000..eff7e48
--- /dev/null
@@ -0,0 +1,61 @@
+Index: openjdk/jdk/make/com/sun/java/pack/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/com/sun/java/pack/Makefile   2009-09-29 13:48:34.538565136 +0200
++++ openjdk/jdk/make/com/sun/java/pack/Makefile        2009-09-29 14:00:26.226565853 +0200
+@@ -80,7 +80,7 @@
+   OTHER_LDLIBS += $(JVMLIB)
+ endif
+-OTHER_LDLIBS += -lz
++OTHER_LDLIBS += -L$(libdir) -lz
+ CXXFLAGS_DBG += -DFULL
+ CXXFLAGS_OPT += -DPRODUCT
+ CXXFLAGS_COMMON += -DFULL
+Index: openjdk/jdk/make/common/Defs.gmk
+===================================================================
+--- openjdk.orig/jdk/make/common/Defs.gmk      2009-09-29 13:57:14.450815511 +0200
++++ openjdk/jdk/make/common/Defs.gmk   2009-09-29 14:00:26.226565853 +0200
+@@ -289,7 +289,7 @@
+ endif # PROGRAM
+-LDLIBS_COMMON += $(EXTRA_LIBS)
++LDLIBS_COMMON += $(EXTRA_LIBS) -L$(libdir)
+ #
+ # Default is to build, not import native binaries
+@@ -425,7 +425,7 @@
+ CLASSDESTDIR = $(CLASSBINDIR)
+ endif
+-INCLUDES = -I. -I$(CLASSHDRDIR) \
++INCLUDES = -I$(includedir) -I. -I$(CLASSHDRDIR) \
+       $(patsubst %,-I%,$(subst $(CLASSPATH_SEPARATOR), ,$(VPATH.h))) $(OTHER_INCLUDES)
+ OTHER_CPPFLAGS = $(INCLUDES)
+Index: openjdk/jdk/make/common/Program.gmk
+===================================================================
+--- openjdk.orig/jdk/make/common/Program.gmk   2009-09-29 13:48:33.914565255 +0200
++++ openjdk/jdk/make/common/Program.gmk        2009-09-29 14:00:26.226565853 +0200
+@@ -73,7 +73,7 @@
+ # itself, as with all the Windows libraries.
+ #
+ ifneq (,$(findstring $(PLATFORM), linux solaris))     # UNIX systems
+-    LDFLAGS += -L $(LIBDIR)/$(LIBARCH)/jli
++    LDFLAGS += -L $(LIBDIR)/$(LIBARCH)/jli -L $(libdir)
+     OTHER_LDLIBS += -ljli
+     ifeq ($(PLATFORM), solaris)
+       ifeq ($(ARCH_DATA_MODEL), 32)
+Index: openjdk/jdk/make/java/jli/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/java/jli/Makefile    2009-09-29 13:48:33.806565054 +0200
++++ openjdk/jdk/make/java/jli/Makefile 2009-09-29 14:00:26.230565844 +0200
+@@ -61,7 +61,7 @@
+ ifneq (,$(findstring $(PLATFORM), linux solaris))     # UNIX systems
+       LIB_LOCATION = $(LIBDIR)/$(LIBARCH)/jli
+       # Guarantee very limited dependencies
+-      LDLIBS = -lz -lc 
++      LDLIBS = -L$(libdir) -lz -lc
+ endif
+ ifeq ($(PLATFORM), windows)
diff --git a/recipes/icedtea/icedtea6-native-1.7.3/icedtea-hotspot-make-arch-sane-for-x86.patch b/recipes/icedtea/icedtea6-native-1.7.3/icedtea-hotspot-make-arch-sane-for-x86.patch
new file mode 100644 (file)
index 0000000..9d7b9bb
--- /dev/null
@@ -0,0 +1,1130 @@
+From b8a51665ada45e3beb0823c03c025d5514f5e745 Mon Sep 17 00:00:00 2001
+From: woglinde <woglinde@rhein.zuhause.netz>
+Date: Thu, 22 Oct 2009 16:35:25 +0200
+Subject: [PATCH] hotspot: make arch sane for x86
+
+diff --git openjdk/hotspot/agent/make/saenv.sh openjdk/hotspot/agent/make/saenv.sh
+index 38e0f78..64c8410 100644
+--- openjdk/hotspot/agent/make/saenv.sh
++++ openjdk/hotspot/agent/make/saenv.sh
+@@ -43,9 +43,9 @@ if [ "$OS" = "Linux" ]; then
+      OPTIONS="-Dsa.library.path=$SA_LIBPATH"
+      CPU=amd64
+    else
+-     SA_LIBPATH=$STARTDIR/../src/os/linux/i386:$STARTDIR/linux/i386
++     SA_LIBPATH=$STARTDIR/../src/os/linux/x86:$STARTDIR/linux/x86
+      OPTIONS="-Dsa.library.path=$SA_LIBPATH"
+-     CPU=i386
++     CPU=x86
+    fi
+ else
+    SA_LIBPATH=$STARTDIR/../src/os/solaris/proc/`uname -p`:$STARTDIR/solaris/`uname -p`
+diff --git openjdk/hotspot/make/defs.make openjdk/hotspot/make/defs.make
+index 83ddd1a..c20c7eb 100644
+--- openjdk/hotspot/make/defs.make
++++ openjdk/hotspot/make/defs.make
+@@ -207,7 +207,7 @@ ifneq ($(OSNAME),windows)
+     ifdef LP64
+       BUILDARCH = amd64
+     else
+-      BUILDARCH = i486
++      BUILDARCH = x86
+     endif
+   endif
+   ifeq ($(BUILDARCH), sparc)
+@@ -218,7 +218,7 @@ ifneq ($(OSNAME),windows)
+   # LIBARCH is 1:1 mapping from BUILDARCH
+   LIBARCH         = $(LIBARCH/$(BUILDARCH))
+-  LIBARCH/i486    = i386
++  LIBARCH/x86     = x86
+   LIBARCH/amd64   = amd64
+   LIBARCH/sparc   = sparc
+   LIBARCH/sparcv9 = sparcv9
+diff --git openjdk/hotspot/make/jprt.config openjdk/hotspot/make/jprt.config
+index bc82543..4a1ef4e 100644
+--- openjdk/hotspot/make/jprt.config
++++ openjdk/hotspot/make/jprt.config
+@@ -111,7 +111,7 @@ elif [ "${osname}" = Linux ] ; then
+     # LINUX: X86, AMD64
+     osarch=`uname -m`
+     if [ "${osarch}" = i686 ] ; then
+-      linux_arch=i586
++      linux_arch=x86
+     elif [ "${osarch}" = x86_64 ] ; then
+       linux_arch=amd64
+     fi
+diff --git openjdk/hotspot/make/jprt.properties openjdk/hotspot/make/jprt.properties
+index eb2ce82..7193de0 100644
+--- openjdk/hotspot/make/jprt.properties
++++ openjdk/hotspot/make/jprt.properties
+@@ -70,7 +70,7 @@ jprt.my.solaris.x64.jdk6u10=solaris_x64_5.10
+ jprt.my.solaris.x64.jdk6u14=solaris_x64_5.10
+ jprt.my.solaris.x64=${jprt.my.solaris.x64.${jprt.tools.default.release}}
+-jprt.my.linux.i586=linux_i586
++jprt.my.linux.x86=linux_x86
+ jprt.my.linux.x64=linux_x64
+ jprt.my.windows.i586=windows_i586
+ jprt.my.windows.x64=windows_x64
+@@ -201,30 +201,30 @@ jprt.my.solaris.i586.test.targets= \
+     ${jprt.my.solaris.i586}-{product|fastdebug}-{c1|c2}-scimark_2, \
+     ${jprt.my.solaris.i586}-{product|fastdebug}-{c1|c2}-scimark_3
+-jprt.my.linux.i586.test.targets = \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-jvm98, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-scimark, \
+-    ${jprt.my.linux.i586}-product-c1-runThese_Xcomp, \
+-    ${jprt.my.linux.i586}-product-c1-runThese_Xcomp_2, \
+-    ${jprt.my.linux.i586}-product-c1-runThese_Xcomp_3, \
+-    ${jprt.my.linux.i586}-fastdebug-c1-runThese_Xshare, \
+-    ${jprt.my.linux.i586}-fastdebug-c2-runThese_Xcomp, \
+-    ${jprt.my.linux.i586}-fastdebug-c2-runThese_Xcomp_2, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_default, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_SerialGC, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_ParallelGC, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_ParNewGC, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_CMS, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_default, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_SerialGC, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_ParallelGC, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_ParNewGC, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_CMS, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_default, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_ParallelGC, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_CMS, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c2-scimark_2, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c2-scimark_3
++jprt.my.linux.x86.test.targets = \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-jvm98, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-scimark, \
++    ${jprt.my.linux.x86}-product-c1-runThese_Xcomp, \
++    ${jprt.my.linux.x86}-product-c1-runThese_Xcomp_2, \
++    ${jprt.my.linux.x86}-product-c1-runThese_Xcomp_3, \
++    ${jprt.my.linux.x86}-fastdebug-c1-runThese_Xshare, \
++    ${jprt.my.linux.x86}-fastdebug-c2-runThese_Xcomp, \
++    ${jprt.my.linux.x86}-fastdebug-c2-runThese_Xcomp_2, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_default, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_SerialGC, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_ParallelGC, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_ParNewGC, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_CMS, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_default, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_SerialGC, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_ParallelGC, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_ParNewGC, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_CMS, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_default, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_ParallelGC, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_CMS, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c2-scimark_2, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c2-scimark_3
+ jprt.my.linux.x64.test.targets = \
+     ${jprt.my.linux.x64}-{product|fastdebug}-c2-jvm98, \
+@@ -294,7 +294,7 @@ jprt.test.targets = \
+   ${jprt.my.solaris.sparcv9.test.targets}, \
+   ${jprt.my.solaris.i586.test.targets}, \
+   ${jprt.my.solaris.x64.test.targets}, \
+-  ${jprt.my.linux.i586.test.targets}, \
++  ${jprt.my.linux.x86.test.targets}, \
+   ${jprt.my.linux.x64.test.targets}, \
+   ${jprt.my.windows.i586.test.targets}, \
+   ${jprt.my.windows.x64.test.targets}
+diff --git openjdk/hotspot/make/linux/build.sh openjdk/hotspot/make/linux/build.sh
+index e317fdd..5d3b1ff 100644
+--- openjdk/hotspot/make/linux/build.sh
++++ openjdk/hotspot/make/linux/build.sh
+@@ -43,7 +43,7 @@ esac
+ case `uname -m` in
+   i386|i486|i586|i686)
+-    mach=i386
++    mach=x86
+     ;;
+   *)
+     echo "Unsupported machine: " `uname -m`
+diff --git openjdk/hotspot/make/linux/makefiles/buildtree.make openjdk/hotspot/make/linux/makefiles/buildtree.make
+index add9823..cbbf81f 100644
+--- openjdk/hotspot/make/linux/makefiles/buildtree.make
++++ openjdk/hotspot/make/linux/makefiles/buildtree.make
+@@ -30,7 +30,7 @@
+ # The macros ARCH, GAMMADIR, OS_FAMILY and VARIANT must be defined in the
+ # environment or on the command-line:
+ #
+-# ARCH                - sparc, i486, ... HotSpot cpu and os_cpu source directory
++# ARCH                - sparc, x86, ... HotSpot cpu and os_cpu source directory
+ # BUILDARCH     - build directory
+ # LIBARCH       - the corresponding directory in JDK/JRE
+ # GAMMADIR    - top of workspace
+@@ -316,7 +316,7 @@ NO_JAVA_HOME_MSG   = \
+ DATA_MODE = $(DATA_MODE/$(BUILDARCH))
+ JAVA_FLAG = $(JAVA_FLAG/$(DATA_MODE))
+-DATA_MODE/i486    = 32
++DATA_MODE/x86     = 32
+ DATA_MODE/sparc   = 32
+ DATA_MODE/sparcv9 = 64
+ DATA_MODE/amd64   = 64
+diff --git openjdk/hotspot/make/linux/makefiles/cscope.make openjdk/hotspot/make/linux/makefiles/cscope.make
+index 113d4f8..d3f06cb 100644
+--- openjdk/hotspot/make/linux/makefiles/cscope.make
++++ openjdk/hotspot/make/linux/makefiles/cscope.make
+@@ -78,7 +78,7 @@ endif
+ # Processor-specific files for other processors are excluded by default.  Use
+ # CS_CPU=x to include platform-specific files for other platforms.
+ ifndef        CS_CPU
+-CS_CPU                = i486 sparc amd64 ia64
++CS_CPU                = x86 sparc amd64 ia64
+ CS_PRUNE_CPU  = $(patsubst %,-o -name '*%*',$(filter-out ${SRCARCH},${CS_CPU}))
+ endif
+diff --git openjdk/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make
+index 9131c79..138dfb3 100644
+--- openjdk/hotspot/make/linux/makefiles/defs.make
++++ openjdk/hotspot/make/linux/makefiles/defs.make
+@@ -85,6 +85,14 @@ ifeq ($(ARCH), sparc)
+   HS_ARCH          = sparc
+ endif
++# x86
++ifeq ($(findstring 86,$(ARCH)), 86)
++  ARCH_DATA_MODEL  = 32
++  PLATFORM         = linux-x86
++  VM_PLATFORM      = linux_x86
++  HS_ARCH          = x86
++endif
++
+ # x86_64
+ ifeq ($(ARCH), x86_64) 
+   ifeq ($(ARCH_DATA_MODEL), 64)
+@@ -95,22 +103,12 @@ ifeq ($(ARCH), x86_64)
+     HS_ARCH         = x86
+   else
+     ARCH_DATA_MODEL = 32
+-    PLATFORM        = linux-i586
+-    VM_PLATFORM     = linux_i486
++    PLATFORM        = linux-x86
++    VM_PLATFORM     = linux_x86
+     HS_ARCH         = x86
+-    # We have to reset ARCH to i686 since SRCARCH relies on it
+-    ARCH            = i686   
+   endif
+ endif
+-# i686
+-ifeq ($(ARCH), i686)
+-  ARCH_DATA_MODEL  = 32
+-  PLATFORM         = linux-i586
+-  VM_PLATFORM      = linux_i486
+-  HS_ARCH          = x86
+-endif
+-
+ JDK_INCLUDE_SUBDIR=linux
+ # FIXUP: The subdirectory for a debug build is NOT the same on all platforms
+diff --git openjdk/hotspot/make/linux/makefiles/sparcWorks.make openjdk/hotspot/make/linux/makefiles/sparcWorks.make
+index 0a9f75b..2e29bb9 100644
+--- openjdk/hotspot/make/linux/makefiles/sparcWorks.make
++++ openjdk/hotspot/make/linux/makefiles/sparcWorks.make
+@@ -30,7 +30,7 @@ CC  = cc
+ AS  = $(CC) -c
+ ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
+-ARCHFLAG/i486    = -m32
++ARCHFLAG/x86    = -m32
+ ARCHFLAG/amd64   = -m64
+ CFLAGS     += $(ARCHFLAG)
+diff --git openjdk/hotspot/make/linux/platform_i486 openjdk/hotspot/make/linux/platform_i486
+deleted file mode 100644
+index 610ac91..0000000
+--- openjdk/hotspot/make/linux/platform_i486
++++ /dev/null
+@@ -1,15 +0,0 @@
+-os_family = linux
+-
+-arch = x86
+-
+-arch_model = x86_32
+-
+-os_arch = linux_x86
+-
+-os_arch_model = linux_x86_32
+-
+-lib_arch = i386
+-
+-compiler = gcc
+-
+-sysdefs = -DLINUX -D_GNU_SOURCE -DIA32
+diff --git openjdk/hotspot/make/linux/platform_i486.suncc openjdk/hotspot/make/linux/platform_i486.suncc
+index 325a3fe..717fc75 100644
+--- openjdk/hotspot/make/linux/platform_i486.suncc
++++ openjdk/hotspot/make/linux/platform_i486.suncc
+@@ -8,10 +8,10 @@ os_arch = linux_x86
+ os_arch_model = linux_x86_32
+-lib_arch = i386
++lib_arch = x86
+ compiler = sparcWorks
+-gnu_dis_arch = i386
++gnu_dis_arch = x86
+ sysdefs = -DLINUX -DSPARC_WORKS -D_GNU_SOURCE -DIA32
+diff --git openjdk/hotspot/make/linux/platform_x86 openjdk/hotspot/make/linux/platform_x86
+new file mode 100644
+index 0000000..5c613fe
+--- /dev/null
++++ openjdk/hotspot/make/linux/platform_x86
+@@ -0,0 +1,15 @@
++os_family = linux
++
++arch = x86
++
++arch_model = x86_32
++
++os_arch = linux_x86
++
++os_arch_model = linux_x86_32
++
++lib_arch = x86
++
++compiler = gcc
++
++sysdefs = -DLINUX -D_GNU_SOURCE -DIA32
+diff --git openjdk/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+index b2b3162..a4bbe70 100644
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+@@ -164,7 +164,7 @@ bool os::have_special_privileges() {
+ // i386: 224, ia64: 1105, amd64: 186, sparc 143
+ #ifdef __ia64__
+ #define SYS_gettid 1105
+-#elif __i386__
++#elif __x86__
+ #define SYS_gettid 224
+ #elif __amd64__
+ #define SYS_gettid 186
+@@ -181,7 +181,7 @@ static char cpu_arch[] = ZERO_LIBARCH;
+ #elif defined(IA64)
+ static char cpu_arch[] = "ia64";
+ #elif defined(IA32)
+-static char cpu_arch[] = "i386";
++static char cpu_arch[] = "x86";
+ #elif defined(AMD64)
+ static char cpu_arch[] = "amd64";
+ #elif defined(SPARC)
+diff --git openjdk/hotspot/src/share/tools/hsdis/Makefile openjdk/hotspot/src/share/tools/hsdis/Makefile
+index 6bdf4b8..fd43c6e 100644
+--- openjdk/hotspot/src/share/tools/hsdis/Makefile
++++ openjdk/hotspot/src/share/tools/hsdis/Makefile
+@@ -32,7 +32,7 @@ BINUTILS     = $(shell cd ../../../../..;pwd)/binutils-2.17-$(LIBARCH)
+ endif
+ # Default arch; it is changed below as needed.
+-ARCH          = i386
++ARCH          = x86
+ OS            = $(shell uname)
+ CPPFLAGS      += -I$(BINUTILS)/include -I$(BINUTILS)/bfd
+@@ -87,7 +87,7 @@ endif        # SunOS
+ LIBARCH               = $(ARCH)
+ ifdef         LP64
+ LIBARCH64/sparc       = sparcv9
+-LIBARCH64/i386        = amd64
++LIBARCH64/x86 = amd64
+ LIBARCH64     = $(LIBARCH64/$(ARCH))
+ ifneq         ($(LIBARCH64),)
+ LIBARCH               = $(LIBARCH64)
+diff --git openjdk/hotspot/src/share/tools/hsdis/hsdis.c openjdk/hotspot/src/share/tools/hsdis/hsdis.c
+index 75b7efe..62c692b 100644
+--- openjdk/hotspot/src/share/tools/hsdis/hsdis.c
++++ openjdk/hotspot/src/share/tools/hsdis/hsdis.c
+@@ -383,8 +383,8 @@ static void print_help(struct hsdis_app_data* app_data,
+   else
+     disassembler_usage(stderr); /* better than nothing */
+   (*printf_callback)(printf_stream, "  mach=<arch>   select disassembly mode\n");
+-#if defined(LIBARCH_i386) || defined(LIBARCH_amd64)
+-  (*printf_callback)(printf_stream, "  mach=i386     select 32-bit mode\n");
++#if defined(LIBARCH_x86) || defined(LIBARCH_amd64)
++  (*printf_callback)(printf_stream, "  mach=x86      select 32-bit mode\n");
+   (*printf_callback)(printf_stream, "  mach=x86-64   select 64-bit mode\n");
+   (*printf_callback)(printf_stream, "  suffix        always print instruction suffix\n");
+ #endif
+@@ -406,7 +406,7 @@ static const bfd_arch_info_type* find_arch_info(const char* arch_name) {
+ static const char* native_arch_name() {
+   const char* res = HOTSPOT_LIB_ARCH;
+ #ifdef LIBARCH_amd64
+-    res = "i386:x86-64";
++    res = "x86:x86-64";
+ #endif
+ #ifdef LIBARCH_sparc
+     res = "sparc:v8plusb";
+diff --git openjdk/hotspot/test/Makefile openjdk/hotspot/test/Makefile
+index 2596d85..c2f3eb9 100644
+--- openjdk/hotspot/test/Makefile
++++ openjdk/hotspot/test/Makefile
+@@ -33,14 +33,14 @@ ifeq ($(OSNAME), SunOS)
+   PLATFORM = solaris
+   ARCH = $(shell uname -p)
+   ifeq ($(ARCH), i386)
+-    ARCH=i586
++    ARCH=x86
+   endif
+ endif
+ ifeq ($(OSNAME), Linux)
+   PLATFORM = linux
+   ARCH = $(shell uname -m)
+-  ifeq ($(ARCH), i386)
+-    ARCH = i586
++  ifeq ($(findstring 86,$(ARCH)), 86)
++    ARCH = x86
+   endif
+ endif
+ ifeq ($(OSNAME), Windows_NT)
+@@ -55,7 +55,7 @@ ifeq ($(OSNAME), Windows_NT)
+       ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),EM64T)
+         ARCH = x64
+       else
+-        ARCH = i586
++        ARCH = x86
+       endif
+     endif
+   endif
+diff --git openjdk/hotspot/agent/make/saenv.sh openjdk/hotspot/agent/make/saenv.sh
+index 38e0f78..64c8410 100644
+--- openjdk/hotspot/agent/make/saenv.sh
++++ openjdk/hotspot/agent/make/saenv.sh
+@@ -43,9 +43,9 @@ if [ "$OS" = "Linux" ]; then
+      OPTIONS="-Dsa.library.path=$SA_LIBPATH"
+      CPU=amd64
+    else
+-     SA_LIBPATH=$STARTDIR/../src/os/linux/i386:$STARTDIR/linux/i386
++     SA_LIBPATH=$STARTDIR/../src/os/linux/x86:$STARTDIR/linux/x86
+      OPTIONS="-Dsa.library.path=$SA_LIBPATH"
+-     CPU=i386
++     CPU=x86
+    fi
+ else
+    SA_LIBPATH=$STARTDIR/../src/os/solaris/proc/`uname -p`:$STARTDIR/solaris/`uname -p`
+diff --git openjdk/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c openjdk/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c
+index c4ca7de..54c12ca 100644
+--- openjdk/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c
++++ openjdk/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c
+@@ -29,7 +29,7 @@
+ #define amd64 1
+ #endif
+-#ifdef i386
++#ifdef x86
+ #include "sun_jvm_hotspot_debugger_x86_X86ThreadContext.h"
+ #endif
+@@ -295,7 +295,7 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLo
+   }
+ #undef NPRGREG
+-#ifdef i386
++#ifdef x86
+ #define NPRGREG sun_jvm_hotspot_debugger_x86_X86ThreadContext_NPRGREG
+ #endif
+ #ifdef ia64
+@@ -314,7 +314,7 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLo
+ #undef REG_INDEX
+-#ifdef i386
++#ifdef x86
+ #define REG_INDEX(reg) sun_jvm_hotspot_debugger_x86_X86ThreadContext_##reg
+   regs[REG_INDEX(GS)]  = (uintptr_t) gregs.xgs;
+@@ -333,7 +333,7 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLo
+   regs[REG_INDEX(CS)]  = (uintptr_t) gregs.xcs;
+   regs[REG_INDEX(SS)]  = (uintptr_t) gregs.xss;
+-#endif /* i386 */
++#endif /* x86 */
+ #if ia64
+   regs = (*env)->GetLongArrayElements(env, array, &isCopy);
+diff --git openjdk/hotspot/agent/src/os/linux/Makefile openjdk/hotspot/agent/src/os/linux/Makefile
+index a16f3a7..85fecb1 100644
+--- openjdk/hotspot/agent/src/os/linux/Makefile
++++ openjdk/hotspot/agent/src/os/linux/Makefile
+@@ -22,7 +22,7 @@
+ #  
+ #
+-ARCH := $(shell if ([ `uname -m` = "ia64" ])  ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi )
++ARCH := $(shell if ([ `uname -m` = "ia64" ])  ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo x86 ; fi )
+ GCC      = gcc$(GCC_SUFFIX)
+ JAVAH    = ${JAVA_HOME}/bin/javah
+diff --git openjdk/hotspot/agent/src/os/linux/ps_core.c openjdk/hotspot/agent/src/os/linux/ps_core.c
+index 3562f2d..47ab01b 100644
+--- openjdk/hotspot/agent/src/os/linux/ps_core.c
++++ openjdk/hotspot/agent/src/os/linux/ps_core.c
+@@ -540,7 +540,7 @@ static bool core_handle_prstatus(struct ps_prochandle* ph, const char* buf, size
+    if (is_debug()) {
+       print_debug("integer regset\n");
+-#ifdef i386
++#ifdef x86
+       // print the regset
+       print_debug("\teax = 0x%x\n", newthr->regs.eax);
+       print_debug("\tebx = 0x%x\n", newthr->regs.ebx);
+diff --git openjdk/hotspot/make/defs.make openjdk/hotspot/make/defs.make
+index 83ddd1a..c20c7eb 100644
+--- openjdk/hotspot/make/defs.make
++++ openjdk/hotspot/make/defs.make
+@@ -207,7 +207,7 @@ ifneq ($(OSNAME),windows)
+     ifdef LP64
+       BUILDARCH = amd64
+     else
+-      BUILDARCH = i486
++      BUILDARCH = x86
+     endif
+   endif
+   ifeq ($(BUILDARCH), sparc)
+@@ -218,7 +218,7 @@ ifneq ($(OSNAME),windows)
+   # LIBARCH is 1:1 mapping from BUILDARCH
+   LIBARCH         = $(LIBARCH/$(BUILDARCH))
+-  LIBARCH/i486    = i386
++  LIBARCH/x86     = x86
+   LIBARCH/amd64   = amd64
+   LIBARCH/sparc   = sparc
+   LIBARCH/sparcv9 = sparcv9
+diff --git openjdk/hotspot/make/jprt.config openjdk/hotspot/make/jprt.config
+index bc82543..4a1ef4e 100644
+--- openjdk/hotspot/make/jprt.config
++++ openjdk/hotspot/make/jprt.config
+@@ -111,7 +111,7 @@ elif [ "${osname}" = Linux ] ; then
+     # LINUX: X86, AMD64
+     osarch=`uname -m`
+     if [ "${osarch}" = i686 ] ; then
+-      linux_arch=i586
++      linux_arch=x86
+     elif [ "${osarch}" = x86_64 ] ; then
+       linux_arch=amd64
+     fi
+diff --git openjdk/hotspot/make/jprt.properties openjdk/hotspot/make/jprt.properties
+index eb2ce82..7193de0 100644
+--- openjdk/hotspot/make/jprt.properties
++++ openjdk/hotspot/make/jprt.properties
+@@ -70,7 +70,7 @@ jprt.my.solaris.x64.jdk6u10=solaris_x64_5.10
+ jprt.my.solaris.x64.jdk6u14=solaris_x64_5.10
+ jprt.my.solaris.x64=${jprt.my.solaris.x64.${jprt.tools.default.release}}
+-jprt.my.linux.i586=linux_i586
++jprt.my.linux.x86=linux_x86
+ jprt.my.linux.x64=linux_x64
+ jprt.my.windows.i586=windows_i586
+ jprt.my.windows.x64=windows_x64
+@@ -201,30 +201,30 @@ jprt.my.solaris.i586.test.targets= \
+     ${jprt.my.solaris.i586}-{product|fastdebug}-{c1|c2}-scimark_2, \
+     ${jprt.my.solaris.i586}-{product|fastdebug}-{c1|c2}-scimark_3
+-jprt.my.linux.i586.test.targets = \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-jvm98, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-scimark, \
+-    ${jprt.my.linux.i586}-product-c1-runThese_Xcomp, \
+-    ${jprt.my.linux.i586}-product-c1-runThese_Xcomp_2, \
+-    ${jprt.my.linux.i586}-product-c1-runThese_Xcomp_3, \
+-    ${jprt.my.linux.i586}-fastdebug-c1-runThese_Xshare, \
+-    ${jprt.my.linux.i586}-fastdebug-c2-runThese_Xcomp, \
+-    ${jprt.my.linux.i586}-fastdebug-c2-runThese_Xcomp_2, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_default, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_SerialGC, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_ParallelGC, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_ParNewGC, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_CMS, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_default, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_SerialGC, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_ParallelGC, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_ParNewGC, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_CMS, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_default, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_ParallelGC, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_CMS, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c2-scimark_2, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c2-scimark_3
++jprt.my.linux.x86.test.targets = \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-jvm98, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-scimark, \
++    ${jprt.my.linux.x86}-product-c1-runThese_Xcomp, \
++    ${jprt.my.linux.x86}-product-c1-runThese_Xcomp_2, \
++    ${jprt.my.linux.x86}-product-c1-runThese_Xcomp_3, \
++    ${jprt.my.linux.x86}-fastdebug-c1-runThese_Xshare, \
++    ${jprt.my.linux.x86}-fastdebug-c2-runThese_Xcomp, \
++    ${jprt.my.linux.x86}-fastdebug-c2-runThese_Xcomp_2, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_default, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_SerialGC, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_ParallelGC, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_ParNewGC, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_CMS, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_default, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_SerialGC, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_ParallelGC, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_ParNewGC, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_CMS, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_default, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_ParallelGC, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_CMS, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c2-scimark_2, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c2-scimark_3
+ jprt.my.linux.x64.test.targets = \
+     ${jprt.my.linux.x64}-{product|fastdebug}-c2-jvm98, \
+@@ -294,7 +294,7 @@ jprt.test.targets = \
+   ${jprt.my.solaris.sparcv9.test.targets}, \
+   ${jprt.my.solaris.i586.test.targets}, \
+   ${jprt.my.solaris.x64.test.targets}, \
+-  ${jprt.my.linux.i586.test.targets}, \
++  ${jprt.my.linux.x86.test.targets}, \
+   ${jprt.my.linux.x64.test.targets}, \
+   ${jprt.my.windows.i586.test.targets}, \
+   ${jprt.my.windows.x64.test.targets}
+diff --git openjdk/hotspot/make/linux/build.sh openjdk/hotspot/make/linux/build.sh
+index e317fdd..5d3b1ff 100644
+--- openjdk/hotspot/make/linux/build.sh
++++ openjdk/hotspot/make/linux/build.sh
+@@ -43,7 +43,7 @@ esac
+ case `uname -m` in
+   i386|i486|i586|i686)
+-    mach=i386
++    mach=x86
+     ;;
+   *)
+     echo "Unsupported machine: " `uname -m`
+diff --git openjdk/hotspot/make/linux/makefiles/buildtree.make openjdk/hotspot/make/linux/makefiles/buildtree.make
+index add9823..cbbf81f 100644
+--- openjdk/hotspot/make/linux/makefiles/buildtree.make
++++ openjdk/hotspot/make/linux/makefiles/buildtree.make
+@@ -30,7 +30,7 @@
+ # The macros ARCH, GAMMADIR, OS_FAMILY and VARIANT must be defined in the
+ # environment or on the command-line:
+ #
+-# ARCH                - sparc, i486, ... HotSpot cpu and os_cpu source directory
++# ARCH                - sparc, x86, ... HotSpot cpu and os_cpu source directory
+ # BUILDARCH     - build directory
+ # LIBARCH       - the corresponding directory in JDK/JRE
+ # GAMMADIR    - top of workspace
+@@ -316,7 +316,7 @@ NO_JAVA_HOME_MSG   = \
+ DATA_MODE = $(DATA_MODE/$(BUILDARCH))
+ JAVA_FLAG = $(JAVA_FLAG/$(DATA_MODE))
+-DATA_MODE/i486    = 32
++DATA_MODE/x86     = 32
+ DATA_MODE/sparc   = 32
+ DATA_MODE/sparcv9 = 64
+ DATA_MODE/amd64   = 64
+diff --git openjdk/hotspot/make/linux/makefiles/cscope.make openjdk/hotspot/make/linux/makefiles/cscope.make
+index 113d4f8..d3f06cb 100644
+--- openjdk/hotspot/make/linux/makefiles/cscope.make
++++ openjdk/hotspot/make/linux/makefiles/cscope.make
+@@ -78,7 +78,7 @@ endif
+ # Processor-specific files for other processors are excluded by default.  Use
+ # CS_CPU=x to include platform-specific files for other platforms.
+ ifndef        CS_CPU
+-CS_CPU                = i486 sparc amd64 ia64
++CS_CPU                = x86 sparc amd64 ia64
+ CS_PRUNE_CPU  = $(patsubst %,-o -name '*%*',$(filter-out ${SRCARCH},${CS_CPU}))
+ endif
+diff --git openjdk/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make
+index 9131c79..138dfb3 100644
+--- openjdk/hotspot/make/linux/makefiles/defs.make
++++ openjdk/hotspot/make/linux/makefiles/defs.make
+@@ -85,6 +85,14 @@ ifeq ($(ARCH), sparc)
+   HS_ARCH          = sparc
+ endif
++# x86
++ifeq ($(findstring 86,$(ARCH)), 86)
++  ARCH_DATA_MODEL  = 32
++  PLATFORM         = linux-x86
++  VM_PLATFORM      = linux_x86
++  HS_ARCH          = x86
++endif
++
+ # x86_64
+ ifeq ($(ARCH), x86_64) 
+   ifeq ($(ARCH_DATA_MODEL), 64)
+@@ -95,22 +103,12 @@ ifeq ($(ARCH), x86_64)
+     HS_ARCH         = x86
+   else
+     ARCH_DATA_MODEL = 32
+-    PLATFORM        = linux-i586
+-    VM_PLATFORM     = linux_i486
++    PLATFORM        = linux-x86
++    VM_PLATFORM     = linux_x86
+     HS_ARCH         = x86
+-    # We have to reset ARCH to i686 since SRCARCH relies on it
+-    ARCH            = i686   
+   endif
+ endif
+-# i686
+-ifeq ($(ARCH), i686)
+-  ARCH_DATA_MODEL  = 32
+-  PLATFORM         = linux-i586
+-  VM_PLATFORM      = linux_i486
+-  HS_ARCH          = x86
+-endif
+-
+ JDK_INCLUDE_SUBDIR=linux
+ # FIXUP: The subdirectory for a debug build is NOT the same on all platforms
+diff --git openjdk/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
+index a2c24bc..27bad01 100644
+--- openjdk/hotspot/make/linux/makefiles/gcc.make
++++ openjdk/hotspot/make/linux/makefiles/gcc.make
+@@ -77,7 +77,7 @@ CFLAGS += -fcheck-new
+ CFLAGS += -g
+ ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
+-ARCHFLAG/i486    = -m32 -march=i586
++ARCHFLAG/x86    = -m32
+ ARCHFLAG/amd64   = -m64
+ ARCHFLAG/ia64    =
+ ARCHFLAG/sparc   = -m32 -mcpu=v9
+diff --git openjdk/hotspot/make/linux/makefiles/sparcWorks.make openjdk/hotspot/make/linux/makefiles/sparcWorks.make
+index 0a9f75b..2e29bb9 100644
+--- openjdk/hotspot/make/linux/makefiles/sparcWorks.make
++++ openjdk/hotspot/make/linux/makefiles/sparcWorks.make
+@@ -30,7 +30,7 @@ CC  = cc
+ AS  = $(CC) -c
+ ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
+-ARCHFLAG/i486    = -m32
++ARCHFLAG/x86    = -m32
+ ARCHFLAG/amd64   = -m64
+ CFLAGS     += $(ARCHFLAG)
+diff --git openjdk/hotspot/make/linux/platform_i486 openjdk/hotspot/make/linux/platform_i486
+deleted file mode 100644
+index 610ac91..0000000
+--- openjdk/hotspot/make/linux/platform_i486
++++ /dev/null
+@@ -1,15 +0,0 @@
+-os_family = linux
+-
+-arch = x86
+-
+-arch_model = x86_32
+-
+-os_arch = linux_x86
+-
+-os_arch_model = linux_x86_32
+-
+-lib_arch = i386
+-
+-compiler = gcc
+-
+-sysdefs = -DLINUX -D_GNU_SOURCE -DIA32
+diff --git openjdk/hotspot/make/linux/platform_i486.suncc openjdk/hotspot/make/linux/platform_i486.suncc
+deleted file mode 100644
+index 325a3fe..0000000
+--- openjdk/hotspot/make/linux/platform_i486.suncc
++++ /dev/null
+@@ -1,17 +0,0 @@
+-os_family = linux
+-
+-arch = x86
+-
+-arch_model = x86_32
+-
+-os_arch = linux_x86
+-
+-os_arch_model = linux_x86_32
+-
+-lib_arch = i386
+-
+-compiler = sparcWorks
+-
+-gnu_dis_arch = i386
+-
+-sysdefs = -DLINUX -DSPARC_WORKS -D_GNU_SOURCE -DIA32
+diff --git openjdk/hotspot/make/linux/platform_x86 openjdk/hotspot/make/linux/platform_x86
+new file mode 100644
+index 0000000..5c613fe
+--- /dev/null
++++ openjdk/hotspot/make/linux/platform_x86
+@@ -0,0 +1,15 @@
++os_family = linux
++
++arch = x86
++
++arch_model = x86_32
++
++os_arch = linux_x86
++
++os_arch_model = linux_x86_32
++
++lib_arch = x86
++
++compiler = gcc
++
++sysdefs = -DLINUX -D_GNU_SOURCE -DIA32
+diff --git openjdk/hotspot/make/linux/platform_x86.suncc openjdk/hotspot/make/linux/platform_x86.suncc
+new file mode 100644
+index 0000000..717fc75
+--- /dev/null
++++ openjdk/hotspot/make/linux/platform_x86.suncc
+@@ -0,0 +1,17 @@
++os_family = linux
++
++arch = x86
++
++arch_model = x86_32
++
++os_arch = linux_x86
++
++os_arch_model = linux_x86_32
++
++lib_arch = x86
++
++compiler = sparcWorks
++
++gnu_dis_arch = x86
++
++sysdefs = -DLINUX -DSPARC_WORKS -D_GNU_SOURCE -DIA32
+diff --git openjdk/hotspot/src/os/linux/launcher/java_md.c openjdk/hotspot/src/os/linux/launcher/java_md.c
+index 50a86cd..48141be 100644
+--- openjdk/hotspot/src/os/linux/launcher/java_md.c
++++ openjdk/hotspot/src/os/linux/launcher/java_md.c
+@@ -56,8 +56,8 @@
+  * models is supported, then DUAL_MODE is defined.  When DUAL_MODE is
+  * defined, the architecture names for the narrow and wide version of
+  * the architecture are defined in BIG_ARCH and SMALL_ARCH.  Currently
+- * only Solaris on sparc/sparcv9 and i586/amd64 is DUAL_MODE; linux
+- * i586/amd64 could be defined as DUAL_MODE but that is not the
++ * only Solaris on sparc/sparcv9 and x86/amd64 is DUAL_MODE; linux
++ * x86/amd64 could be defined as DUAL_MODE but that is not the
+  * current policy.
+  */
+@@ -75,8 +75,8 @@
+ #else /* 32-bit data model */
+-#  ifdef i586
+-#    define ARCH "i386"
++#  ifdef x86
++#    define ARCH "x86"
+ #  elif defined(__sparc)
+ #    define ARCH "sparc"
+ #  endif
+@@ -90,7 +90,7 @@
+ #    define SMALL_ARCH "sparc"
+ #  else
+ #    define BIG_ARCH "amd64"
+-#    define SMALL_ARCH "i386"
++#    define SMALL_ARCH "x86"
+ #  endif
+ #  include <sys/systeminfo.h>
+ #  include <sys/elf.h>
+@@ -1103,7 +1103,7 @@ void PrintMachineDependentOptions() {
+  * This code is somewhat more confused with #ifdef's than we'd
+  * like because this file is used by both Solaris and Linux
+  * platforms, and so needs to be parameterized for SPARC and
+- * i586 hardware.  The other Linux platforms (amd64 and ia64)
++ * x86 hardware.  The other Linux platforms (amd64 and ia64)
+  * don't even ask this question, because they only come with
+  * server JVMs.  */
+@@ -1168,11 +1168,11 @@ solaris_sparc_ServerClassMachine(void) {
+ #endif /* __sun && __sparc */
+-#if defined(__sun) && defined(i586)
++#if defined(__sun) && defined(x86)
+ /*
+  * A utility method for asking the CPU about itself.
+- * There's a corresponding version of linux-i586
++ * There's a corresponding version of linux-x86
+  * because the compilers are different.
+  */
+ void
+@@ -1218,13 +1218,13 @@ get_cpuid(uint32_t arg,
+ #endif
+ }
+-#endif /* __sun && i586 */
++#endif /* __sun && x86 */
+-#if defined(__linux__) && defined(i586)
++#if defined(__linux__) && defined(x86)
+ /*
+  * A utility method for asking the CPU about itself.
+- * There's a corresponding version of solaris-i586
++ * There's a corresponding version of solaris-x86
+  * because the compilers are different.
+  */
+ void
+@@ -1286,11 +1286,11 @@ get_cpuid(uint32_t arg,
+ #endif
+ }
+-#endif /* __linux__ && i586 */
++#endif /* __linux__ && x86 */
+-#ifdef i586
++#ifdef x86
+ /*
+- * Routines shared by solaris-i586 and linux-i586.
++ * Routines shared by solaris-x86 and linux-x86.
+  */
+ enum HyperThreadingSupport_enum {
+@@ -1430,11 +1430,11 @@ physical_processors(void) {
+   return result;
+ }
+-#endif /* i586 */
++#endif /* x86 */
+-#if defined(__sun) && defined(i586)
++#if defined(__sun) && defined(x86)
+-/* The definition of a server-class machine for solaris-i586/amd64 */
++/* The definition of a server-class machine for solaris-x86/amd64 */
+ jboolean
+ solaris_i586_ServerClassMachine(void) {
+   jboolean            result            = JNI_FALSE;
+@@ -1463,11 +1463,11 @@ solaris_i586_ServerClassMachine(void) {
+   return result;
+ }
+-#endif /* __sun && i586 */
++#endif /* __sun && x86 */
+-#if defined(__linux__) && defined(i586)
++#if defined(__linux__) && defined(x86)
+-/* The definition of a server-class machine for linux-i586 */
++/* The definition of a server-class machine for linux-x86 */
+ jboolean
+ linux_i586_ServerClassMachine(void) {
+   jboolean            result            = JNI_FALSE;
+@@ -1496,7 +1496,7 @@ linux_i586_ServerClassMachine(void) {
+   return result;
+ }
+-#endif /* __linux__ && i586 */
++#endif /* __linux__ && x86 */
+ /* Dispatch to the platform-specific definition of "server-class" */
+ jboolean
+@@ -1504,9 +1504,9 @@ ServerClassMachine(void) {
+   jboolean result = JNI_FALSE;
+ #if   defined(__sun) && defined(__sparc)
+   result = solaris_sparc_ServerClassMachine();
+-#elif defined(__sun) && defined(i586)
++#elif defined(__sun) && defined(x86)
+   result = solaris_i586_ServerClassMachine();
+-#elif defined(__linux__) && defined(i586)
++#elif defined(__linux__) && defined(x86)
+   result = linux_i586_ServerClassMachine();
+ #else
+   if (_launcher_debug) {
+diff --git openjdk/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+index b2b3162..a4bbe70 100644
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+@@ -164,7 +164,7 @@ bool os::have_special_privileges() {
+ // i386: 224, ia64: 1105, amd64: 186, sparc 143
+ #ifdef __ia64__
+ #define SYS_gettid 1105
+-#elif __i386__
++#elif __x86__
+ #define SYS_gettid 224
+ #elif __amd64__
+ #define SYS_gettid 186
+@@ -181,7 +181,7 @@ static char cpu_arch[] = ZERO_LIBARCH;
+ #elif defined(IA64)
+ static char cpu_arch[] = "ia64";
+ #elif defined(IA32)
+-static char cpu_arch[] = "i386";
++static char cpu_arch[] = "x86";
+ #elif defined(AMD64)
+ static char cpu_arch[] = "amd64";
+ #elif defined(SPARC)
+diff --git openjdk/hotspot/src/share/tools/hsdis/Makefile openjdk/hotspot/src/share/tools/hsdis/Makefile
+index 6bdf4b8..fd43c6e 100644
+--- openjdk/hotspot/src/share/tools/hsdis/Makefile
++++ openjdk/hotspot/src/share/tools/hsdis/Makefile
+@@ -32,7 +32,7 @@ BINUTILS     = $(shell cd ../../../../..;pwd)/binutils-2.17-$(LIBARCH)
+ endif
+ # Default arch; it is changed below as needed.
+-ARCH          = i386
++ARCH          = x86
+ OS            = $(shell uname)
+ CPPFLAGS      += -I$(BINUTILS)/include -I$(BINUTILS)/bfd
+@@ -87,7 +87,7 @@ endif        # SunOS
+ LIBARCH               = $(ARCH)
+ ifdef         LP64
+ LIBARCH64/sparc       = sparcv9
+-LIBARCH64/i386        = amd64
++LIBARCH64/x86 = amd64
+ LIBARCH64     = $(LIBARCH64/$(ARCH))
+ ifneq         ($(LIBARCH64),)
+ LIBARCH               = $(LIBARCH64)
+diff --git openjdk/hotspot/src/share/tools/hsdis/hsdis.c openjdk/hotspot/src/share/tools/hsdis/hsdis.c
+index 75b7efe..62c692b 100644
+--- openjdk/hotspot/src/share/tools/hsdis/hsdis.c
++++ openjdk/hotspot/src/share/tools/hsdis/hsdis.c
+@@ -383,8 +383,8 @@ static void print_help(struct hsdis_app_data* app_data,
+   else
+     disassembler_usage(stderr); /* better than nothing */
+   (*printf_callback)(printf_stream, "  mach=<arch>   select disassembly mode\n");
+-#if defined(LIBARCH_i386) || defined(LIBARCH_amd64)
+-  (*printf_callback)(printf_stream, "  mach=i386     select 32-bit mode\n");
++#if defined(LIBARCH_x86) || defined(LIBARCH_amd64)
++  (*printf_callback)(printf_stream, "  mach=x86      select 32-bit mode\n");
+   (*printf_callback)(printf_stream, "  mach=x86-64   select 64-bit mode\n");
+   (*printf_callback)(printf_stream, "  suffix        always print instruction suffix\n");
+ #endif
+@@ -406,7 +406,7 @@ static const bfd_arch_info_type* find_arch_info(const char* arch_name) {
+ static const char* native_arch_name() {
+   const char* res = HOTSPOT_LIB_ARCH;
+ #ifdef LIBARCH_amd64
+-    res = "i386:x86-64";
++    res = "x86:x86-64";
+ #endif
+ #ifdef LIBARCH_sparc
+     res = "sparc:v8plusb";
+diff --git openjdk/hotspot/src/share/vm/adlc/Test/i486.ad openjdk/hotspot/src/share/vm/adlc/Test/i486.ad
+deleted file mode 100644
+index e69de29..0000000
+diff --git openjdk/hotspot/src/share/vm/adlc/Test/x86.ad openjdk/hotspot/src/share/vm/adlc/Test/x86.ad
+new file mode 100644
+index 0000000..e69de29
+diff --git openjdk/hotspot/test/Makefile openjdk/hotspot/test/Makefile
+index 2596d85..c2f3eb9 100644
+--- openjdk/hotspot/test/Makefile
++++ openjdk/hotspot/test/Makefile
+@@ -33,14 +33,14 @@ ifeq ($(OSNAME), SunOS)
+   PLATFORM = solaris
+   ARCH = $(shell uname -p)
+   ifeq ($(ARCH), i386)
+-    ARCH=i586
++    ARCH=x86
+   endif
+ endif
+ ifeq ($(OSNAME), Linux)
+   PLATFORM = linux
+   ARCH = $(shell uname -m)
+-  ifeq ($(ARCH), i386)
+-    ARCH = i586
++  ifeq ($(findstring 86,$(ARCH)), 86)
++    ARCH = x86
+   endif
+ endif
+ ifeq ($(OSNAME), Windows_NT)
+@@ -55,7 +55,7 @@ ifeq ($(OSNAME), Windows_NT)
+       ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),EM64T)
+         ARCH = x64
+       else
+-        ARCH = i586
++        ARCH = x86
+       endif
+     endif
+   endif
+-- 
+1.6.5
+
+diff --git openjdk/hotspot/make/linux/makefiles/i486.make b/hotspot/make/linux/makefiles/i486.make
+deleted file mode 100644
+index 9dd0b44..0000000
+--- openjdk/hotspot/make/linux/makefiles/i486.make
++++ /dev/null
+@@ -1,36 +0,0 @@
+-#
+-# Copyright 1999-2008 Sun Microsystems, Inc.  All Rights Reserved.
+-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+-#
+-# This code is free software; you can redistribute it and/or modify it
+-# under the terms of the GNU General Public License version 2 only, as
+-# published by the Free Software Foundation.
+-#
+-# This code is distributed in the hope that it will be useful, but WITHOUT
+-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+-# version 2 for more details (a copy is included in the LICENSE file that
+-# accompanied this code).
+-#
+-# You should have received a copy of the GNU General Public License version
+-# 2 along with this work; if not, write to the Free Software Foundation,
+-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+-#
+-# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+-# CA 95054 USA or visit www.sun.com if you need additional information or
+-# have any questions.
+-#  
+-#
+-
+-# TLS helper, assembled from .s file
+-# Not included in includeDB because it has no dependencies
+-Obj_Files += linux_x86_32.o
+-
+-# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized
+-OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
+-# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized
+-OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
+-# Must also specify if CPU is little endian
+-CFLAGS += -DVM_LITTLE_ENDIAN
+-
+-OPT_CFLAGS/compactingPermGenGen.o = -O1
+diff --git openjdk/hotspot/make/linux/makefiles/x86.make openjdk/hotspot/make/linux/makefiles/x86.make
+new file mode 100644
+index 0000000..9dd0b44
+--- /dev/null
++++ openjdk/hotspot/make/linux/makefiles/x86.make
+@@ -0,0 +1,36 @@
++#
++# Copyright 1999-2008 Sun Microsystems, Inc.  All Rights Reserved.
++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++#
++# This code is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License version 2 only, as
++# published by the Free Software Foundation.
++#
++# This code is distributed in the hope that it will be useful, but WITHOUT
++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++# version 2 for more details (a copy is included in the LICENSE file that
++# accompanied this code).
++#
++# You should have received a copy of the GNU General Public License version
++# 2 along with this work; if not, write to the Free Software Foundation,
++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++#
++# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
++# CA 95054 USA or visit www.sun.com if you need additional information or
++# have any questions.
++#  
++#
++
++# TLS helper, assembled from .s file
++# Not included in includeDB because it has no dependencies
++Obj_Files += linux_x86_32.o
++
++# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized
++OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
++# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized
++OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
++# Must also specify if CPU is little endian
++CFLAGS += -DVM_LITTLE_ENDIAN
++
++OPT_CFLAGS/compactingPermGenGen.o = -O1
+
diff --git a/recipes/icedtea/icedtea6-native-1.7.3/icedtea-javac-in.patch b/recipes/icedtea/icedtea6-native-1.7.3/icedtea-javac-in.patch
new file mode 100644 (file)
index 0000000..846982c
--- /dev/null
@@ -0,0 +1,28 @@
+From 90688bde5acdb9193f5c381ce332012ff67c0e02 Mon Sep 17 00:00:00 2001
+From: woglinde <woglinde@rhein.zuhause.netz>
+Date: Fri, 23 Oct 2009 16:10:49 +0200
+Subject: [PATCH 3/3] javac.in: remove fake-jdk rt
+
+---
+ javac.in |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git icedtea6-1.6.1/javac.in icedtea6-1.6.1/javac.in
+index a897b39..235d9b5 100644
+--- icedtea6-1.6.1/javac.in
++++ icedtea6-1.6.1/javac.in
+@@ -33,9 +33,9 @@ fi
+ if [ -e @abs_top_builddir@/native-ecj ] ; then
+     @abs_top_builddir@/native-ecj -1.5 -nowarn $bcoption $NEW_ARGS ;
+ elif [ ! -z "@ECJ@" ] ; then
+-    @ECJ@ -1.5 -nowarn $bcoption $NEW_ARGS
++    @ECJ@ -1.5 -nowarn $NEW_ARGS
+ else
+     CLASSPATH=@ECJ_JAR@${CLASSPATH:+:}$CLASSPATH \
+-     @JAVA@ org.eclipse.jdt.internal.compiler.batch.Main -1.5 -nowarn $bcoption $NEW_ARGS
++     @JAVA@ org.eclipse.jdt.internal.compiler.batch.Main -1.5 -nowarn $NEW_ARGS
+ fi
+-- 
+1.6.5
+
diff --git a/recipes/icedtea/icedtea6-native-1.7.3/icedtea-jdk-sane-x86-arch.patch b/recipes/icedtea/icedtea6-native-1.7.3/icedtea-jdk-sane-x86-arch.patch
new file mode 100644 (file)
index 0000000..5c989f9
--- /dev/null
@@ -0,0 +1,240 @@
+From 662e11a8b6017f39ceb6d00dcdbfe11473b56174 Mon Sep 17 00:00:00 2001
+From: woglinde <woglinde@rhein.zuhause.netz>
+Date: Fri, 23 Oct 2009 18:06:43 +0200
+Subject: [PATCH] sane-arch2
+
+---
+ openjdk/jdk/make/common/shared/Compiler-gcc.gmk |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git openjdk/jdk/make/common/shared/Compiler-gcc.gmk openjdk/jdk/make/common/shared/Compiler-gcc.gmk
+index 8329530..de85a11 100644
+--- openjdk/jdk/make/common/shared/Compiler-gcc.gmk
++++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk
+@@ -90,8 +90,8 @@ ifeq ($(PLATFORM), linux)
+     REQUIRED_CC_VER = 3.2
+     REQUIRED_GCC_VER = 3.2.*
+   endif
+-  ifeq ($(ARCH), i586)
+-    # i586
++  ifeq ($(ARCH), x86)
++    # x86
+     REQUIRED_CC_VER = 3.2
+     REQUIRED_GCC_VER = 3.2.1*
+     REQUIRED_GCC_VER_INT = 3.2.1-7a
+-- 
+1.6.5
+
+From e2e87228dd36bd737b52ed3daeaed526b5e4d3ea Mon Sep 17 00:00:00 2001
+From: woglinde <woglinde@rhein.zuhause.netz>
+Date: Fri, 23 Oct 2009 18:16:54 +0200
+Subject: [PATCH] sane-arch3
+
+---
+ jdk/src/solaris/bin/i586/jvm.cfg |   38 --------------------------------------
+ jdk/src/solaris/bin/x86/jvm.cfg  |   38 ++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 38 insertions(+), 38 deletions(-)
+ delete mode 100644 jdk/src/solaris/bin/i586/jvm.cfg
+ create mode 100644 jdk/src/solaris/bin/x86/jvm.cfg
+
+diff --git openjdk/jdk/src/solaris/bin/i586/jvm.cfg openjdk/jdk/src/solaris/bin/i586/jvm.cfg
+deleted file mode 100644
+index b97e5ae..0000000
+--- openjdk/jdk/src/solaris/bin/i586/jvm.cfg
++++ /dev/null
+@@ -1,38 +0,0 @@
+-# Copyright 2001-2004 Sun Microsystems, Inc.  All Rights Reserved.
+-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+-#
+-# This code is free software; you can redistribute it and/or modify it
+-# under the terms of the GNU General Public License version 2 only, as
+-# published by the Free Software Foundation.  Sun designates this
+-# particular file as subject to the "Classpath" exception as provided
+-# by Sun in the LICENSE file that accompanied this code.
+-#
+-# This code is distributed in the hope that it will be useful, but WITHOUT
+-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+-# version 2 for more details (a copy is included in the LICENSE file that
+-# accompanied this code).
+-#
+-# You should have received a copy of the GNU General Public License version
+-# 2 along with this work; if not, write to the Free Software Foundation,
+-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+-#
+-# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+-# CA 95054 USA or visit www.sun.com if you need additional information or
+-# have any questions.
+-#
+-# List of JVMs that can be used as an option to java, javac, etc.
+-# Order is important -- first in this list is the default JVM.
+-# NOTE that this both this file and its format are UNSUPPORTED and
+-# WILL GO AWAY in a future release.
+-#
+-# You may also select a JVM in an arbitrary location with the
+-# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
+-# and may not be available in a future release.
+-#
+--client IF_SERVER_CLASS -server
+--server KNOWN
+--hotspot ALIASED_TO -client
+--classic WARN
+--native ERROR
+--green ERROR
+diff --git openjdk/jdk/src/solaris/bin/x86/jvm.cfg openjdk/jdk/src/solaris/bin/x86/jvm.cfg
+new file mode 100644
+index 0000000..b97e5ae
+--- /dev/null
++++ openjdk/jdk/src/solaris/bin/x86/jvm.cfg
+@@ -0,0 +1,38 @@
++# Copyright 2001-2004 Sun Microsystems, Inc.  All Rights Reserved.
++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++#
++# This code is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License version 2 only, as
++# published by the Free Software Foundation.  Sun designates this
++# particular file as subject to the "Classpath" exception as provided
++# by Sun in the LICENSE file that accompanied this code.
++#
++# This code is distributed in the hope that it will be useful, but WITHOUT
++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++# version 2 for more details (a copy is included in the LICENSE file that
++# accompanied this code).
++#
++# You should have received a copy of the GNU General Public License version
++# 2 along with this work; if not, write to the Free Software Foundation,
++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++#
++# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
++# CA 95054 USA or visit www.sun.com if you need additional information or
++# have any questions.
++#
++# List of JVMs that can be used as an option to java, javac, etc.
++# Order is important -- first in this list is the default JVM.
++# NOTE that this both this file and its format are UNSUPPORTED and
++# WILL GO AWAY in a future release.
++#
++# You may also select a JVM in an arbitrary location with the
++# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
++# and may not be available in a future release.
++#
++-client IF_SERVER_CLASS -server
++-server KNOWN
++-hotspot ALIASED_TO -client
++-classic WARN
++-native ERROR
++-green ERROR
+-- 
+1.6.5
+
+From d5274fb90454c0e40b665d865f456430949791c4 Mon Sep 17 00:00:00 2001
+From: woglinde <woglinde@rhein.zuhause.netz>
+Date: Fri, 23 Oct 2009 18:42:11 +0200
+Subject: [PATCH 2/4] sane-arch4
+
+---
+ .../share/native/com/sun/mediopenjdk/sound/SoundDefs.h   |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h 
+index 94624e0..6522503 100644
+--- openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h
++++ openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h
+@@ -36,7 +36,7 @@
+ #define X_ALPHA         1
+ #define X_AMD64         2
+ #define X_ARM           3
+-#define X_I586          4
++#define X_X86           4
+ #define X_IA64          5
+ #define X_M68K          6
+ #define X_MIPS          7
+-- 
+1.6.5
+
+From 251338c93253d1026a37df2793956d7985f9f4eb Mon Sep 17 00:00:00 2001
+From: woglinde <woglinde@rhein.zuhause.netz>
+Date: Fri, 23 Oct 2009 18:44:13 +0200
+Subject: [PATCH 4/4] sane-arch4
+
+---
+ jdk/make/javax/sound/SoundDefs.gmk |    6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git openjdk/jdk/make/javax/sound/SoundDefs.gmk openjdk/jdk/make/javax/sound/SoundDefs.gmk
+index 22ad8e0..a54ecd5 100644
+--- openjdk/jdk/make/javax/sound/SoundDefs.gmk
++++ openjdk/jdk/make/javax/sound/SoundDefs.gmk
+@@ -70,9 +70,9 @@ else
+     CPPFLAGS += -DX_ARCH=X_ARM
+   endif # ARCH arm
+-  ifeq ($(ARCH), i586)
+-    CPPFLAGS += -DX_ARCH=X_I586
+-  endif # ARCH i586
++  ifeq ($(ARCH), x86)
++    CPPFLAGS += -DX_ARCH=X_X86
++  endif # ARCH x86
+   ifeq ($(ARCH), ia64)
+     CPPFLAGS += -DX_ARCH=X_IA64
+-- 
+1.6.5
+
+Index: openjdk/jdk/make/common/shared/Platform.gmk
+===================================================================
+--- openjdk/jdk/make/common/shared/Platform.gmk        2009-10-23 22:17:12.749059413 +0200
++++ openjdk/jdk/make/common/shared/Platform.gmk        2009-10-23 22:18:16.236579466 +0200
+@@ -56,8 +56,8 @@
+ #     OS_VENDOR                   company name
+ #     TEMP_DISK                   /tmp or C:/temp
+ #     ARCH_DATA_MODEL             32 or 64
+-#     ARCH                        sparc, sparcv9, i586, amd64, or ia64
+-#     ARCH_FAMILY                 sparc or i586
++#     ARCH                        sparc, sparcv9, x86, amd64, or ia64
++#     ARCH_FAMILY                 sparc or x86
+ #     ARCHPROP                    sparc or x86
+ #     ARCH_VM_SUBDIR              jre/bin, jre/lib/sparc, etc.
+ #     LIBARCH                     sparc, sparcv9, i386, amd64, or ia64
+@@ -200,7 +200,7 @@
+   endif
+   archExpr = case "$(mach)" in \
+                 i[3-9]86) \
+-                    echo i586 \
++                    echo x86 \
+                     ;; \
+                 ia64) \
+                     echo ia64 \
+@@ -239,7 +239,7 @@
+       ARCH=sparcv9
+     endif
+   else
+-    # i586 is 32-bit, amd64 is 64-bit
++    # x86 is 32-bit, amd64 is 64-bit
+     ifndef ARCH_DATA_MODEL
+       ifeq ($(ARCH), alpha)
+         ARCH_DATA_MODEL=64
+@@ -250,7 +250,7 @@
+       ifeq ($(ARCH), arm)
+         ARCH_DATA_MODEL=32
+       endif
+-      ifeq ($(ARCH), i586)
++      ifeq ($(ARCH), x86)
+         ARCH_DATA_MODEL=32
+       endif
+       ifeq ($(ARCH), ia64)
+@@ -280,12 +280,7 @@
+     endif
+   endif
+-  # Need to maintain the jre/lib/i386 location for 32-bit Intel
+-  ifeq ($(ARCH), i586)
+-    LIBARCH = i386
+-  else
+-    LIBARCH = $(ARCH)
+-  endif
++  LIBARCH = $(ARCH)
+   # Value of Java os.arch property
+   ARCHPROP  = $(LIBARCH)
diff --git a/recipes/icedtea/icedtea6-native-1.7.3/icedtea-sane-x86-arch-name.patch b/recipes/icedtea/icedtea6-native-1.7.3/icedtea-sane-x86-arch-name.patch
new file mode 100644 (file)
index 0000000..1d67dbf
--- /dev/null
@@ -0,0 +1,47 @@
+Index: icedtea6-1.7/acinclude.m4
+===================================================================
+--- icedtea6-1.7.orig/acinclude.m4     2010-01-26 20:37:07.000000000 +0100
++++ icedtea6-1.7/acinclude.m4  2010-02-02 09:28:43.681373126 +0100
+@@ -8,11 +8,11 @@
+       CROSS_TARGET_ARCH=x86_64
+       ;;
+     i?86-*-*)
+-      BUILD_ARCH_DIR=i586
+-      INSTALL_ARCH_DIR=i386
+-      JRE_ARCH_DIR=i386
++      BUILD_ARCH_DIR=x86
++      INSTALL_ARCH_DIR=x86
++      JRE_ARCH_DIR=x86
+       ARCH_PREFIX=${LINUX32}
+-      CROSS_TARGET_ARCH=i386
++      CROSS_TARGET_ARCH=x86
+       ;;
+     alpha*-*-*)
+       BUILD_ARCH_DIR=alpha
+@@ -733,7 +733,7 @@
+   ZERO_LIBARCH="${INSTALL_ARCH_DIR}"
+   dnl can't use AC_CHECK_SIZEOF on multilib
+   case "${ZERO_LIBARCH}" in
+-    i386|ppc|s390|sparc)
++    x86|ppc|s390|sparc)
+       ZERO_BITSPERWORD=32
+       ;;
+     amd64|ppc64|s390x|sparc64)
+@@ -745,7 +745,7 @@
+   esac
+   AC_C_BIGENDIAN([ZERO_ENDIANNESS="big"], [ZERO_ENDIANNESS="little"])
+   case "${ZERO_LIBARCH}" in
+-    i386)
++    x86)
+       ZERO_ARCHDEF="IA32"
+       ;;
+     ppc*)
+@@ -762,7 +762,7 @@
+   esac
+   dnl multilib machines need telling which mode to build for
+   case "${ZERO_LIBARCH}" in
+-    i386|ppc|sparc)
++    x86|ppc|sparc)
+       ZERO_ARCHFLAG="-m32"
+       ;;
+     s390)
diff --git a/recipes/icedtea/icedtea6-native-1.7.3/icedtea-unbreak-float.patch b/recipes/icedtea/icedtea6-native-1.7.3/icedtea-unbreak-float.patch
new file mode 100644 (file)
index 0000000..9f875de
--- /dev/null
@@ -0,0 +1,18 @@
+Index: openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
+===================================================================
+--- openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h     2010-02-02 13:49:39.972718207 +0100
++++ openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h     2010-02-02 13:50:04.635639302 +0100
+@@ -27,13 +27,11 @@
+ #include "jfdlibm.h"
+-#ifdef __NEWVALID       /* special setup for Sun test regime */
+ #if defined(i386) || defined(i486) || \
+         defined(intel) || defined(x86) || \
+         defined(i86pc) || defined(_M_IA64) || defined(ia64)
+ #define _LITTLE_ENDIAN
+ #endif
+-#endif
+ #ifdef _LITTLE_ENDIAN
+ #define __HI(x) *(1+(int*)&x)
diff --git a/recipes/icedtea/icedtea6-native-1.8/build-hacks-native.patch b/recipes/icedtea/icedtea6-native-1.8/build-hacks-native.patch
new file mode 100644 (file)
index 0000000..9432d03
--- /dev/null
@@ -0,0 +1,15 @@
+Index: icedtea6-1.6.1/Makefile.am
+===================================================================
+--- icedtea6-1.6.1.orig/Makefile.am    2009-12-24 11:38:06.582572265 +0100
++++ icedtea6-1.6.1/Makefile.am 2009-12-24 11:57:27.159578486 +0100
+@@ -265,6 +265,10 @@
+       FT2_LIB="$(FREETYPE2_LIBS)" \
+       ALT_PARALLEL_COMPILE_JOBS="$(PARALLEL_JOBS)" \
+       HOTSPOT_BUILD_JOBS="$(PARALLEL_JOBS)" \
++        OE_CFLAGS="$(OE_CFLAGS)" \
++        OE_CPPFLAGS="$(OE_CPPFLAGS)" \
++        OE_CXXFLAGS="$(OE_CXXFLAGS)" \
++        OE_LDFLAGS="$(OE_LDFLAGS)" \
+       JAVAC="" \
+       RHINO_JAR="$(RHINO_JAR)" \
+       JAR_KNOWS_ATFILE="$(JAR_KNOWS_ATFILE)" \
diff --git a/recipes/icedtea/icedtea6-native-1.8/disable-library-checks.patch b/recipes/icedtea/icedtea6-native-1.8/disable-library-checks.patch
new file mode 100644 (file)
index 0000000..23b8bed
--- /dev/null
@@ -0,0 +1,141 @@
+Index: icedtea6-1.7/configure.ac
+===================================================================
+--- icedtea6-1.7.orig/configure.ac     2010-01-26 04:52:18.000000000 +0100
++++ icedtea6-1.7/configure.ac  2010-02-08 12:05:51.354556052 +0100
+@@ -205,9 +205,9 @@
+ fi
+ dnl pkgconfig cannot be used to find these headers and libraries.
+-AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],[]
+-      ,[AC_MSG_ERROR("CUPS headers were not found -
+-      try installing cups-devel.")])
++#AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],[]
++#     ,[AC_MSG_ERROR("CUPS headers were not found -
++#     try installing cups-devel.")])
+ AC_CHECK_HEADERS([X11/X.h],[]
+       ,[AC_MSG_ERROR("xorg headers were not found -
+       try installing xorg-x11-proto-devel.")])
+@@ -239,12 +239,12 @@
+ AC_SUBST(XT_LIBS)
+ dnl Check for libXp headers and libraries.
+-PKG_CHECK_MODULES(XP, xp,[XP_FOUND=yes],[XP_FOUND=no])
+-if test "x${XP_FOUND}" = xno
+-then
+-  AC_MSG_ERROR([Could not find Xp - \
+-  Try installing libXp-devel.])
+-fi
++#PKG_CHECK_MODULES(XP, xp,[XP_FOUND=yes],[XP_FOUND=no])
++#if test "x${XP_FOUND}" = xno
++#then
++#  AC_MSG_ERROR([Could not find Xp - \
++#  Try installing libXp-devel.])
++#fi
+ AC_SUBST(XP_CFLAGS)
+ AC_SUBST(XP_LIBS)
+@@ -258,16 +258,16 @@
+ AC_SUBST(X11_CFLAGS)
+ AC_SUBST(X11_LIBS)
+-dnl Check for libXinerama headers and libraries.
+-PKG_CHECK_MODULES(XINERAMA, xinerama,[XINERAMA_FOUND=yes]
+-      ,[XINERAMA_FOUND=no])
+-if test "x${XINERAMA_FOUND}" = xno
+-then
+-  AC_MSG_ERROR([Could not find Xinerama - \
+-  Try installing libXinerama-devel.])
+-fi
+-AC_SUBST(XINERAMA_CFLAGS)
+-AC_SUBST(XINERAMA_LIBS)
++#dnl Check for libXinerama headers and libraries.
++#PKG_CHECK_MODULES(XINERAMA, xinerama,[XINERAMA_FOUND=yes]
++#     ,[XINERAMA_FOUND=no])
++#if test "x${XINERAMA_FOUND}" = xno
++#then
++#  AC_MSG_ERROR([Could not find Xinerama - \
++#  Try installing libXinerama-devel.])
++#fi
++#AC_SUBST(XINERAMA_CFLAGS)
++#AC_SUBST(XINERAMA_LIBS)
+ if test "x${ENABLE_XRENDER}" = "xyes"
+ then
+@@ -341,26 +341,26 @@
+   AC_CONFIG_FILES([tapset/jstack.stp])
+ fi
+-dnl Check for libpng headers and libraries.
+-PKG_CHECK_MODULES(LIBPNG, libpng,[LIBPNG_FOUND=yes]
+-      ,[LIBPNG_FOUND=no])
+-if test "x${LIBPNG_FOUND}" = xno
+-then
+-  AC_MSG_ERROR([Could not find libpng - \
+-  Try installing libpng-devel.])
+-fi
+-AC_SUBST(LIBPNG_CFLAGS)
+-AC_SUBST(LIBPNG_LIBS)
+-
+-dnl Check for libXtst headers and libraries.
+-PKG_CHECK_MODULES(XTST, xtst,[XTST_FOUND=yes],[XTST_FOUND=no])
+-if test "x${XTST_FOUND}" = xno
+-then
+-  AC_MSG_ERROR([Could not find Xtst - \
+-  Try installing libXtst-devel.])
+-fi
+-AC_SUBST(XTST_CFLAGS)
+-AC_SUBST(XTST_LIBS)
++#dnl Check for libpng headers and libraries.
++#PKG_CHECK_MODULES(LIBPNG, libpng,[LIBPNG_FOUND=yes]
++#     ,[LIBPNG_FOUND=no])
++#if test "x${LIBPNG_FOUND}" = xno
++#then
++#  AC_MSG_ERROR([Could not find libpng - \
++#  Try installing libpng-devel.])
++#fi
++#AC_SUBST(LIBPNG_CFLAGS)
++#AC_SUBST(LIBPNG_LIBS)
++
++#dnl Check for libXtst headers and libraries.
++#PKG_CHECK_MODULES(XTST, xtst,[XTST_FOUND=yes],[XTST_FOUND=no])
++#if test "x${XTST_FOUND}" = xno
++#then
++#  AC_MSG_ERROR([Could not find Xtst - \
++#  Try installing libXtst-devel.])
++#fi
++#AC_SUBST(XTST_CFLAGS)
++#AC_SUBST(XTST_LIBS)
+ dnl Check for freetype2 headers and libraries.
+ PKG_CHECK_MODULES(FREETYPE2, freetype2,[FREETYPE2_FOUND=yes]
+@@ -373,18 +373,18 @@
+ AC_SUBST(FREETYPE2_CFLAGS)
+ AC_SUBST(FREETYPE2_LIBS)
+-dnl Check for alsa headers and libraries (only required for Linux).
+-if test "x${BUILD_OS_DIR}" = "xlinux"
+-then
+-  PKG_CHECK_MODULES(ALSA, alsa,[ALSA_FOUND=yes],[ALSA_FOUND=no])
+-  if test "x${ALSA_FOUND}" = xno
+-  then
+-    AC_MSG_ERROR([Could not find alsa - \
+-    Try installing alsa-lib-devel.])
+-  fi
+-AC_SUBST(ALSA_CFLAGS)
+-AC_SUBST(ALSA_LIBS)
+-fi
++#dnl Check for alsa headers and libraries (only required for Linux).
++#if test "x${BUILD_OS_DIR}" = "xlinux"
++#then
++#  PKG_CHECK_MODULES(ALSA, alsa,[ALSA_FOUND=yes],[ALSA_FOUND=no])
++#  if test "x${ALSA_FOUND}" = xno
++#  then
++#    AC_MSG_ERROR([Could not find alsa - \
++#    Try installing alsa-lib-devel.])
++#  fi
++#AC_SUBST(ALSA_CFLAGS)
++#AC_SUBST(ALSA_LIBS)
++#fi
+ if test "x${enable_pulse_java}" = "xyes"
+ then
diff --git a/recipes/icedtea/icedtea6-native-1.8/icedtea-ecj-disable-compilation.patch b/recipes/icedtea/icedtea6-native-1.8/icedtea-ecj-disable-compilation.patch
new file mode 100644 (file)
index 0000000..cd0f68a
--- /dev/null
@@ -0,0 +1,513 @@
+Index: openjdk/jdk/make/sun/awt/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/awt/Makefile     2009-04-24 09:33:55.000000000 +0200
++++ openjdk/jdk/make/sun/awt/Makefile  2009-09-29 13:57:14.446815782 +0200
+@@ -180,7 +180,8 @@
+ include $(BUILDDIR)/common/Mapfile-vers.gmk
+ include $(BUILDDIR)/common/Library.gmk
+-build: fontconfigs
++#build: fontconfigs
++build:
+ ifeq ($(PLATFORM), windows)
+@@ -535,9 +536,9 @@
+             -I$(PLATFORM_SRC)/native/$(PKGDIR) \
+           $(EVENT_MODEL)
+-ifeq ($(PLATFORM), linux)
+-LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
+-endif
++#ifeq ($(PLATFORM), linux)
++#LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
++#endif
+ LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \
+          $(AWT_RUNPATH)
+Index: openjdk/jdk/make/javax/sound/jsoundalsa/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/javax/sound/jsoundalsa/Makefile      2009-09-29 13:48:34.534565581 +0200
++++ openjdk/jdk/make/javax/sound/jsoundalsa/Makefile   2009-09-29 13:57:14.446815782 +0200
+@@ -44,34 +44,35 @@
+ # Files
+ #
+-FILES_c = \
+-      Utilities.c \
+-      $(DAUDIOFILES_c) \
+-      $(MIDIFILES_c) \
+-      $(PORTFILES_c)
++#FILES_c = \
++#     Utilities.c \
++#     $(DAUDIOFILES_c) \
++#     $(MIDIFILES_c) \
++#     $(PORTFILES_c)
+ # platform dependent files
+-FILES_c += \
+-      PLATFORM_API_LinuxOS_ALSA_CommonUtils.c   \
+-      PLATFORM_API_LinuxOS_ALSA_PCM.c     \
+-      PLATFORM_API_LinuxOS_ALSA_PCMUtils.c   \
+-      PLATFORM_API_LinuxOS_ALSA_MidiIn.c  \
+-      PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
+-      PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
+-      PLATFORM_API_LinuxOS_ALSA_Ports.c
+-
+-FILES_export = \
+-      $(DAUDIOFILES_export) \
+-      $(MIDIFILES_export) \
+-      $(PORTFILES_export)
++#FILES_c += \
++#     PLATFORM_API_LinuxOS_ALSA_CommonUtils.c   \
++#     PLATFORM_API_LinuxOS_ALSA_PCM.c     \
++#     PLATFORM_API_LinuxOS_ALSA_PCMUtils.c   \
++#     PLATFORM_API_LinuxOS_ALSA_MidiIn.c  \
++#     PLATFORM_API_LinuxOS_ALSA_MidiOut.c \
++#     PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \
++#     PLATFORM_API_LinuxOS_ALSA_Ports.c
++
++FILES_export =
++#FILES_export = \
++#     $(DAUDIOFILES_export) \
++#     $(MIDIFILES_export) \
++#     $(PORTFILES_export)
+-OTHER_LDLIBS += -lasound
++#OTHER_LDLIBS += -lasound
+ CPPFLAGS += \
+-      -DUSE_DAUDIO=TRUE \
+-      -DUSE_PORTS=TRUE  \
+-      -DUSE_PLATFORM_MIDI_OUT=TRUE \
+-      -DUSE_PLATFORM_MIDI_IN=TRUE \
++      -DUSE_DAUDIO=FALSE \
++      -DUSE_PORTS=FALSE  \
++      -DUSE_PLATFORM_MIDI_OUT=FALSE \
++      -DUSE_PLATFORM_MIDI_IN=FALSE \
+       -I$(SHARE_SRC)/native/com/sun/media/sound
+ #
+Index: openjdk/jdk/make/sun/splashscreen/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/splashscreen/Makefile    2009-09-29 13:48:33.738565601 +0200
++++ openjdk/jdk/make/sun/splashscreen/Makefile 2009-09-29 13:57:14.446815782 +0200
+@@ -32,7 +32,8 @@
+ #
+ # Files
+ #
+-include FILES_c.gmk
++#include FILES_c.gmk
++FILES_c = 
+ FILES_java = \
+     java/awt/SplashScreen.java
+@@ -62,9 +63,9 @@
+ CFLAGS += -DSPLASHSCREEN -DPNG_NO_MMX_CODE
+ ifneq ($(PLATFORM), windows)
+-  CFLAGS += -DWITH_X11
+-  CPPFLAGS += -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
+-  OTHER_LDLIBS += -L$(OPENWIN_LIB) -lX11 -lXext $(LIBM) -lpng -ljpeg -lgif -lz -lpthread
++#  CFLAGS += -DWITH_X11
++#  CPPFLAGS += -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
++#  OTHER_LDLIBS += -L$(OPENWIN_LIB) -lX11 -lXext $(LIBM) -lpng -ljpeg -lgif -lz -lpthread
+ else # PLATFORM
+   CFLAGS += -DWITH_WIN32
+   OTHER_LDLIBS += kernel32.lib user32.lib gdi32.lib 
+@@ -79,7 +80,7 @@
+ vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/image/jpeg
+ vpath %.c   $(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen
+-CPPFLAGS += -I$(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen -I$(SHARE_SRC)/native/$(PKGDIR)/splashscreen
++#CPPFLAGS += -I$(PLATFORM_SRC)/native/$(PKGDIR)/splashscreen -I$(SHARE_SRC)/native/$(PKGDIR)/splashscreen
+ ifeq ($(PLATFORM), linux)
+   ifeq ($(ARCH_DATA_MODEL), 64)
+Index: openjdk/jdk/make/sun/xawt/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/xawt/Makefile    2009-04-24 09:33:56.000000000 +0200
++++ openjdk/jdk/make/sun/xawt/Makefile 2009-09-29 13:57:14.446815782 +0200
+@@ -41,15 +41,16 @@
+ #
+ # Files
+ #
+-include FILES_c_unix.gmk
+-include FILES_export_unix.gmk
++#include FILES_c_unix.gmk
++FILES_c = 
++#include FILES_export_unix.gmk
+ AUTO_FILES_JAVA_DIRS = sun/awt/X11
+ AUTO_JAVA_PRUNE = WrapperGenerator.java
+ LDFLAGS += -L$(OPENWIN_LIB)
+ ifeq ($(PLATFORM), linux)
+-LDFLAGS += -lpthread
++#LDFLAGS += -lpthread
+ dummy := $(shell $(MKDIR) -p $(LIB_LOCATION))
+ endif
+@@ -86,16 +87,19 @@
+ vpath %.c   $(PLATFORM_SRC)/native/sun/java2d/opengl
+ vpath %.c   $(PLATFORM_SRC)/native/sun/java2d/x11
+-OTHER_LDLIBS = $(LIBM) -lawt -lXext -lX11 -ldl \
+-                   $(LDFLAGS_COMMON) $(AWT_RUNPATH) $(OTHER_LDFLAGS) -lXtst -lXi
++#OTHER_LDLIBS = $(LIBM) -lawt -lXext -lX11 -ldl \
++#                   $(LDFLAGS_COMMON) $(AWT_RUNPATH) $(OTHER_LDFLAGS) -lXtst -lXi
+ ifeq  ($(PLATFORM), solaris)
+ CPPFLAGS += -DFUNCPROTO=15
+ dummy := $(shell $(MKDIR) -p $(LIB_LOCATION))
+ endif
+-CPPFLAGS += -I$(CUPS_HEADERS_PATH)
++#CPPFLAGS += -I$(CUPS_HEADERS_PATH)
++# Normally we would like to patch these includes away but
++# we need them for the successfull compilation of the sizer
++# executables.
+ CPPFLAGS += -DXAWT -DXAWT_HACK \
+         -I$(TEMPDIR)/../../sun.awt/awt/CClassHeaders \
+         -I$(PLATFORM_SRC)/native/sun/awt \
+@@ -124,10 +128,10 @@
+ ifeq ($(PLATFORM), linux)
+ # Allows for builds on Debian GNU Linux, X11 is in a different place 
+-  CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
+-              -I/usr/include/X11/extensions \
+-              -I$(MOTIF_DIR)/include \
+-              -I$(OPENWIN_HOME)/include 
++#  CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
++#              -I/usr/include/X11/extensions \
++#              -I$(MOTIF_DIR)/include \
++#              -I$(OPENWIN_HOME)/include 
+ endif
+ ifeq ($(PLATFORM), solaris)
+@@ -238,18 +242,20 @@
+           $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@)))
+ $(SIZES): $(SIZERS)
+-      @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
+-          $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
+-          $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
+-          $(CHMOD) +w $@;\
+-      else    \
+-          $(ECHO) GENERATING $@; \
+-          $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
+-      fi
+-      @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
+-          $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
+-          $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
+-      fi      
++      touch $(SIZES)
++#
++#     @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
++#         $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
++#         $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
++#         $(CHMOD) +w $@;\
++#     else    \
++#         $(ECHO) GENERATING $@; \
++#         $(WRAPPER_GENERATOR_DIR)/sizer$(suffix $@) > $@; \
++#     fi
++#     @if [ "$(DOCOMPARE)$(suffix $@)" = "true.64" ]; then \
++#         $(ECHO) COMPARING $@ and $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
++#         $(DIFF) $@ $(STORED_SIZES_TMPL_$(PLATFORM)_$(LIBARCH)); \
++#     fi      
+ $(TEMPDIR)/.gen.wrappers: $(SIZES) $(WRAPPER_GENERATOR_CLASS) $(XLIBTYPES)
+       $(BOOT_JAVA_CMD) -cp $(WRAPPER_GENERATOR_TEMPDIR) WrapperGenerator \
+Index: openjdk/jdk/make/sun/jawt/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/jawt/Makefile    2009-09-29 13:48:34.186565471 +0200
++++ openjdk/jdk/make/sun/jawt/Makefile 2009-09-29 13:57:14.446815782 +0200
+@@ -36,7 +36,8 @@
+ ifeq ($(PLATFORM), windows)
+ FILES_cpp = jawt.cpp
+ else # PLATFORM
+-FILES_c = jawt.c
++FILES_c = 
++#FILES_c = jawt.c
+ endif # PLATFORM
+ FILES_h = $(INCLUDEDIR)/jawt.h \
+Index: openjdk/jdk/make/sun/jpeg/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/jpeg/Makefile    2009-09-29 13:48:33.726565626 +0200
++++ openjdk/jdk/make/sun/jpeg/Makefile 2009-09-29 13:57:14.446815782 +0200
+@@ -37,7 +37,8 @@
+ #
+ # Files
+ #
+-include FILES_c.gmk
++FILES_c = 
++#include FILES_c.gmk
+ AUTO_FILES_JAVA_DIRS = sun/awt/image com/sun/imageio/plugins/jpeg
+Index: openjdk/jdk/make/common/shared/Defs-java.gmk
+===================================================================
+--- openjdk.orig/jdk/make/common/shared/Defs-java.gmk  2009-09-29 13:48:55.954565215 +0200
++++ openjdk/jdk/make/common/shared/Defs-java.gmk       2009-09-29 13:57:14.446815782 +0200
+@@ -36,14 +36,14 @@
+ # Memory related -J flags that all uses of java tools should use.
+ #
+ JAVA_MEM_FLAGS   = -Xmx$(MAX_VM_MEMORY)m
+-ifneq (,$(filter $(ARCH), ia64 s390))
++#ifneq (,$(filter $(ARCH), ia64 s390))
+   # Special flags for javac on ia64 to work around a VM problem with
+   #   bad code generation during inlining (what version had this problem?):
+   #   Suspect this may not be needed anymore.
+-  JAVA_MEM_FLAGS   += -Xms$(MAX_VM_MEMORY)m -XX:-Inline
+-else
+-  JAVA_MEM_FLAGS   += -Xms$(MIN_VM_MEMORY)m -XX:PermSize=32m -XX:MaxPermSize=160m
+-endif
++#  JAVA_MEM_FLAGS   += -Xms$(MAX_VM_MEMORY)m -XX:-Inline
++#else
++#  JAVA_MEM_FLAGS   += -Xms$(MIN_VM_MEMORY)m -XX:PermSize=32m -XX:MaxPermSize=160m
++#endif
+ # 
+ # All java tools (javac, javah, and javadoc) run faster with certain java
+Index: openjdk/jdk/src/share/classes/java/awt/GraphicsEnvironment.java
+===================================================================
+--- openjdk.orig/jdk/src/share/classes/java/awt/GraphicsEnvironment.java       2009-04-24 09:34:04.000000000 +0200
++++ openjdk/jdk/src/share/classes/java/awt/GraphicsEnvironment.java    2009-09-29 13:57:14.450815511 +0200
+@@ -113,7 +113,7 @@
+      * @since 1.4
+      */
+     public static boolean isHeadless() {
+-        return getHeadlessProperty();
++        return true;
+     }
+     /**
+Index: openjdk/corba/make/common/Defs.gmk
+===================================================================
+--- openjdk.orig/corba/make/common/Defs.gmk    2009-04-24 09:30:19.000000000 +0200
++++ openjdk/corba/make/common/Defs.gmk 2009-09-29 13:57:14.450815511 +0200
+@@ -444,11 +444,11 @@
+ # Tool flags
+ #
+ ASFLAGS         = $(ASFLAGS_$(VARIANT)) $(ASFLAGS_COMMON) $(OTHER_ASFLAGS)
+-CFLAGS          = $(CFLAGS_$(VARIANT)/BYFILE)   $(CFLAGS_COMMON) $(OTHER_CFLAGS)
+-CXXFLAGS        = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS)
+-CPPFLAGS        = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) \
++CFLAGS          = $(CFLAGS_$(VARIANT)/BYFILE)   $(CFLAGS_COMMON) $(OTHER_CFLAGS) $(OE_CFLAGS)
++CXXFLAGS        = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS) $(OE_CXXFLAGS)
++CPPFLAGS        = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) $(OE_CPPFLAGS) \
+                 $(DEFINES) $(OPTIONS:%=-D%)
+-LDFLAGS         = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS)
++LDFLAGS         = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS) $(OE_LDFLAGS)
+ LDLIBS          = $(OTHER_LDLIBS) $(LDLIBS_$(VARIANT)) $(LDLIBS_COMMON)
+ LINTFLAGS       = $(LINTFLAGS_$(VARIANT)) $(LINTFLAGS_COMMON) \
+                 $(OTHER_LINTFLAGS)
+Index: openjdk/jdk/make/common/Defs.gmk
+===================================================================
+--- openjdk.orig/jdk/make/common/Defs.gmk      2009-09-29 13:48:33.590565061 +0200
++++ openjdk/jdk/make/common/Defs.gmk   2009-09-29 13:57:14.450815511 +0200
+@@ -662,11 +662,11 @@
+ # Tool flags
+ #
+ ASFLAGS         = $(ASFLAGS_$(VARIANT)) $(ASFLAGS_COMMON) $(OTHER_ASFLAGS)
+-CFLAGS          = $(CFLAGS_$(VARIANT)/BYFILE)   $(CFLAGS_COMMON) $(OTHER_CFLAGS)
+-CXXFLAGS        = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS)
+-CPPFLAGS        = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) \
++CFLAGS          = $(CFLAGS_$(VARIANT)/BYFILE)   $(CFLAGS_COMMON) $(OTHER_CFLAGS) $(OE_CFLAGS)
++CXXFLAGS        = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS) $(OE_CXXFLAGS)
++CPPFLAGS        = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) $(OE_CPPFLAGS) \
+                 $(DEFINES) $(OPTIONS:%=-D%)
+-LDFLAGS         = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS)
++LDFLAGS         = $(LDFLAGS_$(VARIANT)) $(LDFLAGS_COMMON) $(OTHER_LDFLAGS) $(OE_LDFLAGS)
+ LDLIBS          = $(OTHER_LDLIBS) $(LDLIBS_$(VARIANT)) $(LDLIBS_COMMON)
+ LINTFLAGS       = $(LINTFLAGS_$(VARIANT)) $(LINTFLAGS_COMMON) \
+                 $(OTHER_LINTFLAGS)
+Index: openjdk/hotspot/make/linux/makefiles/vm.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/vm.make  2009-09-29 13:48:34.098565716 +0200
++++ openjdk/hotspot/make/linux/makefiles/vm.make       2009-09-29 13:57:14.450815511 +0200
+@@ -170,6 +170,7 @@
+ LIBS_VM   += $(LLVM_LIBS)
+ endif
++LFLAGS_VM = $(OE_LDFLAGS)
+ LINK_VM = $(LINK_LIB.c)
+ # rule for building precompiled header
+Index: openjdk/jdk/src/solaris/native/sun/awt/CUPSfuncs.c
+===================================================================
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/CUPSfuncs.c    2009-04-24 09:34:34.000000000 +0200
++++ openjdk/jdk/src/solaris/native/sun/awt/CUPSfuncs.c 2009-09-29 13:57:14.450815511 +0200
+@@ -26,8 +26,10 @@
+ #include <jni.h>
+ #include <jni_util.h>
+ #include <dlfcn.h>
++#if 0
+ #include <cups/cups.h>
+ #include <cups/ppd.h>
++#endif
+ //#define CUPS_DEBUG
+@@ -37,6 +39,7 @@
+ #define DPRINTF(x, y)
+ #endif
++#if 0
+ typedef const char* (*fn_cupsServer)(void);
+ typedef int (*fn_ippPort)(void);
+ typedef http_t* (*fn_httpConnect)(const char *, int);
+@@ -56,7 +59,7 @@
+ fn_ppdClose j2d_ppdClose;
+ fn_ppdFindOption j2d_ppdFindOption;
+ fn_ppdPageSize j2d_ppdPageSize;
+-
++#endif
+ /*
+  * Initialize library functions.
+@@ -65,6 +68,7 @@
+ JNIEXPORT jboolean JNICALL
+ Java_sun_print_CUPSPrinter_initIDs(JNIEnv *env,
+                                          jobject printObj) {
++#if 0
+   void *handle = dlopen("libcups.so.2", RTLD_LAZY | RTLD_GLOBAL);
+   if (handle == NULL) {
+@@ -131,6 +135,8 @@
+   }
+   return JNI_TRUE;
++#endif
++      return JNI_FALSE;
+ }
+ /*
+@@ -141,6 +147,7 @@
+ Java_sun_print_CUPSPrinter_getCupsServer(JNIEnv *env,
+                                          jobject printObj)
+ {
++#if 0
+     jstring cServer = NULL;
+     const char* server = j2d_cupsServer();
+     if (server != NULL) {
+@@ -152,6 +159,8 @@
+         }
+     }
+     return cServer;
++#endif
++      return NULL;
+ }
+ /*
+@@ -162,8 +171,11 @@
+ Java_sun_print_CUPSPrinter_getCupsPort(JNIEnv *env,
+                                          jobject printObj)
+ {
++#if 0
+     int port = j2d_ippPort();
+     return (jint) port;
++#endif
++      return 0;
+ }
+@@ -177,6 +189,7 @@
+                                       jstring server,
+                                       jint port)
+ {
++#if 0
+     const char *serverName;
+     serverName = (*env)->GetStringUTFChars(env, server, NULL);
+     if (serverName != NULL) {
+@@ -187,6 +200,7 @@
+             return JNI_TRUE;
+         }
+     }
++#endif
+     return JNI_FALSE;
+ }
+@@ -199,6 +213,7 @@
+                                          jobject printObj,
+                                          jstring printer)
+ {
++#if 0
+     ppd_file_t *ppd;
+     ppd_option_t *optionTray, *optionPage;
+     ppd_choice_t *choice;
+@@ -304,6 +319,8 @@
+     j2d_ppdClose(ppd);
+     unlink(filename);
+     return nameArray;
++#endif
++      return NULL;
+ }
+@@ -315,6 +332,7 @@
+                                          jobject printObj,
+                                          jstring printer)
+ {
++#if 0
+     ppd_file_t *ppd;
+     ppd_option_t *option;
+     ppd_choice_t *choice;
+@@ -374,4 +392,6 @@
+     j2d_ppdClose(ppd);
+     unlink(filename);
+     return sizeArray;
++#endif
++      return NULL;
+ }
+Index: openjdk/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java
+===================================================================
+--- openjdk.orig/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java  2009-04-24 09:34:17.000000000 +0200
++++ openjdk/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java       2009-09-29 13:57:14.454815276 +0200
+@@ -244,6 +244,8 @@
+                  * that might be specified.
+                  */
+                 fontConfig = createFontConfiguration();
++                                                              if (fontConfig == null)
++                                                                      return null;
+                 getPlatformFontPathFromFontConfig();
+                 String extraFontPath = fontConfig.getExtraFontPath();
+Index: openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java
+===================================================================
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java   2009-04-24 09:34:33.000000000 +0200
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java        2009-09-29 13:57:14.454815276 +0200
+@@ -899,7 +899,8 @@
+     // Implements SunGraphicsEnvironment.createFontConfiguration.
+     protected FontConfiguration createFontConfiguration() {
+-        return new MFontConfiguration(this);
++//        return new MFontConfiguration(this);
++                      return null;
+     }
+     public FontConfiguration
+         createFontConfiguration(boolean preferLocaleFonts,
+Index: openjdk/jdk/make/launchers/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/launchers/Makefile   2009-09-29 13:48:33.490815135 +0200
++++ openjdk/jdk/make/launchers/Makefile        2009-09-29 13:57:14.454815276 +0200
+@@ -57,7 +57,7 @@
+ endif
+ # Run MAKE $@ for all generic launchers
+ define make-all-launchers
+-$(call make-launcher, appletviewer, sun.applet.Main, , )
++#$(call make-launcher, appletviewer, sun.applet.Main, , )
+ $(call make-launcher, apt, com.sun.tools.apt.Main, , )
+ $(call make-launcher, extcheck, com.sun.tools.extcheck.Main, , )
+ $(call make-launcher, idlj, com.sun.tools.corba.se.idl.toJavaPortable.Compile, , )
+@@ -93,7 +93,7 @@
+   -J-Dcom.sun.CORBA.activation.Port=1049 \
+   -J-Dcom.sun.CORBA.POA.ORBServerId=1, )
+ $(call make-launcher, pack200, com.sun.java.util.jar.pack.Driver, , --pack)
+-$(call make-launcher, policytool, sun.security.tools.PolicyTool, , )
++#$(call make-launcher, policytool, sun.security.tools.PolicyTool, , )
+ $(call make-launcher, rmic, sun.rmi.rmic.Main, , )
+ $(call make-launcher, rmid, sun.rmi.server.Activation, , )
+ $(call make-launcher, rmiregistry, sun.rmi.registry.RegistryImpl, , )
diff --git a/recipes/icedtea/icedtea6-native-1.8/icedtea-ecj-fix-freetype.patch b/recipes/icedtea/icedtea6-native-1.8/icedtea-ecj-fix-freetype.patch
new file mode 100644 (file)
index 0000000..3420fbd
--- /dev/null
@@ -0,0 +1,13 @@
+Index: openjdk/jdk/make/tools/freetypecheck/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/tools/freetypecheck/Makefile 2009-09-29 13:48:33.590565061 +0200
++++ openjdk/jdk/make/tools/freetypecheck/Makefile      2009-09-29 14:00:04.470566156 +0200
+@@ -45,7 +45,7 @@
+   FT_OPTIONS  = $(CFLAGS)
+ endif
+-FT_OPTIONS += -I$(FT_HEADERS) -I$(FT_HEADERS)/freetype2
++FT_OPTIONS += -I$(FT_HEADERS) -I$(FT_HEADERS)/freetype2 $(FREETYPE2_CFLAGS) $(FREETYPE2_LIBS) $(FREETYPE2_HEADERS)
+ FT_OPTIONS += $(XARCH)
+ #add runtime library search path
diff --git a/recipes/icedtea/icedtea6-native-1.8/icedtea-ecj-fix-zlib.patch b/recipes/icedtea/icedtea6-native-1.8/icedtea-ecj-fix-zlib.patch
new file mode 100644 (file)
index 0000000..eff7e48
--- /dev/null
@@ -0,0 +1,61 @@
+Index: openjdk/jdk/make/com/sun/java/pack/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/com/sun/java/pack/Makefile   2009-09-29 13:48:34.538565136 +0200
++++ openjdk/jdk/make/com/sun/java/pack/Makefile        2009-09-29 14:00:26.226565853 +0200
+@@ -80,7 +80,7 @@
+   OTHER_LDLIBS += $(JVMLIB)
+ endif
+-OTHER_LDLIBS += -lz
++OTHER_LDLIBS += -L$(libdir) -lz
+ CXXFLAGS_DBG += -DFULL
+ CXXFLAGS_OPT += -DPRODUCT
+ CXXFLAGS_COMMON += -DFULL
+Index: openjdk/jdk/make/common/Defs.gmk
+===================================================================
+--- openjdk.orig/jdk/make/common/Defs.gmk      2009-09-29 13:57:14.450815511 +0200
++++ openjdk/jdk/make/common/Defs.gmk   2009-09-29 14:00:26.226565853 +0200
+@@ -289,7 +289,7 @@
+ endif # PROGRAM
+-LDLIBS_COMMON += $(EXTRA_LIBS)
++LDLIBS_COMMON += $(EXTRA_LIBS) -L$(libdir)
+ #
+ # Default is to build, not import native binaries
+@@ -425,7 +425,7 @@
+ CLASSDESTDIR = $(CLASSBINDIR)
+ endif
+-INCLUDES = -I. -I$(CLASSHDRDIR) \
++INCLUDES = -I$(includedir) -I. -I$(CLASSHDRDIR) \
+       $(patsubst %,-I%,$(subst $(CLASSPATH_SEPARATOR), ,$(VPATH.h))) $(OTHER_INCLUDES)
+ OTHER_CPPFLAGS = $(INCLUDES)
+Index: openjdk/jdk/make/common/Program.gmk
+===================================================================
+--- openjdk.orig/jdk/make/common/Program.gmk   2009-09-29 13:48:33.914565255 +0200
++++ openjdk/jdk/make/common/Program.gmk        2009-09-29 14:00:26.226565853 +0200
+@@ -73,7 +73,7 @@
+ # itself, as with all the Windows libraries.
+ #
+ ifneq (,$(findstring $(PLATFORM), linux solaris))     # UNIX systems
+-    LDFLAGS += -L $(LIBDIR)/$(LIBARCH)/jli
++    LDFLAGS += -L $(LIBDIR)/$(LIBARCH)/jli -L $(libdir)
+     OTHER_LDLIBS += -ljli
+     ifeq ($(PLATFORM), solaris)
+       ifeq ($(ARCH_DATA_MODEL), 32)
+Index: openjdk/jdk/make/java/jli/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/java/jli/Makefile    2009-09-29 13:48:33.806565054 +0200
++++ openjdk/jdk/make/java/jli/Makefile 2009-09-29 14:00:26.230565844 +0200
+@@ -61,7 +61,7 @@
+ ifneq (,$(findstring $(PLATFORM), linux solaris))     # UNIX systems
+       LIB_LOCATION = $(LIBDIR)/$(LIBARCH)/jli
+       # Guarantee very limited dependencies
+-      LDLIBS = -lz -lc 
++      LDLIBS = -L$(libdir) -lz -lc
+ endif
+ ifeq ($(PLATFORM), windows)
diff --git a/recipes/icedtea/icedtea6-native-1.8/icedtea-hotspot-make-arch-sane-for-x86.patch b/recipes/icedtea/icedtea6-native-1.8/icedtea-hotspot-make-arch-sane-for-x86.patch
new file mode 100644 (file)
index 0000000..9d7b9bb
--- /dev/null
@@ -0,0 +1,1130 @@
+From b8a51665ada45e3beb0823c03c025d5514f5e745 Mon Sep 17 00:00:00 2001
+From: woglinde <woglinde@rhein.zuhause.netz>
+Date: Thu, 22 Oct 2009 16:35:25 +0200
+Subject: [PATCH] hotspot: make arch sane for x86
+
+diff --git openjdk/hotspot/agent/make/saenv.sh openjdk/hotspot/agent/make/saenv.sh
+index 38e0f78..64c8410 100644
+--- openjdk/hotspot/agent/make/saenv.sh
++++ openjdk/hotspot/agent/make/saenv.sh
+@@ -43,9 +43,9 @@ if [ "$OS" = "Linux" ]; then
+      OPTIONS="-Dsa.library.path=$SA_LIBPATH"
+      CPU=amd64
+    else
+-     SA_LIBPATH=$STARTDIR/../src/os/linux/i386:$STARTDIR/linux/i386
++     SA_LIBPATH=$STARTDIR/../src/os/linux/x86:$STARTDIR/linux/x86
+      OPTIONS="-Dsa.library.path=$SA_LIBPATH"
+-     CPU=i386
++     CPU=x86
+    fi
+ else
+    SA_LIBPATH=$STARTDIR/../src/os/solaris/proc/`uname -p`:$STARTDIR/solaris/`uname -p`
+diff --git openjdk/hotspot/make/defs.make openjdk/hotspot/make/defs.make
+index 83ddd1a..c20c7eb 100644
+--- openjdk/hotspot/make/defs.make
++++ openjdk/hotspot/make/defs.make
+@@ -207,7 +207,7 @@ ifneq ($(OSNAME),windows)
+     ifdef LP64
+       BUILDARCH = amd64
+     else
+-      BUILDARCH = i486
++      BUILDARCH = x86
+     endif
+   endif
+   ifeq ($(BUILDARCH), sparc)
+@@ -218,7 +218,7 @@ ifneq ($(OSNAME),windows)
+   # LIBARCH is 1:1 mapping from BUILDARCH
+   LIBARCH         = $(LIBARCH/$(BUILDARCH))
+-  LIBARCH/i486    = i386
++  LIBARCH/x86     = x86
+   LIBARCH/amd64   = amd64
+   LIBARCH/sparc   = sparc
+   LIBARCH/sparcv9 = sparcv9
+diff --git openjdk/hotspot/make/jprt.config openjdk/hotspot/make/jprt.config
+index bc82543..4a1ef4e 100644
+--- openjdk/hotspot/make/jprt.config
++++ openjdk/hotspot/make/jprt.config
+@@ -111,7 +111,7 @@ elif [ "${osname}" = Linux ] ; then
+     # LINUX: X86, AMD64
+     osarch=`uname -m`
+     if [ "${osarch}" = i686 ] ; then
+-      linux_arch=i586
++      linux_arch=x86
+     elif [ "${osarch}" = x86_64 ] ; then
+       linux_arch=amd64
+     fi
+diff --git openjdk/hotspot/make/jprt.properties openjdk/hotspot/make/jprt.properties
+index eb2ce82..7193de0 100644
+--- openjdk/hotspot/make/jprt.properties
++++ openjdk/hotspot/make/jprt.properties
+@@ -70,7 +70,7 @@ jprt.my.solaris.x64.jdk6u10=solaris_x64_5.10
+ jprt.my.solaris.x64.jdk6u14=solaris_x64_5.10
+ jprt.my.solaris.x64=${jprt.my.solaris.x64.${jprt.tools.default.release}}
+-jprt.my.linux.i586=linux_i586
++jprt.my.linux.x86=linux_x86
+ jprt.my.linux.x64=linux_x64
+ jprt.my.windows.i586=windows_i586
+ jprt.my.windows.x64=windows_x64
+@@ -201,30 +201,30 @@ jprt.my.solaris.i586.test.targets= \
+     ${jprt.my.solaris.i586}-{product|fastdebug}-{c1|c2}-scimark_2, \
+     ${jprt.my.solaris.i586}-{product|fastdebug}-{c1|c2}-scimark_3
+-jprt.my.linux.i586.test.targets = \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-jvm98, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-scimark, \
+-    ${jprt.my.linux.i586}-product-c1-runThese_Xcomp, \
+-    ${jprt.my.linux.i586}-product-c1-runThese_Xcomp_2, \
+-    ${jprt.my.linux.i586}-product-c1-runThese_Xcomp_3, \
+-    ${jprt.my.linux.i586}-fastdebug-c1-runThese_Xshare, \
+-    ${jprt.my.linux.i586}-fastdebug-c2-runThese_Xcomp, \
+-    ${jprt.my.linux.i586}-fastdebug-c2-runThese_Xcomp_2, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_default, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_SerialGC, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_ParallelGC, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_ParNewGC, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_CMS, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_default, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_SerialGC, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_ParallelGC, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_ParNewGC, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_CMS, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_default, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_ParallelGC, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_CMS, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c2-scimark_2, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c2-scimark_3
++jprt.my.linux.x86.test.targets = \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-jvm98, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-scimark, \
++    ${jprt.my.linux.x86}-product-c1-runThese_Xcomp, \
++    ${jprt.my.linux.x86}-product-c1-runThese_Xcomp_2, \
++    ${jprt.my.linux.x86}-product-c1-runThese_Xcomp_3, \
++    ${jprt.my.linux.x86}-fastdebug-c1-runThese_Xshare, \
++    ${jprt.my.linux.x86}-fastdebug-c2-runThese_Xcomp, \
++    ${jprt.my.linux.x86}-fastdebug-c2-runThese_Xcomp_2, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_default, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_SerialGC, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_ParallelGC, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_ParNewGC, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_CMS, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_default, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_SerialGC, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_ParallelGC, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_ParNewGC, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_CMS, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_default, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_ParallelGC, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_CMS, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c2-scimark_2, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c2-scimark_3
+ jprt.my.linux.x64.test.targets = \
+     ${jprt.my.linux.x64}-{product|fastdebug}-c2-jvm98, \
+@@ -294,7 +294,7 @@ jprt.test.targets = \
+   ${jprt.my.solaris.sparcv9.test.targets}, \
+   ${jprt.my.solaris.i586.test.targets}, \
+   ${jprt.my.solaris.x64.test.targets}, \
+-  ${jprt.my.linux.i586.test.targets}, \
++  ${jprt.my.linux.x86.test.targets}, \
+   ${jprt.my.linux.x64.test.targets}, \
+   ${jprt.my.windows.i586.test.targets}, \
+   ${jprt.my.windows.x64.test.targets}
+diff --git openjdk/hotspot/make/linux/build.sh openjdk/hotspot/make/linux/build.sh
+index e317fdd..5d3b1ff 100644
+--- openjdk/hotspot/make/linux/build.sh
++++ openjdk/hotspot/make/linux/build.sh
+@@ -43,7 +43,7 @@ esac
+ case `uname -m` in
+   i386|i486|i586|i686)
+-    mach=i386
++    mach=x86
+     ;;
+   *)
+     echo "Unsupported machine: " `uname -m`
+diff --git openjdk/hotspot/make/linux/makefiles/buildtree.make openjdk/hotspot/make/linux/makefiles/buildtree.make
+index add9823..cbbf81f 100644
+--- openjdk/hotspot/make/linux/makefiles/buildtree.make
++++ openjdk/hotspot/make/linux/makefiles/buildtree.make
+@@ -30,7 +30,7 @@
+ # The macros ARCH, GAMMADIR, OS_FAMILY and VARIANT must be defined in the
+ # environment or on the command-line:
+ #
+-# ARCH                - sparc, i486, ... HotSpot cpu and os_cpu source directory
++# ARCH                - sparc, x86, ... HotSpot cpu and os_cpu source directory
+ # BUILDARCH     - build directory
+ # LIBARCH       - the corresponding directory in JDK/JRE
+ # GAMMADIR    - top of workspace
+@@ -316,7 +316,7 @@ NO_JAVA_HOME_MSG   = \
+ DATA_MODE = $(DATA_MODE/$(BUILDARCH))
+ JAVA_FLAG = $(JAVA_FLAG/$(DATA_MODE))
+-DATA_MODE/i486    = 32
++DATA_MODE/x86     = 32
+ DATA_MODE/sparc   = 32
+ DATA_MODE/sparcv9 = 64
+ DATA_MODE/amd64   = 64
+diff --git openjdk/hotspot/make/linux/makefiles/cscope.make openjdk/hotspot/make/linux/makefiles/cscope.make
+index 113d4f8..d3f06cb 100644
+--- openjdk/hotspot/make/linux/makefiles/cscope.make
++++ openjdk/hotspot/make/linux/makefiles/cscope.make
+@@ -78,7 +78,7 @@ endif
+ # Processor-specific files for other processors are excluded by default.  Use
+ # CS_CPU=x to include platform-specific files for other platforms.
+ ifndef        CS_CPU
+-CS_CPU                = i486 sparc amd64 ia64
++CS_CPU                = x86 sparc amd64 ia64
+ CS_PRUNE_CPU  = $(patsubst %,-o -name '*%*',$(filter-out ${SRCARCH},${CS_CPU}))
+ endif
+diff --git openjdk/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make
+index 9131c79..138dfb3 100644
+--- openjdk/hotspot/make/linux/makefiles/defs.make
++++ openjdk/hotspot/make/linux/makefiles/defs.make
+@@ -85,6 +85,14 @@ ifeq ($(ARCH), sparc)
+   HS_ARCH          = sparc
+ endif
++# x86
++ifeq ($(findstring 86,$(ARCH)), 86)
++  ARCH_DATA_MODEL  = 32
++  PLATFORM         = linux-x86
++  VM_PLATFORM      = linux_x86
++  HS_ARCH          = x86
++endif
++
+ # x86_64
+ ifeq ($(ARCH), x86_64) 
+   ifeq ($(ARCH_DATA_MODEL), 64)
+@@ -95,22 +103,12 @@ ifeq ($(ARCH), x86_64)
+     HS_ARCH         = x86
+   else
+     ARCH_DATA_MODEL = 32
+-    PLATFORM        = linux-i586
+-    VM_PLATFORM     = linux_i486
++    PLATFORM        = linux-x86
++    VM_PLATFORM     = linux_x86
+     HS_ARCH         = x86
+-    # We have to reset ARCH to i686 since SRCARCH relies on it
+-    ARCH            = i686   
+   endif
+ endif
+-# i686
+-ifeq ($(ARCH), i686)
+-  ARCH_DATA_MODEL  = 32
+-  PLATFORM         = linux-i586
+-  VM_PLATFORM      = linux_i486
+-  HS_ARCH          = x86
+-endif
+-
+ JDK_INCLUDE_SUBDIR=linux
+ # FIXUP: The subdirectory for a debug build is NOT the same on all platforms
+diff --git openjdk/hotspot/make/linux/makefiles/sparcWorks.make openjdk/hotspot/make/linux/makefiles/sparcWorks.make
+index 0a9f75b..2e29bb9 100644
+--- openjdk/hotspot/make/linux/makefiles/sparcWorks.make
++++ openjdk/hotspot/make/linux/makefiles/sparcWorks.make
+@@ -30,7 +30,7 @@ CC  = cc
+ AS  = $(CC) -c
+ ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
+-ARCHFLAG/i486    = -m32
++ARCHFLAG/x86    = -m32
+ ARCHFLAG/amd64   = -m64
+ CFLAGS     += $(ARCHFLAG)
+diff --git openjdk/hotspot/make/linux/platform_i486 openjdk/hotspot/make/linux/platform_i486
+deleted file mode 100644
+index 610ac91..0000000
+--- openjdk/hotspot/make/linux/platform_i486
++++ /dev/null
+@@ -1,15 +0,0 @@
+-os_family = linux
+-
+-arch = x86
+-
+-arch_model = x86_32
+-
+-os_arch = linux_x86
+-
+-os_arch_model = linux_x86_32
+-
+-lib_arch = i386
+-
+-compiler = gcc
+-
+-sysdefs = -DLINUX -D_GNU_SOURCE -DIA32
+diff --git openjdk/hotspot/make/linux/platform_i486.suncc openjdk/hotspot/make/linux/platform_i486.suncc
+index 325a3fe..717fc75 100644
+--- openjdk/hotspot/make/linux/platform_i486.suncc
++++ openjdk/hotspot/make/linux/platform_i486.suncc
+@@ -8,10 +8,10 @@ os_arch = linux_x86
+ os_arch_model = linux_x86_32
+-lib_arch = i386
++lib_arch = x86
+ compiler = sparcWorks
+-gnu_dis_arch = i386
++gnu_dis_arch = x86
+ sysdefs = -DLINUX -DSPARC_WORKS -D_GNU_SOURCE -DIA32
+diff --git openjdk/hotspot/make/linux/platform_x86 openjdk/hotspot/make/linux/platform_x86
+new file mode 100644
+index 0000000..5c613fe
+--- /dev/null
++++ openjdk/hotspot/make/linux/platform_x86
+@@ -0,0 +1,15 @@
++os_family = linux
++
++arch = x86
++
++arch_model = x86_32
++
++os_arch = linux_x86
++
++os_arch_model = linux_x86_32
++
++lib_arch = x86
++
++compiler = gcc
++
++sysdefs = -DLINUX -D_GNU_SOURCE -DIA32
+diff --git openjdk/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+index b2b3162..a4bbe70 100644
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+@@ -164,7 +164,7 @@ bool os::have_special_privileges() {
+ // i386: 224, ia64: 1105, amd64: 186, sparc 143
+ #ifdef __ia64__
+ #define SYS_gettid 1105
+-#elif __i386__
++#elif __x86__
+ #define SYS_gettid 224
+ #elif __amd64__
+ #define SYS_gettid 186
+@@ -181,7 +181,7 @@ static char cpu_arch[] = ZERO_LIBARCH;
+ #elif defined(IA64)
+ static char cpu_arch[] = "ia64";
+ #elif defined(IA32)
+-static char cpu_arch[] = "i386";
++static char cpu_arch[] = "x86";
+ #elif defined(AMD64)
+ static char cpu_arch[] = "amd64";
+ #elif defined(SPARC)
+diff --git openjdk/hotspot/src/share/tools/hsdis/Makefile openjdk/hotspot/src/share/tools/hsdis/Makefile
+index 6bdf4b8..fd43c6e 100644
+--- openjdk/hotspot/src/share/tools/hsdis/Makefile
++++ openjdk/hotspot/src/share/tools/hsdis/Makefile
+@@ -32,7 +32,7 @@ BINUTILS     = $(shell cd ../../../../..;pwd)/binutils-2.17-$(LIBARCH)
+ endif
+ # Default arch; it is changed below as needed.
+-ARCH          = i386
++ARCH          = x86
+ OS            = $(shell uname)
+ CPPFLAGS      += -I$(BINUTILS)/include -I$(BINUTILS)/bfd
+@@ -87,7 +87,7 @@ endif        # SunOS
+ LIBARCH               = $(ARCH)
+ ifdef         LP64
+ LIBARCH64/sparc       = sparcv9
+-LIBARCH64/i386        = amd64
++LIBARCH64/x86 = amd64
+ LIBARCH64     = $(LIBARCH64/$(ARCH))
+ ifneq         ($(LIBARCH64),)
+ LIBARCH               = $(LIBARCH64)
+diff --git openjdk/hotspot/src/share/tools/hsdis/hsdis.c openjdk/hotspot/src/share/tools/hsdis/hsdis.c
+index 75b7efe..62c692b 100644
+--- openjdk/hotspot/src/share/tools/hsdis/hsdis.c
++++ openjdk/hotspot/src/share/tools/hsdis/hsdis.c
+@@ -383,8 +383,8 @@ static void print_help(struct hsdis_app_data* app_data,
+   else
+     disassembler_usage(stderr); /* better than nothing */
+   (*printf_callback)(printf_stream, "  mach=<arch>   select disassembly mode\n");
+-#if defined(LIBARCH_i386) || defined(LIBARCH_amd64)
+-  (*printf_callback)(printf_stream, "  mach=i386     select 32-bit mode\n");
++#if defined(LIBARCH_x86) || defined(LIBARCH_amd64)
++  (*printf_callback)(printf_stream, "  mach=x86      select 32-bit mode\n");
+   (*printf_callback)(printf_stream, "  mach=x86-64   select 64-bit mode\n");
+   (*printf_callback)(printf_stream, "  suffix        always print instruction suffix\n");
+ #endif
+@@ -406,7 +406,7 @@ static const bfd_arch_info_type* find_arch_info(const char* arch_name) {
+ static const char* native_arch_name() {
+   const char* res = HOTSPOT_LIB_ARCH;
+ #ifdef LIBARCH_amd64
+-    res = "i386:x86-64";
++    res = "x86:x86-64";
+ #endif
+ #ifdef LIBARCH_sparc
+     res = "sparc:v8plusb";
+diff --git openjdk/hotspot/test/Makefile openjdk/hotspot/test/Makefile
+index 2596d85..c2f3eb9 100644
+--- openjdk/hotspot/test/Makefile
++++ openjdk/hotspot/test/Makefile
+@@ -33,14 +33,14 @@ ifeq ($(OSNAME), SunOS)
+   PLATFORM = solaris
+   ARCH = $(shell uname -p)
+   ifeq ($(ARCH), i386)
+-    ARCH=i586
++    ARCH=x86
+   endif
+ endif
+ ifeq ($(OSNAME), Linux)
+   PLATFORM = linux
+   ARCH = $(shell uname -m)
+-  ifeq ($(ARCH), i386)
+-    ARCH = i586
++  ifeq ($(findstring 86,$(ARCH)), 86)
++    ARCH = x86
+   endif
+ endif
+ ifeq ($(OSNAME), Windows_NT)
+@@ -55,7 +55,7 @@ ifeq ($(OSNAME), Windows_NT)
+       ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),EM64T)
+         ARCH = x64
+       else
+-        ARCH = i586
++        ARCH = x86
+       endif
+     endif
+   endif
+diff --git openjdk/hotspot/agent/make/saenv.sh openjdk/hotspot/agent/make/saenv.sh
+index 38e0f78..64c8410 100644
+--- openjdk/hotspot/agent/make/saenv.sh
++++ openjdk/hotspot/agent/make/saenv.sh
+@@ -43,9 +43,9 @@ if [ "$OS" = "Linux" ]; then
+      OPTIONS="-Dsa.library.path=$SA_LIBPATH"
+      CPU=amd64
+    else
+-     SA_LIBPATH=$STARTDIR/../src/os/linux/i386:$STARTDIR/linux/i386
++     SA_LIBPATH=$STARTDIR/../src/os/linux/x86:$STARTDIR/linux/x86
+      OPTIONS="-Dsa.library.path=$SA_LIBPATH"
+-     CPU=i386
++     CPU=x86
+    fi
+ else
+    SA_LIBPATH=$STARTDIR/../src/os/solaris/proc/`uname -p`:$STARTDIR/solaris/`uname -p`
+diff --git openjdk/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c openjdk/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c
+index c4ca7de..54c12ca 100644
+--- openjdk/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c
++++ openjdk/hotspot/agent/src/os/linux/LinuxDebuggerLocal.c
+@@ -29,7 +29,7 @@
+ #define amd64 1
+ #endif
+-#ifdef i386
++#ifdef x86
+ #include "sun_jvm_hotspot_debugger_x86_X86ThreadContext.h"
+ #endif
+@@ -295,7 +295,7 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLo
+   }
+ #undef NPRGREG
+-#ifdef i386
++#ifdef x86
+ #define NPRGREG sun_jvm_hotspot_debugger_x86_X86ThreadContext_NPRGREG
+ #endif
+ #ifdef ia64
+@@ -314,7 +314,7 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLo
+ #undef REG_INDEX
+-#ifdef i386
++#ifdef x86
+ #define REG_INDEX(reg) sun_jvm_hotspot_debugger_x86_X86ThreadContext_##reg
+   regs[REG_INDEX(GS)]  = (uintptr_t) gregs.xgs;
+@@ -333,7 +333,7 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_linux_LinuxDebuggerLo
+   regs[REG_INDEX(CS)]  = (uintptr_t) gregs.xcs;
+   regs[REG_INDEX(SS)]  = (uintptr_t) gregs.xss;
+-#endif /* i386 */
++#endif /* x86 */
+ #if ia64
+   regs = (*env)->GetLongArrayElements(env, array, &isCopy);
+diff --git openjdk/hotspot/agent/src/os/linux/Makefile openjdk/hotspot/agent/src/os/linux/Makefile
+index a16f3a7..85fecb1 100644
+--- openjdk/hotspot/agent/src/os/linux/Makefile
++++ openjdk/hotspot/agent/src/os/linux/Makefile
+@@ -22,7 +22,7 @@
+ #  
+ #
+-ARCH := $(shell if ([ `uname -m` = "ia64" ])  ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi )
++ARCH := $(shell if ([ `uname -m` = "ia64" ])  ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo x86 ; fi )
+ GCC      = gcc$(GCC_SUFFIX)
+ JAVAH    = ${JAVA_HOME}/bin/javah
+diff --git openjdk/hotspot/agent/src/os/linux/ps_core.c openjdk/hotspot/agent/src/os/linux/ps_core.c
+index 3562f2d..47ab01b 100644
+--- openjdk/hotspot/agent/src/os/linux/ps_core.c
++++ openjdk/hotspot/agent/src/os/linux/ps_core.c
+@@ -540,7 +540,7 @@ static bool core_handle_prstatus(struct ps_prochandle* ph, const char* buf, size
+    if (is_debug()) {
+       print_debug("integer regset\n");
+-#ifdef i386
++#ifdef x86
+       // print the regset
+       print_debug("\teax = 0x%x\n", newthr->regs.eax);
+       print_debug("\tebx = 0x%x\n", newthr->regs.ebx);
+diff --git openjdk/hotspot/make/defs.make openjdk/hotspot/make/defs.make
+index 83ddd1a..c20c7eb 100644
+--- openjdk/hotspot/make/defs.make
++++ openjdk/hotspot/make/defs.make
+@@ -207,7 +207,7 @@ ifneq ($(OSNAME),windows)
+     ifdef LP64
+       BUILDARCH = amd64
+     else
+-      BUILDARCH = i486
++      BUILDARCH = x86
+     endif
+   endif
+   ifeq ($(BUILDARCH), sparc)
+@@ -218,7 +218,7 @@ ifneq ($(OSNAME),windows)
+   # LIBARCH is 1:1 mapping from BUILDARCH
+   LIBARCH         = $(LIBARCH/$(BUILDARCH))
+-  LIBARCH/i486    = i386
++  LIBARCH/x86     = x86
+   LIBARCH/amd64   = amd64
+   LIBARCH/sparc   = sparc
+   LIBARCH/sparcv9 = sparcv9
+diff --git openjdk/hotspot/make/jprt.config openjdk/hotspot/make/jprt.config
+index bc82543..4a1ef4e 100644
+--- openjdk/hotspot/make/jprt.config
++++ openjdk/hotspot/make/jprt.config
+@@ -111,7 +111,7 @@ elif [ "${osname}" = Linux ] ; then
+     # LINUX: X86, AMD64
+     osarch=`uname -m`
+     if [ "${osarch}" = i686 ] ; then
+-      linux_arch=i586
++      linux_arch=x86
+     elif [ "${osarch}" = x86_64 ] ; then
+       linux_arch=amd64
+     fi
+diff --git openjdk/hotspot/make/jprt.properties openjdk/hotspot/make/jprt.properties
+index eb2ce82..7193de0 100644
+--- openjdk/hotspot/make/jprt.properties
++++ openjdk/hotspot/make/jprt.properties
+@@ -70,7 +70,7 @@ jprt.my.solaris.x64.jdk6u10=solaris_x64_5.10
+ jprt.my.solaris.x64.jdk6u14=solaris_x64_5.10
+ jprt.my.solaris.x64=${jprt.my.solaris.x64.${jprt.tools.default.release}}
+-jprt.my.linux.i586=linux_i586
++jprt.my.linux.x86=linux_x86
+ jprt.my.linux.x64=linux_x64
+ jprt.my.windows.i586=windows_i586
+ jprt.my.windows.x64=windows_x64
+@@ -201,30 +201,30 @@ jprt.my.solaris.i586.test.targets= \
+     ${jprt.my.solaris.i586}-{product|fastdebug}-{c1|c2}-scimark_2, \
+     ${jprt.my.solaris.i586}-{product|fastdebug}-{c1|c2}-scimark_3
+-jprt.my.linux.i586.test.targets = \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-jvm98, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-scimark, \
+-    ${jprt.my.linux.i586}-product-c1-runThese_Xcomp, \
+-    ${jprt.my.linux.i586}-product-c1-runThese_Xcomp_2, \
+-    ${jprt.my.linux.i586}-product-c1-runThese_Xcomp_3, \
+-    ${jprt.my.linux.i586}-fastdebug-c1-runThese_Xshare, \
+-    ${jprt.my.linux.i586}-fastdebug-c2-runThese_Xcomp, \
+-    ${jprt.my.linux.i586}-fastdebug-c2-runThese_Xcomp_2, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_default, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_SerialGC, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_ParallelGC, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_ParNewGC, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-{c1|c2}-GCBasher_CMS, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_default, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_SerialGC, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_ParallelGC, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_ParNewGC, \
+-    ${jprt.my.linux.i586}-product-{c1|c2}-GCOld_CMS, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_default, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_ParallelGC, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c1-jbb_CMS, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c2-scimark_2, \
+-    ${jprt.my.linux.i586}-{product|fastdebug}-c2-scimark_3
++jprt.my.linux.x86.test.targets = \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-jvm98, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-scimark, \
++    ${jprt.my.linux.x86}-product-c1-runThese_Xcomp, \
++    ${jprt.my.linux.x86}-product-c1-runThese_Xcomp_2, \
++    ${jprt.my.linux.x86}-product-c1-runThese_Xcomp_3, \
++    ${jprt.my.linux.x86}-fastdebug-c1-runThese_Xshare, \
++    ${jprt.my.linux.x86}-fastdebug-c2-runThese_Xcomp, \
++    ${jprt.my.linux.x86}-fastdebug-c2-runThese_Xcomp_2, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_default, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_SerialGC, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_ParallelGC, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_ParNewGC, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-{c1|c2}-GCBasher_CMS, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_default, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_SerialGC, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_ParallelGC, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_ParNewGC, \
++    ${jprt.my.linux.x86}-product-{c1|c2}-GCOld_CMS, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_default, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_ParallelGC, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c1-jbb_CMS, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c2-scimark_2, \
++    ${jprt.my.linux.x86}-{product|fastdebug}-c2-scimark_3
+ jprt.my.linux.x64.test.targets = \
+     ${jprt.my.linux.x64}-{product|fastdebug}-c2-jvm98, \
+@@ -294,7 +294,7 @@ jprt.test.targets = \
+   ${jprt.my.solaris.sparcv9.test.targets}, \
+   ${jprt.my.solaris.i586.test.targets}, \
+   ${jprt.my.solaris.x64.test.targets}, \
+-  ${jprt.my.linux.i586.test.targets}, \
++  ${jprt.my.linux.x86.test.targets}, \
+   ${jprt.my.linux.x64.test.targets}, \
+   ${jprt.my.windows.i586.test.targets}, \
+   ${jprt.my.windows.x64.test.targets}
+diff --git openjdk/hotspot/make/linux/build.sh openjdk/hotspot/make/linux/build.sh
+index e317fdd..5d3b1ff 100644
+--- openjdk/hotspot/make/linux/build.sh
++++ openjdk/hotspot/make/linux/build.sh
+@@ -43,7 +43,7 @@ esac
+ case `uname -m` in
+   i386|i486|i586|i686)
+-    mach=i386
++    mach=x86
+     ;;
+   *)
+     echo "Unsupported machine: " `uname -m`
+diff --git openjdk/hotspot/make/linux/makefiles/buildtree.make openjdk/hotspot/make/linux/makefiles/buildtree.make
+index add9823..cbbf81f 100644
+--- openjdk/hotspot/make/linux/makefiles/buildtree.make
++++ openjdk/hotspot/make/linux/makefiles/buildtree.make
+@@ -30,7 +30,7 @@
+ # The macros ARCH, GAMMADIR, OS_FAMILY and VARIANT must be defined in the
+ # environment or on the command-line:
+ #
+-# ARCH                - sparc, i486, ... HotSpot cpu and os_cpu source directory
++# ARCH                - sparc, x86, ... HotSpot cpu and os_cpu source directory
+ # BUILDARCH     - build directory
+ # LIBARCH       - the corresponding directory in JDK/JRE
+ # GAMMADIR    - top of workspace
+@@ -316,7 +316,7 @@ NO_JAVA_HOME_MSG   = \
+ DATA_MODE = $(DATA_MODE/$(BUILDARCH))
+ JAVA_FLAG = $(JAVA_FLAG/$(DATA_MODE))
+-DATA_MODE/i486    = 32
++DATA_MODE/x86     = 32
+ DATA_MODE/sparc   = 32
+ DATA_MODE/sparcv9 = 64
+ DATA_MODE/amd64   = 64
+diff --git openjdk/hotspot/make/linux/makefiles/cscope.make openjdk/hotspot/make/linux/makefiles/cscope.make
+index 113d4f8..d3f06cb 100644
+--- openjdk/hotspot/make/linux/makefiles/cscope.make
++++ openjdk/hotspot/make/linux/makefiles/cscope.make
+@@ -78,7 +78,7 @@ endif
+ # Processor-specific files for other processors are excluded by default.  Use
+ # CS_CPU=x to include platform-specific files for other platforms.
+ ifndef        CS_CPU
+-CS_CPU                = i486 sparc amd64 ia64
++CS_CPU                = x86 sparc amd64 ia64
+ CS_PRUNE_CPU  = $(patsubst %,-o -name '*%*',$(filter-out ${SRCARCH},${CS_CPU}))
+ endif
+diff --git openjdk/hotspot/make/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make
+index 9131c79..138dfb3 100644
+--- openjdk/hotspot/make/linux/makefiles/defs.make
++++ openjdk/hotspot/make/linux/makefiles/defs.make
+@@ -85,6 +85,14 @@ ifeq ($(ARCH), sparc)
+   HS_ARCH          = sparc
+ endif
++# x86
++ifeq ($(findstring 86,$(ARCH)), 86)
++  ARCH_DATA_MODEL  = 32
++  PLATFORM         = linux-x86
++  VM_PLATFORM      = linux_x86
++  HS_ARCH          = x86
++endif
++
+ # x86_64
+ ifeq ($(ARCH), x86_64) 
+   ifeq ($(ARCH_DATA_MODEL), 64)
+@@ -95,22 +103,12 @@ ifeq ($(ARCH), x86_64)
+     HS_ARCH         = x86
+   else
+     ARCH_DATA_MODEL = 32
+-    PLATFORM        = linux-i586
+-    VM_PLATFORM     = linux_i486
++    PLATFORM        = linux-x86
++    VM_PLATFORM     = linux_x86
+     HS_ARCH         = x86
+-    # We have to reset ARCH to i686 since SRCARCH relies on it
+-    ARCH            = i686   
+   endif
+ endif
+-# i686
+-ifeq ($(ARCH), i686)
+-  ARCH_DATA_MODEL  = 32
+-  PLATFORM         = linux-i586
+-  VM_PLATFORM      = linux_i486
+-  HS_ARCH          = x86
+-endif
+-
+ JDK_INCLUDE_SUBDIR=linux
+ # FIXUP: The subdirectory for a debug build is NOT the same on all platforms
+diff --git openjdk/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
+index a2c24bc..27bad01 100644
+--- openjdk/hotspot/make/linux/makefiles/gcc.make
++++ openjdk/hotspot/make/linux/makefiles/gcc.make
+@@ -77,7 +77,7 @@ CFLAGS += -fcheck-new
+ CFLAGS += -g
+ ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
+-ARCHFLAG/i486    = -m32 -march=i586
++ARCHFLAG/x86    = -m32
+ ARCHFLAG/amd64   = -m64
+ ARCHFLAG/ia64    =
+ ARCHFLAG/sparc   = -m32 -mcpu=v9
+diff --git openjdk/hotspot/make/linux/makefiles/sparcWorks.make openjdk/hotspot/make/linux/makefiles/sparcWorks.make
+index 0a9f75b..2e29bb9 100644
+--- openjdk/hotspot/make/linux/makefiles/sparcWorks.make
++++ openjdk/hotspot/make/linux/makefiles/sparcWorks.make
+@@ -30,7 +30,7 @@ CC  = cc
+ AS  = $(CC) -c
+ ARCHFLAG = $(ARCHFLAG/$(BUILDARCH))
+-ARCHFLAG/i486    = -m32
++ARCHFLAG/x86    = -m32
+ ARCHFLAG/amd64   = -m64
+ CFLAGS     += $(ARCHFLAG)
+diff --git openjdk/hotspot/make/linux/platform_i486 openjdk/hotspot/make/linux/platform_i486
+deleted file mode 100644
+index 610ac91..0000000
+--- openjdk/hotspot/make/linux/platform_i486
++++ /dev/null
+@@ -1,15 +0,0 @@
+-os_family = linux
+-
+-arch = x86
+-
+-arch_model = x86_32
+-
+-os_arch = linux_x86
+-
+-os_arch_model = linux_x86_32
+-
+-lib_arch = i386
+-
+-compiler = gcc
+-
+-sysdefs = -DLINUX -D_GNU_SOURCE -DIA32
+diff --git openjdk/hotspot/make/linux/platform_i486.suncc openjdk/hotspot/make/linux/platform_i486.suncc
+deleted file mode 100644
+index 325a3fe..0000000
+--- openjdk/hotspot/make/linux/platform_i486.suncc
++++ /dev/null
+@@ -1,17 +0,0 @@
+-os_family = linux
+-
+-arch = x86
+-
+-arch_model = x86_32
+-
+-os_arch = linux_x86
+-
+-os_arch_model = linux_x86_32
+-
+-lib_arch = i386
+-
+-compiler = sparcWorks
+-
+-gnu_dis_arch = i386
+-
+-sysdefs = -DLINUX -DSPARC_WORKS -D_GNU_SOURCE -DIA32
+diff --git openjdk/hotspot/make/linux/platform_x86 openjdk/hotspot/make/linux/platform_x86
+new file mode 100644
+index 0000000..5c613fe
+--- /dev/null
++++ openjdk/hotspot/make/linux/platform_x86
+@@ -0,0 +1,15 @@
++os_family = linux
++
++arch = x86
++
++arch_model = x86_32
++
++os_arch = linux_x86
++
++os_arch_model = linux_x86_32
++
++lib_arch = x86
++
++compiler = gcc
++
++sysdefs = -DLINUX -D_GNU_SOURCE -DIA32
+diff --git openjdk/hotspot/make/linux/platform_x86.suncc openjdk/hotspot/make/linux/platform_x86.suncc
+new file mode 100644
+index 0000000..717fc75
+--- /dev/null
++++ openjdk/hotspot/make/linux/platform_x86.suncc
+@@ -0,0 +1,17 @@
++os_family = linux
++
++arch = x86
++
++arch_model = x86_32
++
++os_arch = linux_x86
++
++os_arch_model = linux_x86_32
++
++lib_arch = x86
++
++compiler = sparcWorks
++
++gnu_dis_arch = x86
++
++sysdefs = -DLINUX -DSPARC_WORKS -D_GNU_SOURCE -DIA32
+diff --git openjdk/hotspot/src/os/linux/launcher/java_md.c openjdk/hotspot/src/os/linux/launcher/java_md.c
+index 50a86cd..48141be 100644
+--- openjdk/hotspot/src/os/linux/launcher/java_md.c
++++ openjdk/hotspot/src/os/linux/launcher/java_md.c
+@@ -56,8 +56,8 @@
+  * models is supported, then DUAL_MODE is defined.  When DUAL_MODE is
+  * defined, the architecture names for the narrow and wide version of
+  * the architecture are defined in BIG_ARCH and SMALL_ARCH.  Currently
+- * only Solaris on sparc/sparcv9 and i586/amd64 is DUAL_MODE; linux
+- * i586/amd64 could be defined as DUAL_MODE but that is not the
++ * only Solaris on sparc/sparcv9 and x86/amd64 is DUAL_MODE; linux
++ * x86/amd64 could be defined as DUAL_MODE but that is not the
+  * current policy.
+  */
+@@ -75,8 +75,8 @@
+ #else /* 32-bit data model */
+-#  ifdef i586
+-#    define ARCH "i386"
++#  ifdef x86
++#    define ARCH "x86"
+ #  elif defined(__sparc)
+ #    define ARCH "sparc"
+ #  endif
+@@ -90,7 +90,7 @@
+ #    define SMALL_ARCH "sparc"
+ #  else
+ #    define BIG_ARCH "amd64"
+-#    define SMALL_ARCH "i386"
++#    define SMALL_ARCH "x86"
+ #  endif
+ #  include <sys/systeminfo.h>
+ #  include <sys/elf.h>
+@@ -1103,7 +1103,7 @@ void PrintMachineDependentOptions() {
+  * This code is somewhat more confused with #ifdef's than we'd
+  * like because this file is used by both Solaris and Linux
+  * platforms, and so needs to be parameterized for SPARC and
+- * i586 hardware.  The other Linux platforms (amd64 and ia64)
++ * x86 hardware.  The other Linux platforms (amd64 and ia64)
+  * don't even ask this question, because they only come with
+  * server JVMs.  */
+@@ -1168,11 +1168,11 @@ solaris_sparc_ServerClassMachine(void) {
+ #endif /* __sun && __sparc */
+-#if defined(__sun) && defined(i586)
++#if defined(__sun) && defined(x86)
+ /*
+  * A utility method for asking the CPU about itself.
+- * There's a corresponding version of linux-i586
++ * There's a corresponding version of linux-x86
+  * because the compilers are different.
+  */
+ void
+@@ -1218,13 +1218,13 @@ get_cpuid(uint32_t arg,
+ #endif
+ }
+-#endif /* __sun && i586 */
++#endif /* __sun && x86 */
+-#if defined(__linux__) && defined(i586)
++#if defined(__linux__) && defined(x86)
+ /*
+  * A utility method for asking the CPU about itself.
+- * There's a corresponding version of solaris-i586
++ * There's a corresponding version of solaris-x86
+  * because the compilers are different.
+  */
+ void
+@@ -1286,11 +1286,11 @@ get_cpuid(uint32_t arg,
+ #endif
+ }
+-#endif /* __linux__ && i586 */
++#endif /* __linux__ && x86 */
+-#ifdef i586
++#ifdef x86
+ /*
+- * Routines shared by solaris-i586 and linux-i586.
++ * Routines shared by solaris-x86 and linux-x86.
+  */
+ enum HyperThreadingSupport_enum {
+@@ -1430,11 +1430,11 @@ physical_processors(void) {
+   return result;
+ }
+-#endif /* i586 */
++#endif /* x86 */
+-#if defined(__sun) && defined(i586)
++#if defined(__sun) && defined(x86)
+-/* The definition of a server-class machine for solaris-i586/amd64 */
++/* The definition of a server-class machine for solaris-x86/amd64 */
+ jboolean
+ solaris_i586_ServerClassMachine(void) {
+   jboolean            result            = JNI_FALSE;
+@@ -1463,11 +1463,11 @@ solaris_i586_ServerClassMachine(void) {
+   return result;
+ }
+-#endif /* __sun && i586 */
++#endif /* __sun && x86 */
+-#if defined(__linux__) && defined(i586)
++#if defined(__linux__) && defined(x86)
+-/* The definition of a server-class machine for linux-i586 */
++/* The definition of a server-class machine for linux-x86 */
+ jboolean
+ linux_i586_ServerClassMachine(void) {
+   jboolean            result            = JNI_FALSE;
+@@ -1496,7 +1496,7 @@ linux_i586_ServerClassMachine(void) {
+   return result;
+ }
+-#endif /* __linux__ && i586 */
++#endif /* __linux__ && x86 */
+ /* Dispatch to the platform-specific definition of "server-class" */
+ jboolean
+@@ -1504,9 +1504,9 @@ ServerClassMachine(void) {
+   jboolean result = JNI_FALSE;
+ #if   defined(__sun) && defined(__sparc)
+   result = solaris_sparc_ServerClassMachine();
+-#elif defined(__sun) && defined(i586)
++#elif defined(__sun) && defined(x86)
+   result = solaris_i586_ServerClassMachine();
+-#elif defined(__linux__) && defined(i586)
++#elif defined(__linux__) && defined(x86)
+   result = linux_i586_ServerClassMachine();
+ #else
+   if (_launcher_debug) {
+diff --git openjdk/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+index b2b3162..a4bbe70 100644
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+@@ -164,7 +164,7 @@ bool os::have_special_privileges() {
+ // i386: 224, ia64: 1105, amd64: 186, sparc 143
+ #ifdef __ia64__
+ #define SYS_gettid 1105
+-#elif __i386__
++#elif __x86__
+ #define SYS_gettid 224
+ #elif __amd64__
+ #define SYS_gettid 186
+@@ -181,7 +181,7 @@ static char cpu_arch[] = ZERO_LIBARCH;
+ #elif defined(IA64)
+ static char cpu_arch[] = "ia64";
+ #elif defined(IA32)
+-static char cpu_arch[] = "i386";
++static char cpu_arch[] = "x86";
+ #elif defined(AMD64)
+ static char cpu_arch[] = "amd64";
+ #elif defined(SPARC)
+diff --git openjdk/hotspot/src/share/tools/hsdis/Makefile openjdk/hotspot/src/share/tools/hsdis/Makefile
+index 6bdf4b8..fd43c6e 100644
+--- openjdk/hotspot/src/share/tools/hsdis/Makefile
++++ openjdk/hotspot/src/share/tools/hsdis/Makefile
+@@ -32,7 +32,7 @@ BINUTILS     = $(shell cd ../../../../..;pwd)/binutils-2.17-$(LIBARCH)
+ endif
+ # Default arch; it is changed below as needed.
+-ARCH          = i386
++ARCH          = x86
+ OS            = $(shell uname)
+ CPPFLAGS      += -I$(BINUTILS)/include -I$(BINUTILS)/bfd
+@@ -87,7 +87,7 @@ endif        # SunOS
+ LIBARCH               = $(ARCH)
+ ifdef         LP64
+ LIBARCH64/sparc       = sparcv9
+-LIBARCH64/i386        = amd64
++LIBARCH64/x86 = amd64
+ LIBARCH64     = $(LIBARCH64/$(ARCH))
+ ifneq         ($(LIBARCH64),)
+ LIBARCH               = $(LIBARCH64)
+diff --git openjdk/hotspot/src/share/tools/hsdis/hsdis.c openjdk/hotspot/src/share/tools/hsdis/hsdis.c
+index 75b7efe..62c692b 100644
+--- openjdk/hotspot/src/share/tools/hsdis/hsdis.c
++++ openjdk/hotspot/src/share/tools/hsdis/hsdis.c
+@@ -383,8 +383,8 @@ static void print_help(struct hsdis_app_data* app_data,
+   else
+     disassembler_usage(stderr); /* better than nothing */
+   (*printf_callback)(printf_stream, "  mach=<arch>   select disassembly mode\n");
+-#if defined(LIBARCH_i386) || defined(LIBARCH_amd64)
+-  (*printf_callback)(printf_stream, "  mach=i386     select 32-bit mode\n");
++#if defined(LIBARCH_x86) || defined(LIBARCH_amd64)
++  (*printf_callback)(printf_stream, "  mach=x86      select 32-bit mode\n");
+   (*printf_callback)(printf_stream, "  mach=x86-64   select 64-bit mode\n");
+   (*printf_callback)(printf_stream, "  suffix        always print instruction suffix\n");
+ #endif
+@@ -406,7 +406,7 @@ static const bfd_arch_info_type* find_arch_info(const char* arch_name) {
+ static const char* native_arch_name() {
+   const char* res = HOTSPOT_LIB_ARCH;
+ #ifdef LIBARCH_amd64
+-    res = "i386:x86-64";
++    res = "x86:x86-64";
+ #endif
+ #ifdef LIBARCH_sparc
+     res = "sparc:v8plusb";
+diff --git openjdk/hotspot/src/share/vm/adlc/Test/i486.ad openjdk/hotspot/src/share/vm/adlc/Test/i486.ad
+deleted file mode 100644
+index e69de29..0000000
+diff --git openjdk/hotspot/src/share/vm/adlc/Test/x86.ad openjdk/hotspot/src/share/vm/adlc/Test/x86.ad
+new file mode 100644
+index 0000000..e69de29
+diff --git openjdk/hotspot/test/Makefile openjdk/hotspot/test/Makefile
+index 2596d85..c2f3eb9 100644
+--- openjdk/hotspot/test/Makefile
++++ openjdk/hotspot/test/Makefile
+@@ -33,14 +33,14 @@ ifeq ($(OSNAME), SunOS)
+   PLATFORM = solaris
+   ARCH = $(shell uname -p)
+   ifeq ($(ARCH), i386)
+-    ARCH=i586
++    ARCH=x86
+   endif
+ endif
+ ifeq ($(OSNAME), Linux)
+   PLATFORM = linux
+   ARCH = $(shell uname -m)
+-  ifeq ($(ARCH), i386)
+-    ARCH = i586
++  ifeq ($(findstring 86,$(ARCH)), 86)
++    ARCH = x86
+   endif
+ endif
+ ifeq ($(OSNAME), Windows_NT)
+@@ -55,7 +55,7 @@ ifeq ($(OSNAME), Windows_NT)
+       ifeq ($(word 1, $(PROCESSOR_IDENTIFIER)),EM64T)
+         ARCH = x64
+       else
+-        ARCH = i586
++        ARCH = x86
+       endif
+     endif
+   endif
+-- 
+1.6.5
+
+diff --git openjdk/hotspot/make/linux/makefiles/i486.make b/hotspot/make/linux/makefiles/i486.make
+deleted file mode 100644
+index 9dd0b44..0000000
+--- openjdk/hotspot/make/linux/makefiles/i486.make
++++ /dev/null
+@@ -1,36 +0,0 @@
+-#
+-# Copyright 1999-2008 Sun Microsystems, Inc.  All Rights Reserved.
+-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+-#
+-# This code is free software; you can redistribute it and/or modify it
+-# under the terms of the GNU General Public License version 2 only, as
+-# published by the Free Software Foundation.
+-#
+-# This code is distributed in the hope that it will be useful, but WITHOUT
+-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+-# version 2 for more details (a copy is included in the LICENSE file that
+-# accompanied this code).
+-#
+-# You should have received a copy of the GNU General Public License version
+-# 2 along with this work; if not, write to the Free Software Foundation,
+-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+-#
+-# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+-# CA 95054 USA or visit www.sun.com if you need additional information or
+-# have any questions.
+-#  
+-#
+-
+-# TLS helper, assembled from .s file
+-# Not included in includeDB because it has no dependencies
+-Obj_Files += linux_x86_32.o
+-
+-# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized
+-OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
+-# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized
+-OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
+-# Must also specify if CPU is little endian
+-CFLAGS += -DVM_LITTLE_ENDIAN
+-
+-OPT_CFLAGS/compactingPermGenGen.o = -O1
+diff --git openjdk/hotspot/make/linux/makefiles/x86.make openjdk/hotspot/make/linux/makefiles/x86.make
+new file mode 100644
+index 0000000..9dd0b44
+--- /dev/null
++++ openjdk/hotspot/make/linux/makefiles/x86.make
+@@ -0,0 +1,36 @@
++#
++# Copyright 1999-2008 Sun Microsystems, Inc.  All Rights Reserved.
++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++#
++# This code is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License version 2 only, as
++# published by the Free Software Foundation.
++#
++# This code is distributed in the hope that it will be useful, but WITHOUT
++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++# version 2 for more details (a copy is included in the LICENSE file that
++# accompanied this code).
++#
++# You should have received a copy of the GNU General Public License version
++# 2 along with this work; if not, write to the Free Software Foundation,
++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++#
++# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
++# CA 95054 USA or visit www.sun.com if you need additional information or
++# have any questions.
++#  
++#
++
++# TLS helper, assembled from .s file
++# Not included in includeDB because it has no dependencies
++Obj_Files += linux_x86_32.o
++
++# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized
++OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
++# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized
++OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
++# Must also specify if CPU is little endian
++CFLAGS += -DVM_LITTLE_ENDIAN
++
++OPT_CFLAGS/compactingPermGenGen.o = -O1
+
diff --git a/recipes/icedtea/icedtea6-native-1.8/icedtea-jdk-sane-x86-arch.patch b/recipes/icedtea/icedtea6-native-1.8/icedtea-jdk-sane-x86-arch.patch
new file mode 100644 (file)
index 0000000..f730c4a
--- /dev/null
@@ -0,0 +1,186 @@
+From 662e11a8b6017f39ceb6d00dcdbfe11473b56174 Mon Sep 17 00:00:00 2001
+From: woglinde <woglinde@rhein.zuhause.netz>
+Date: Fri, 23 Oct 2009 18:06:43 +0200
+Subject: [PATCH] sane-arch2
+
+---
+ openjdk/jdk/make/common/shared/Compiler-gcc.gmk |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+Index: openjdk/jdk/make/common/shared/Compiler-gcc.gmk
+===================================================================
+--- openjdk/jdk/make/common/shared/Compiler-gcc.gmk.orig       2010-04-22 12:04:08.000000000 +0200
++++ openjdk/jdk/make/common/shared/Compiler-gcc.gmk    2010-04-22 12:13:53.335169757 +0200
+@@ -85,8 +85,8 @@
+     REQUIRED_CC_VER = 3.2
+     REQUIRED_GCC_VER = 3.2.*
+   endif
+-  ifeq ($(ARCH), i586)
+-    # i586
++  ifeq ($(ARCH), x86)
++    # x86
+     REQUIRED_CC_VER = 3.2
+     REQUIRED_GCC_VER = 3.2.1*
+     REQUIRED_GCC_VER_INT = 3.2.1-7a
+Index: openjdk/jdk/src/solaris/bin/i586/jvm.cfg
+===================================================================
+--- openjdk/jdk/src/solaris/bin/i586/jvm.cfg   2010-02-17 04:14:46.000000000 +0100
++++ /dev/null  1970-01-01 00:00:00.000000000 +0000
+@@ -1,38 +0,0 @@
+-# Copyright 2001-2004 Sun Microsystems, Inc.  All Rights Reserved.
+-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+-#
+-# This code is free software; you can redistribute it and/or modify it
+-# under the terms of the GNU General Public License version 2 only, as
+-# published by the Free Software Foundation.  Sun designates this
+-# particular file as subject to the "Classpath" exception as provided
+-# by Sun in the LICENSE file that accompanied this code.
+-#
+-# This code is distributed in the hope that it will be useful, but WITHOUT
+-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+-# version 2 for more details (a copy is included in the LICENSE file that
+-# accompanied this code).
+-#
+-# You should have received a copy of the GNU General Public License version
+-# 2 along with this work; if not, write to the Free Software Foundation,
+-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+-#
+-# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+-# CA 95054 USA or visit www.sun.com if you need additional information or
+-# have any questions.
+-#
+-# List of JVMs that can be used as an option to java, javac, etc.
+-# Order is important -- first in this list is the default JVM.
+-# NOTE that this both this file and its format are UNSUPPORTED and
+-# WILL GO AWAY in a future release.
+-#
+-# You may also select a JVM in an arbitrary location with the
+-# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
+-# and may not be available in a future release.
+-#
+--client IF_SERVER_CLASS -server
+--server KNOWN
+--hotspot ALIASED_TO -client
+--classic WARN
+--native ERROR
+--green ERROR
+Index: openjdk/jdk/src/solaris/bin/x86/jvm.cfg
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ openjdk/jdk/src/solaris/bin/x86/jvm.cfg    2010-04-22 12:12:10.545603344 +0200
+@@ -0,0 +1,38 @@
++# Copyright 2001-2004 Sun Microsystems, Inc.  All Rights Reserved.
++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++#
++# This code is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License version 2 only, as
++# published by the Free Software Foundation.  Sun designates this
++# particular file as subject to the "Classpath" exception as provided
++# by Sun in the LICENSE file that accompanied this code.
++#
++# This code is distributed in the hope that it will be useful, but WITHOUT
++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++# version 2 for more details (a copy is included in the LICENSE file that
++# accompanied this code).
++#
++# You should have received a copy of the GNU General Public License version
++# 2 along with this work; if not, write to the Free Software Foundation,
++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++#
++# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
++# CA 95054 USA or visit www.sun.com if you need additional information or
++# have any questions.
++#
++# List of JVMs that can be used as an option to java, javac, etc.
++# Order is important -- first in this list is the default JVM.
++# NOTE that this both this file and its format are UNSUPPORTED and
++# WILL GO AWAY in a future release.
++#
++# You may also select a JVM in an arbitrary location with the
++# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
++# and may not be available in a future release.
++#
++-client IF_SERVER_CLASS -server
++-server KNOWN
++-hotspot ALIASED_TO -client
++-classic WARN
++-native ERROR
++-green ERROR
+Index: openjdk/jdk/make/common/shared/Platform.gmk
+===================================================================
+--- openjdk/jdk/make/common/shared/Platform.gmk.orig   2010-04-22 12:04:08.000000000 +0200
++++ openjdk/jdk/make/common/shared/Platform.gmk        2010-04-22 12:16:43.848486263 +0200
+@@ -56,8 +56,8 @@
+ #     OS_VENDOR                   company name
+ #     TEMP_DISK                   /tmp or C:/temp
+ #     ARCH_DATA_MODEL             32 or 64
+-#     ARCH                        sparc, sparcv9, i586, amd64, or ia64
+-#     ARCH_FAMILY                 sparc or i586
++#     ARCH                        sparc, sparcv9, x86, amd64, or ia64
++#     ARCH_FAMILY                 sparc or x86
+ #     ARCHPROP                    sparc or x86
+ #     ARCH_VM_SUBDIR              jre/bin, jre/lib/sparc, etc.
+ #     LIBARCH                     sparc, sparcv9, i386, amd64, or ia64
+@@ -124,7 +124,7 @@
+     processor := $(shell uname -p)
+     archExpr = case "$(processor)" in  \
+                 i[3-9]86) \
+-                    echo i586 \
++                    echo 586 \
+                     ;; \
+                 sparc*)  \
+                     echo sparc \
+@@ -200,7 +200,7 @@
+   endif
+   archExpr = case "$(mach)" in \
+                 i[3-9]86) \
+-                    echo i586 \
++                    echo x86 \
+                     ;; \
+                 ia64) \
+                     echo ia64 \
+@@ -237,7 +237,7 @@
+       ARCH=sparcv9
+     endif
+   else
+-    # i586 is 32-bit, amd64 is 64-bit
++    # x86 is 32-bit, amd64 is 64-bit
+     ifndef ARCH_DATA_MODEL
+       ifeq ($(ARCH), alpha)
+         ARCH_DATA_MODEL=64
+@@ -248,7 +248,7 @@
+       ifeq ($(ARCH), arm)
+         ARCH_DATA_MODEL=32
+       endif
+-      ifeq ($(ARCH), i586)
++      ifeq ($(ARCH), x86)
+         ARCH_DATA_MODEL=32
+       endif
+       ifeq ($(ARCH), ia64)
+@@ -281,12 +281,7 @@
+     endif
+   endif
+-  # Need to maintain the jre/lib/i386 location for 32-bit Intel
+-  ifeq ($(ARCH), i586)
+-    LIBARCH = i386
+-  else
+-    LIBARCH = $(ARCH)
+-  endif
++  LIBARCH = $(ARCH)
+   # Value of Java os.arch property
+   ARCHPROP  = $(LIBARCH)
+@@ -378,8 +373,8 @@
+     REQUIRED_WINDOWS_VERSION=2000 or Unknown
+     #REQUIRED_WINDOWS_VERSION=XP Professional
+     # LIBARCH is used to preserve the jre/lib/i386 directory name for 32-bit intel
+-    ARCH=i586
+-    LIBARCH=i386
++    ARCH=x86
++    LIBARCH=x86
+     # Value of Java os.arch property
+     ARCHPROP=x86
+   endif
diff --git a/recipes/icedtea/icedtea6-native-1.8/icedtea-sane-x86-arch-name.patch b/recipes/icedtea/icedtea6-native-1.8/icedtea-sane-x86-arch-name.patch
new file mode 100644 (file)
index 0000000..b4c6857
--- /dev/null
@@ -0,0 +1,38 @@
+Index: icedtea6-1.8/acinclude.m4
+===================================================================
+--- icedtea6-1.8.orig/acinclude.m4     2010-04-10 21:58:40.000000000 +0200
++++ icedtea6-1.8/acinclude.m4  2010-04-22 10:09:42.752587915 +0200
+@@ -9,11 +9,11 @@
+       ARCHFLAG="-m64"
+       ;;
+     i?86)
+-      BUILD_ARCH_DIR=i586
+-      INSTALL_ARCH_DIR=i386
+-      JRE_ARCH_DIR=i386
++      BUILD_ARCH_DIR=x86
++      INSTALL_ARCH_DIR=x86
++      JRE_ARCH_DIR=x86
+       ARCH_PREFIX=${LINUX32}
+-      CROSS_TARGET_ARCH=i386
++      CROSS_TARGET_ARCH=x86
+       ARCHFLAG="-m32"
+       ;;
+     alpha*)
+@@ -765,7 +765,7 @@
+   ZERO_LIBARCH="${INSTALL_ARCH_DIR}"
+   dnl can't use AC_CHECK_SIZEOF on multilib
+   case "${ZERO_LIBARCH}" in
+-    i386|ppc|s390|sparc)
++    x86|ppc|s390|sparc)
+       ZERO_BITSPERWORD=32
+       ;;
+     amd64|ppc64|s390x|sparc64)
+@@ -777,7 +777,7 @@
+   esac
+   AC_C_BIGENDIAN([ZERO_ENDIANNESS="big"], [ZERO_ENDIANNESS="little"])
+   case "${ZERO_LIBARCH}" in
+-    i386)
++    x86)
+       ZERO_ARCHDEF="IA32"
+       ;;
+     ppc*)
diff --git a/recipes/icedtea/icedtea6-native-1.8/icedtea-unbreak-float.patch b/recipes/icedtea/icedtea6-native-1.8/icedtea-unbreak-float.patch
new file mode 100644 (file)
index 0000000..9f875de
--- /dev/null
@@ -0,0 +1,18 @@
+Index: openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
+===================================================================
+--- openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h     2010-02-02 13:49:39.972718207 +0100
++++ openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h     2010-02-02 13:50:04.635639302 +0100
+@@ -27,13 +27,11 @@
+ #include "jfdlibm.h"
+-#ifdef __NEWVALID       /* special setup for Sun test regime */
+ #if defined(i386) || defined(i486) || \
+         defined(intel) || defined(x86) || \
+         defined(i86pc) || defined(_M_IA64) || defined(ia64)
+ #define _LITTLE_ENDIAN
+ #endif
+-#endif
+ #ifdef _LITTLE_ENDIAN
+ #define __HI(x) *(1+(int*)&x)
diff --git a/recipes/icedtea/icedtea6-native.inc b/recipes/icedtea/icedtea6-native.inc
new file mode 100644 (file)
index 0000000..d032a7c
--- /dev/null
@@ -0,0 +1,204 @@
+DESCRIPTION = "Harness to build the source code from OpenJDK using Free Software build tools"
+HOMEPAGE = "http://icedtea.classpath.org"
+LICENSE  = "GPL with Classpath Exception"
+INC_PR = "r0"
+
+DEPENDS = "virtual/javac-native classpath-tools-native \
+          virtual/java-native classpath-native \
+          xalan-j-native xerces-j-native rhino-native \
+          ant-native libx11-native xproto-native libxt-native \
+          freetype-native zlib-native giflib-native jpeg-native\
+         "
+
+inherit native java autotools
+
+JAVA_HOME[unexport] = "1"
+
+# No parallel build yet.
+PARALLEL_MAKE = ""
+
+#EXTRA_OEMAKE = "--debug=v"
+
+# Configure options compatible with Cacao >= 0.99 only!
+EXTRA_OECONF = "\
+       --with-parallel-jobs=1 \
+       --disable-docs \
+       --disable-pulse-java \
+       --disable-plugin \
+       --disable-xrender \
+       \
+       --with-ecj=${STAGING_BINDIR_NATIVE}/ecj-bootstrap \
+       \
+       --with-ecj-jar=${STAGING_DATADIR_JAVA_NATIVE}/ecj-bootstrap.jar \
+       --with-java=${STAGING_BINDIR_NATIVE}/java \
+       --with-javac=${STAGING_BINDIR_NATIVE}/ecj-bootstrap \
+       --with-javah=${STAGING_BINDIR_NATIVE}/gjavah \
+       --with-jar=${STAGING_BINDIR_NATIVE}/fastjar \
+       --with-rmic=${STAGING_BINDIR_NATIVE}/grmic \
+       --with-xalan2-jar=${STAGING_DATADIR_NATIVE}/java/xalan2.jar \
+       --with-xalan2-serializer-jar=${STAGING_DATADIR_NATIVE}/java/serializer.jar \
+       --with-xerces2-jar=${STAGING_DATADIR_NATIVE}/java/xercesImpl.jar \
+       --with-rhino=${STAGING_DATADIR_NATIVE}/java/rhino.jar \
+       --with-openjdk-src-dir=${WORKDIR}/openjdk-src-dir \
+       --with-gcj-home=${WORKDIR}/fake-jdk \
+       \
+       --enable-openjdk-cross-compilation \
+  "
+
+JDK_DIR = "icedtea6-native"
+
+JDK_INSTALL_DIR = "${D}/${libdir_jvm}/${JDK_DIR}"
+
+do_configure_prepend() {
+
+        case "${TARGET_ARCH}" in
+                x86_64)
+                        libarch=amd64
+                ;;
+                i386|i486|i586|i686)
+                        libarch=x86
+                ;;
+                *)
+                        arch=${TARGET_ARCH}
+                        libarch=${TARGET_ARCH}
+                ;;
+        esac
+       chmod -R ug+w ${WORKDIR}/openjdk-src-dir
+       (cd ${WORKDIR}/openjdk-src-dir && sh ${S}/fsg.sh)
+
+       # Automatically copy everything that starts with "icedtea" and ends with
+       # ".patch" into the patches directory.
+       find ${WORKDIR} -maxdepth 1 -name "icedtea*.patch" -exec cp {} ${S}/patches \;
+
+       # Prepare JDK-like directory with Classpath' files which we can treat as a
+       # SYSTEM_GCJ_DIR afterwards.
+       mkdir -p ${WORKDIR}/fake-jdk/jre/lib/${libarch}
+       ln -sf ${STAGING_DATADIR_NATIVE}/classpath/glibj.zip ${WORKDIR}/fake-jdk/jre/lib/${libarch}/rt.jar
+
+       mkdir -p ${WORKDIR}/fake-jdk/include
+       for i in ${STAGING_INCDIR_NATIVE}/classpath/* ;do
+               test -r $i | continue;
+               bn=`basename $i`
+               ln -sf $i ${WORKDIR}/fake-jdk/include/$bn;
+       done
+}
+
+do_configure_append() {
+       oe_runmake patch-ecj
+
+       for F in openjdk-ecj/jdk/make/common/shared/Compiler-gcc.gmk openjdk-ecj/corba/make/common/shared/Compiler-gcc.gmk ;
+       do
+               sed -i \
+                       -e"s|\$(COMPILER_PATH)gcc\$(GCC_SUFFIX)|${CC}|" \
+                       -e"s|\$(COMPILER_PATH)gcc\$(GCC_SUFFIX) -E|${CPP}|" \
+                       -e"s|\$(COMPILER_PATH)g++\$(GCC_SUFFIX)|${CXX}|" \
+                       $F
+       done
+
+       for F in openjdk-ecj/hotspot/make/linux/makefiles/gcc.make openjdk-ecj/hotspot/agent/src/os/linux/Makefile ;
+       do
+               sed -i \
+                       -e"s|gcc\$(GCC_SUFFIX)|${CC}|" \
+                       -e"s|g++\$(GCC_SUFFIX)|${CXX}|" \
+                       $F
+       done
+}
+
+do_compile() {
+       # OpenJDK uses slightly different names for certain arches. We need to know
+       #       this to create some files which are expected by the build.
+       case "${TARGET_ARCH}" in
+               x86_64)
+                       arch=amd64
+                       libarch=amd64
+               ;;
+               i386|i486|i586|i686)
+                       arch=x86
+                       libarch=x86
+               ;;
+               *)
+                       arch=${TARGET_ARCH}
+                       libarch=${TARGET_ARCH}
+               ;;
+       esac
+
+        echo "libarch ist ${libarch}"
+
+        install -d openjdk-ecj/control/build/linux-$arch/hotspot/import/jre/lib
+        if [ $libarch != $arch ]; then
+                # Something is strange with the directoy naming. OpenJDK uses both variants.
+                ln -sf $libarch openjdk-ecj/control/build/linux-$arch/hotspot/import/jre/lib/$arch
+        fi
+
+
+       # First build hotspot to get a libjvm.so
+       echo "1/2 Building Hotspot"
+       oe_runmake hotspot
+
+       # Remove the strange recursive symlink that is created here (If it is not there, then just skip this).
+       rm -rf bootstrap/ecj/jre/lib/$libarch || true
+
+       # Copy libjvm.so for target into bootstrap/jdk1.6.0/jre/lib
+       install -d bootstrap/ecj/jre/lib/$libarch
+       cp openjdk-ecj/build/linux-$arch/j2sdk-image/jre/lib/$libarch/server/libjvm.so bootstrap/ecj/jre/lib/$libarch
+
+       # OpenJDK build expects these files to exist (by creating those files we pretend
+       # that stuff was compiled)
+       common_dir=openjdk-ecj/build/linux-$arch/tmp/sun
+       for D in javax.sound/jsoundalsa sun.awt.X11/xawt sun.awt/jawt;
+       do
+               echo "creating $common_dir/$D/obj64/.files_compiled"
+               install -d $common_dir/$D/obj64
+               touch $common_dir/$D/obj64/.files_compiled
+
+               echo "creating $common_dir/$D/obj/.files_compiled"
+               install -d $common_dir/$D/obj
+               touch $common_dir/$D/obj/.files_compiled
+       done
+
+       echo "2/2 Running make icedtea-against-ecj"
+       oe_runmake icedtea-against-ecj
+       
+       # Creates a nice symlink which allows us to reach the created files easily.
+       oe_runmake stamps/bootstrap-directory-symlink.stamp
+}
+
+do_install() {
+       case "${TARGET_ARCH}" in
+               x86_64)
+                       JDK_ARCH=amd64
+               ;;
+               i386|i486|i586|i686)
+                       JDK_ARCH=x86
+               ;;
+               *)
+                       JDK_ARCH=${TARGET_ARCH}
+               ;;
+       esac
+
+       install -d ${JDK_INSTALL_DIR}
+
+       for F in bootstrap/icedtea/{bin,include,jre,lib}
+       do
+               cp -rL $F ${JDK_INSTALL_DIR}
+       done
+
+       install -d ${JDK_INSTALL_DIR}/include/hpi
+       cp openjdk-ecj/jdk/src/solaris/hpi/export/*.h ${JDK_INSTALL_DIR}/include/hpi
+       cp openjdk-ecj/jdk/src/share/hpi/export/*.h ${JDK_INSTALL_DIR}/include/hpi
+
+       install -d ${JDK_INSTALL_DIR}/include/javavm
+       cp openjdk-ecj/jdk/src/share/javavm/export/*.h ${JDK_INSTALL_DIR}/include/javavm
+       cp openjdk-ecj/jdk/src/solaris/javavm/export/*.h ${JDK_INSTALL_DIR}/include/javavm
+
+       install -d ${JDK_INSTALL_DIR}/generated
+       cp generated/sun/awt/X11/generator/sizer.32 ${JDK_INSTALL_DIR}/generated
+
+       # Fix libjvm.so dependency of libfontmanager.so
+       ln -sf server/libjvm.so ${JDK_INSTALL_DIR}/jre/lib/${JDK_ARCH}/libjvm.so
+       ln -sf server/libjvm.so ${JDK_INSTALL_DIR}/jre/lib/${JDK_ARCH}/libjvm.so.0
+
+       # Fix missing write permissions on the files.
+       chmod ug+w -R ${JDK_INSTALL_DIR}
+}
diff --git a/recipes/icedtea/icedtea6-native_1.7.3.bb b/recipes/icedtea/icedtea6-native_1.7.3.bb
new file mode 100644 (file)
index 0000000..6689ff8
--- /dev/null
@@ -0,0 +1,35 @@
+require ${PN}.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI = "\
+       http://icedtea.classpath.org/download/source/icedtea6-${PV}.tar.gz;name=iced \
+       http://download.java.net/openjdk/jdk6/promoted/b17/openjdk-6-src-b17-14_oct_2009.tar.gz;subdir=openjdk-src-dir;name=ojdk \
+       file://disable-library-checks.patch \
+       file://build-hacks-native.patch \
+       file://icedtea-sane-x86-arch-name.patch \
+        file://icedtea-javac-in.patch \
+       ${ICEDTEA_PATCHES} \
+       "
+SRC_URI[ojdk.md5sum] = "078fe0ab744c98694decc77f2456c560"
+SRC_URI[ojdk.sha256sum] = "2019a4c3d2d14620caa78d7df49fd987a041066b4631bde4fd8424033f3c1785"
+SRC_URI[iced.md5sum] = "9ad707a5edc471e883a66c882adeab46"
+SRC_URI[iced.sha256sum] = "855a7f1a1a7798e3c4c25281b89ee6906a53b226ac39e3153cc0336a6952ca6b"
+
+ICEDTEA_PATCHES = "\
+       file://icedtea-ecj-disable-compilation.patch;apply=no \
+       file://icedtea-ecj-fix-freetype.patch;apply=no \
+       file://icedtea-ecj-fix-zlib.patch;apply=no \
+       file://icedtea-hotspot-make-arch-sane-for-x86.patch;apply=no \
+       file://icedtea-jdk-sane-x86-arch.patch;apply=no \
+       file://icedtea-unbreak-float.patch;apply=no \
+       "
+
+export DISTRIBUTION_PATCHES = "\
+       patches/icedtea-ecj-disable-compilation.patch \
+       patches/icedtea-ecj-fix-freetype.patch \
+       patches/icedtea-ecj-fix-zlib.patch \
+       patches/icedtea-hotspot-make-arch-sane-for-x86.patch \
+       patches/icedtea-jdk-sane-x86-arch.patch \
+       patches/icedtea-unbreak-float.patch \
+       "
diff --git a/recipes/icedtea/icedtea6-native_1.8.bb b/recipes/icedtea/icedtea6-native_1.8.bb
new file mode 100644 (file)
index 0000000..c72f92a
--- /dev/null
@@ -0,0 +1,52 @@
+require ${PN}.inc
+
+PR = "${INC_PR}.0"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "\
+       http://icedtea.classpath.org/download/source/icedtea6-${PV}.tar.gz;name=iced \
+       http://download.java.net/openjdk/jdk6/promoted/b18/openjdk-6-src-b18-16_feb_2010.tar.gz;subdir=openjdk-src-dir;name=ojdk \
+        ${JAXWS_URI} \
+        ${JAF_URI} \
+        ${JAXP_URI} \
+       file://disable-library-checks.patch \
+       file://build-hacks-native.patch \
+       file://icedtea-sane-x86-arch-name.patch \
+       ${ICEDTEA_PATCHES} \
+       "
+SRC_URI[ojdk.md5sum] = "94db01691ab38f98b7d42b2ebf4d5c0b"
+SRC_URI[ojdk.sha256sum] = "778ea7b323aaa24d3c6e8fe32b8bb0f49040d9e86271859077ada9f9ee3c8ebf"
+SRC_URI[iced.md5sum] = "e08dd0762749fb50ec6c273c366ee8ae"
+SRC_URI[iced.sha256sum] = "6823ff87969d978fe5523c729be3074142698c89acc8cc96c05b849fde54f61b"
+
+JAXWS_URI = "http://kenai.com/projects/jdk6-drops/downloads/download/jdk6-jaxws-2009_10_27.zip;name=jaxws"
+SRC_URI[jaxws.md5sum] = "3ea5728706169498b722b898a1008acf"
+SRC_URI[jaxws.sha256sum] = "155ff3be83c980e197621a2fbf7ee34e8e0f536489351a5865cf0e52206245e2"
+
+JAF_URI = "http://kenai.com/projects/jdk6-drops/downloads/download/jdk6-jaf-2009_10_27.zip;name=jaf"
+SRC_URI[jaf.md5sum] = "7a50bb540a27cdd0001885630088b758"
+SRC_URI[jaf.sha256sum] = "fdc51476fc6bcc69ea1f099f33e84601a126bfa8b11c8fa11c25dc574345aa9f"
+
+JAXP_URI = "https://jaxp.dev.java.net/files/nidaba/documents/913/147329/jdk6-jaxp-2009_10_13.zip;name=jaxp"
+SRC_URI[jaxp.md5sum] = "a2f7b972124cd776ff71e7754eb9a429"
+SRC_URI[jaxp.sha256sum] = "8714d55de18db48ca9da0ee986202005082f44cf4c215da8683342b70e61792b"
+
+
+ICEDTEA_PATCHES = "\
+       file://icedtea-ecj-disable-compilation.patch;apply=no \
+       file://icedtea-ecj-fix-freetype.patch;apply=no \
+       file://icedtea-ecj-fix-zlib.patch;apply=no \
+        file://icedtea-hotspot-make-arch-sane-for-x86.patch;apply=no \
+        file://icedtea-jdk-sane-x86-arch.patch;apply=no \
+        file://icedtea-unbreak-float.patch;apply=no \
+       "
+
+export DISTRIBUTION_PATCHES = "\
+       patches/icedtea-ecj-disable-compilation.patch \
+       patches/icedtea-ecj-fix-freetype.patch \
+       patches/icedtea-ecj-fix-zlib.patch \
+       patches/icedtea-hotspot-make-arch-sane-for-x86.patch \
+        patches/icedtea-jdk-sane-x86-arch.patch \
+       patches/icedtea-unbreak-float.patch \
+       "
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/build-hacks.patch b/recipes/openjdk/openjdk-6-6b18-1.8/build-hacks.patch
new file mode 100644 (file)
index 0000000..02a8300
--- /dev/null
@@ -0,0 +1,31 @@
+Index: icedtea6-1.8/Makefile.am
+===================================================================
+--- icedtea6-1.8.orig/Makefile.am      2010-04-12 23:55:51.754838172 +0200
++++ icedtea6-1.8/Makefile.am   2010-06-16 15:17:10.224708601 +0200
+@@ -477,6 +477,11 @@
+       JAVAC="" \
+       JAVA_HOME="" \
+       JDK_HOME="" \
++        OE_CFLAGS="$(OE_CFLAGS)" \
++        OE_CPPFLAGS="$(OE_CPPFLAGS)" \
++        OE_CXXFLAGS="$(OE_CXXFLAGS)" \
++        OE_LDFLAGS="$(OE_LDFLAGS)" \
++        OE_LAUNCHER_LDFLAGS="$(OE_LAUNCHER_LDFLAGS)" \
+       DISTRIBUTION_ID="$(DIST_ID)" \
+       DERIVATIVE_ID="$(ICEDTEA_NAME) $(PACKAGE_VERSION)$(ICEDTEA_REV)" \
+       DEBUG_CLASSFILES="true" \
+Index: icedtea6-1.8/javac.in
+===================================================================
+--- icedtea6-1.8.orig/javac.in 2010-03-25 15:10:41.714835519 +0100
++++ icedtea6-1.8/javac.in      2010-06-16 15:14:31.205334756 +0200
+@@ -35,7 +35,9 @@
+ elif [ ! -z "@ECJ@" ] ; then
+     @ECJ@ -1.5 -nowarn $bcoption $NEW_ARGS
+ else
++    # Compiling hotspot-tools consumes tons of memory and exceeds any default
++    # limits for jamvm and cacao.
+     CLASSPATH=@ECJ_JAR@${CLASSPATH:+:}$CLASSPATH \
+-     @JAVA@ org.eclipse.jdt.internal.compiler.batch.Main -1.5 -nowarn $bcoption $NEW_ARGS
++     @JAVA@ -Xmx1024m org.eclipse.jdt.internal.compiler.batch.Main -1.5 -nowarn $bcoption $NEW_ARGS
+ fi
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/cacao-disable-stackbase-check.patch b/recipes/openjdk/openjdk-6-6b18-1.8/cacao-disable-stackbase-check.patch
new file mode 100644 (file)
index 0000000..d676142
--- /dev/null
@@ -0,0 +1,12 @@
+Index: cacao/cacao/src/mm/boehm-gc/os_dep.c
+===================================================================
+--- cacao/cacao/src/mm/boehm-gc/os_dep.c       2009-02-15 16:29:15.000000000 +0100
++++ cacao/cacao/src/mm/boehm-gc/os_dep.c       2009-02-15 16:29:24.000000000 +0100
+@@ -1077,7 +1077,6 @@
+       c = stat_buf[buf_offset++];
+     }
+     close(f);
+-    if (result < 0x10000000) ABORT("Absurd stack bottom value");
+     return (ptr_t)result;
+   }
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/cacao-vfp-compat.patch b/recipes/openjdk/openjdk-6-6b18-1.8/cacao-vfp-compat.patch
new file mode 100644 (file)
index 0000000..09ba984
--- /dev/null
@@ -0,0 +1,37 @@
+Index: cacao/cacao/src/vm/jit/arm/codegen.c
+===================================================================
+--- cacao/cacao/src/vm/jit/arm/codegen.c       2008-10-01 16:23:21.439856241 +0200
++++ cacao/cacao/src/vm/jit/arm/codegen.c       2008-10-01 16:41:24.278841537 +0200
+@@ -2353,10 +2353,12 @@
+                       d = md->returntype.type;
+-#if !defined(__SOFTFP__)
++#if !defined(__SOFTFP__) && !defined(__VFP_FP__)
+                       /* TODO: this is only a hack, since we use R0/R1 for float
+                          return!  this depends on gcc; it is independent from
+-                         our ENABLE_SOFTFLOAT define */
++                         our ENABLE_SOFTFLOAT define
++                         It is only needed for -mfpu=fpa -mfloat-abi=hard!
++                       */
+                       if (iptr->opc == ICMD_BUILTIN && d != TYPE_VOID && IS_FLT_DBL_TYPE(d)) {
+ #if 0 && !defined(NDEBUG)
+                               dolog("BUILTIN that returns float or double (%s.%s)", m->clazz->name->text, m->name->text);
+@@ -3019,7 +3021,7 @@
+       s1 = (s4) (cd->mcodeptr - cd->mcodebase);
+       M_RECOMPUTE_PV(s1);
+-#if !defined(__SOFTFP__)
++#if !defined(__SOFTFP__) && !defined(__VFP_FP__)
+       /* TODO: this is only a hack, since we use R0/R1 for float return! */
+       /* this depends on gcc; it is independent from our ENABLE_SOFTFLOAT define */
+       if (md->returntype.type != TYPE_VOID && IS_FLT_DBL_TYPE(md->returntype.type)) {
+@@ -3030,7 +3032,7 @@
+               /* M_CAST_FLT_TO_INT_TYPED(md->returntype.type, REG_FRESULT, REG_RESULT_TYPED(md->returntype.type)); */
+               if (IS_2_WORD_TYPE(md->returntype.type)) {
+                       DCD(0xed2d8102); /* stfd    f0, [sp, #-8]! */
+-                      M_LDRD_UPDATE(REG_RESULT_PACKED, REG_SP, 8);
++                      M_LDRD_UPDATE(REG_RESULT_PACKED, REG_SP, 8);
+               } else {
+                       DCD(0xed2d0101); /* stfs    f0, [sp, #-4]!*/
+                       M_LDR_UPDATE(REG_RESULT, REG_SP, 4);
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/fix-llvm-libs.patch b/recipes/openjdk/openjdk-6-6b18-1.8/fix-llvm-libs.patch
new file mode 100644 (file)
index 0000000..7c82daf
--- /dev/null
@@ -0,0 +1,13 @@
+Index: icedtea6-1.8/configure.ac
+===================================================================
+--- icedtea6-1.8.orig/configure.ac
++++ icedtea6-1.8/configure.ac
+@@ -472,7 +472,7 @@
+     if test "x$LLVM_SHARED_LIB" != x && echo "$flag" | grep -q '^-lLLVM'; then
+       continue
+     fi
+-    if echo "$flag" | grep -q '^-l'; then
++    if echo "$flag" | grep -q '^-l\|.so'; then
+       if test "x$LLVM_LIBS" != "x"; then
+         LLVM_LIBS="$LLVM_LIBS "
+       fi
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/fix_hotspot_crosscompile.patch b/recipes/openjdk/openjdk-6-6b18-1.8/fix_hotspot_crosscompile.patch
new file mode 100644 (file)
index 0000000..38fb191
--- /dev/null
@@ -0,0 +1,94 @@
+Index: icedtea6-1.8/Makefile.am
+===================================================================
+--- icedtea6-1.8.orig/Makefile.am      2010-06-18 12:31:34.534667003 +0200
++++ icedtea6-1.8/Makefile.am   2010-06-18 12:31:34.714667729 +0200
+@@ -488,6 +488,7 @@
+       DEBUG_BINARIES="true" \
+       ALT_DROPS_DIR="$(abs_top_builddir)/drops" \
+       VERBOSE="$(VERBOSE)" \
++      CC_FOR_BUILD="$(CC_FOR_BUILD)" \
+       ALT_NETX_DIST="$(abs_top_builddir)/netx.build" \
+       ALT_LIVECONNECT_DIST="$(abs_top_builddir)/liveconnect"
+Index: icedtea6-1.8/acinclude.m4
+===================================================================
+--- icedtea6-1.8.orig/acinclude.m4     2010-04-10 21:58:40.804836529 +0200
++++ icedtea6-1.8/acinclude.m4  2010-06-18 12:31:34.714667729 +0200
+@@ -900,6 +900,21 @@
+   AC_SUBST(ALT_CACAO_SRC_DIR)
+ ])
++AC_DEFUN([AC_CHECK_WITH_CC_FOR_BUILD],
++[
++  AC_MSG_CHECKING(for compiler used for subsidiary programs)
++  AC_ARG_WITH([cc-for-build],
++              [AS_HELP_STRING(--with-cc-for-build,specify the compiler for subsidiary (helper) programs)],
++  [
++    CC_FOR_BUILD="${withval}"
++  ],
++  [
++    CC_FOR_BUILD="\$(CC)"
++  ])
++  AC_MSG_RESULT(${CC_FOR_BUILD})
++  AC_SUBST(CC_FOR_BUILD)
++])
++
+ AC_DEFUN([AC_CHECK_WITH_GCJ],
+ [
+   AC_MSG_CHECKING([whether to compile ecj natively])
+Index: icedtea6-1.8/configure.ac
+===================================================================
+--- icedtea6-1.8.orig/configure.ac     2010-04-12 13:46:18.821086023 +0200
++++ icedtea6-1.8/configure.ac  2010-06-18 12:31:34.724666321 +0200
+@@ -44,6 +44,7 @@
+ IT_CHECK_FOR_MERCURIAL
+ IT_OBTAIN_HG_REVISIONS
+ AC_PATH_TOOL([LSB_RELEASE],[lsb_release])
++AC_CHECK_WITH_CC_FOR_BUILD
+ AC_CHECK_WITH_GCJ
+ AC_CHECK_WITH_HOTSPOT_BUILD
+ AC_PATH_TOOL([LINUX32],[linux32])
+Index: icedtea6-1.8/ports/hotspot/make/linux/makefiles/zeroshark.make
+===================================================================
+--- icedtea6-1.8.orig/ports/hotspot/make/linux/makefiles/zeroshark.make        2010-03-25 15:10:42.061085966 +0100
++++ icedtea6-1.8/ports/hotspot/make/linux/makefiles/zeroshark.make     2010-06-18 12:40:42.834666505 +0200
+@@ -32,6 +32,13 @@
+ Obj_Files += thumb2.o
+ CFLAGS += -DHOTSPOT_ASM
++CCFLAGS += -DHOTSPOT_ASM
++
++ifeq ($(CROSS_COMPILATION), true)
++  C_COMPILE_FOR_MKBC = $(CC_FOR_BUILD)
++else
++  C_COMPILE_FOR_MKBC = $(C_COMPILE)
++endif
+ %.o: %.S
+       @echo Assembling $<
+@@ -43,20 +50,20 @@
+ offsets_arm.s:        mkoffsets
+       @echo Generating assembler offsets
+-      ./mkoffsets > $@
++      $(QEMU) ./mkoffsets > $@
+ bytecodes_arm.s: bytecodes_arm.def mkbc
+       @echo Generatine ARM assembler bytecode sequences
+       $(CC_COMPILE) -E -x c++ - < $< | ./mkbc - $@ $(COMPILE_DONE)
+-mkbc: $(GAMMADIR)/tools/mkbc.c
++mkbc: $(GAMMADIR)/tools/mkbc.c
+       @echo Compiling mkbc tool
+-      $(CC_COMPILE) -o $@ $< $(COMPILE_DONE)
++      $(C_COMPILE_FOR_MKBC) -o $@ $< $(COMPILE_DONE)
+-mkoffsets:    asm_helper.cpp
++mkoffsets: asm_helper.cpp
+       @echo Compiling offset generator
+       $(QUIETLY) $(REMOVE_TARGET)
+-      $(CC_COMPILE) -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
++      $(CC_COMPILE) -static -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE)
+ endif
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-crosscompile-fix.patch b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-crosscompile-fix.patch
new file mode 100644 (file)
index 0000000..ec0f259
--- /dev/null
@@ -0,0 +1,214 @@
+Index: openjdk/jdk/make/sun/awt/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/awt/Makefile     2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/sun/awt/Makefile  2009-01-24 17:55:07.000000000 +0100
+@@ -509,10 +509,10 @@
+ #
+ ifeq ($(PLATFORM), linux)
+-CPPFLAGS += -I$(MOTIF_DIR)/include \
+-            -I$(OPENWIN_HOME)/include \
+-            -I$(OPENWIN_HOME)/include/X11/extensions \
+-            -I$(PLATFORM_SRC)/native/$(PKGDIR)/font 
++#CPPFLAGS += -I$(MOTIF_DIR)/include \
++#            -I$(OPENWIN_HOME)/include \
++#            -I$(OPENWIN_HOME)/include/X11/extensions \
++CPPFLAGS +=  -I$(PLATFORM_SRC)/native/$(PKGDIR)/font 
+ endif
+ CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR)/debug \
+             -I$(SHARE_SRC)/native/$(PKGDIR)/../font \
+@@ -536,7 +536,7 @@
+           $(EVENT_MODEL)
+ ifeq ($(PLATFORM), linux)
+-LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
++#LDFLAGS += -L$(MOTIF_LIB) -L$(OPENWIN_LIB)
+ endif
+ LDFLAGS += -L$(LIBDIR)/$(LIBARCH)/$(TSOBJDIR) \
+Index: openjdk/jdk/make/sun/awt/mawt.gmk
+===================================================================
+--- openjdk.orig/jdk/make/sun/awt/mawt.gmk     2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/sun/awt/mawt.gmk  2009-01-24 17:55:07.000000000 +0100
+@@ -194,8 +194,8 @@
+ CPPFLAGS += -I$(CUPS_HEADERS_PATH)
+ ifndef HEADLESS
+-CPPFLAGS += -I$(OPENWIN_HOME)/include 
+-LDFLAGS  += -L$(OPENWIN_LIB)
++#CPPFLAGS += -I$(OPENWIN_HOME)/include 
++#LDFLAGS  += -L$(OPENWIN_LIB)
+ endif # !HEADLESS
+@@ -223,8 +223,8 @@
+ ifeq ($(PLATFORM), linux)
+ # Checking for the X11/extensions headers at the additional location
+-  CPPFLAGS += -I/X11R6/include/X11/extensions \
+-              -I/usr/include/X11/extensions
++#  CPPFLAGS += -I/X11R6/include/X11/extensions \
++#              -I/usr/include/X11/extensions
+ endif
+ ifeq ($(PLATFORM), solaris)
+Index: openjdk/jdk/make/sun/xawt/Makefile
+===================================================================
+--- openjdk.orig/jdk/make/sun/xawt/Makefile    2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/sun/xawt/Makefile 2009-01-24 17:55:07.000000000 +0100
+@@ -123,11 +123,12 @@
+         -I$(PLATFORM_SRC)/native/sun/awt 
+ ifeq ($(PLATFORM), linux)
++# Very unsuitable for cross-compilation.
+ # Allows for builds on Debian GNU Linux, X11 is in a different place 
+-  CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
+-              -I/usr/include/X11/extensions \
+-              -I$(MOTIF_DIR)/include \
+-              -I$(OPENWIN_HOME)/include 
++#  CPPFLAGS += -I/usr/X11R6/include/X11/extensions \
++#              -I/usr/include/X11/extensions \
++#              -I$(MOTIF_DIR)/include \
++#              -I$(OPENWIN_HOME)/include 
+ endif
+ ifeq ($(PLATFORM), solaris)
+@@ -237,7 +238,9 @@
+       $(BOOT_JAVA_CMD) -cp $(WRAPPER_GENERATOR_TEMPDIR) WrapperGenerator \
+           $(SIZER_DIR) $(XLIBTYPES) "sizer" $(subst .,,$(suffix $(basename $@)))
+-$(SIZES): $(SIZERS)
++#$(SIZES): $(SIZERS)
++# Prevent binaries being created. Instead take what is available.
++$(SIZES):
+       @if [ "$(DOHACK)$@" = "true$(PREDEFINED_SIZES)" ]; then \
+           $(ECHO) COPYING $(PREDEFINED_SIZES_TMPL) into $@; \
+           $(CP) $(PREDEFINED_SIZES_TMPL) $@; \
+Index: openjdk/hotspot/make/linux/makefiles/vm.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/vm.make  2009-01-24 17:54:57.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/vm.make       2009-01-24 17:55:07.000000000 +0100
+@@ -170,6 +170,7 @@
+ LIBS_VM   += $(LLVM_LIBS)
+ endif
++LFLAGS_VM += $(OE_LDFLAGS)
+ LINK_VM = $(LINK_LIB.c)
+ # rule for building precompiled header
+Index: openjdk/hotspot/make/linux/makefiles/buildtree.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/buildtree.make   2009-01-24 17:54:57.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/buildtree.make        2009-01-24 17:55:07.000000000 +0100
+@@ -343,7 +343,7 @@
+       echo "rm -f Queens.class"; \
+       echo "\$${JAVA_HOME}/bin/javac -d . $(GAMMADIR)/make/test/Queens.java"; \
+       echo '[ -f gamma_g ] && { gamma=gamma_g; }'; \
+-      echo './$${gamma:-gamma} $(TESTFLAGS) Queens < /dev/null'; \
++      echo 'echo Silently skipping the execution of the gamma program'; \
+       ) > $@
+       $(QUIETLY) chmod +x $@
+Index: openjdk/corba/make/common/Defs-linux.gmk
+===================================================================
+--- openjdk.orig/corba/make/common/Defs-linux.gmk      2009-01-24 17:54:57.000000000 +0100
++++ openjdk/corba/make/common/Defs-linux.gmk   2009-01-24 17:55:07.000000000 +0100
+@@ -82,9 +82,9 @@
+ CC_NO_OPT      =
+ ifeq ($(PRODUCT), java)
+-    _OPT = $(CC_HIGHER_OPT)
++    _OPT = $(OE_CFLAGS)
+ else
+-    _OPT = $(CC_LOWER_OPT)
++    _OPT = $(OE_CFLAGS)
+     CPPFLAGS_DBG    += -DLOGGING 
+ endif
+@@ -94,7 +94,7 @@
+ #    as the default.
+ CFLAGS_REQUIRED_alpha   += -mieee -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_amd64   += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+-CFLAGS_REQUIRED_arm     += -D_LITTLE_ENDIAN
++CFLAGS_REQUIRED_arm     += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_hppa    +=
+ CFLAGS_REQUIRED_i586    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_ia64    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+@@ -221,7 +221,7 @@
+ #
+ # -L paths for finding and -ljava
+ #
+-LDFLAGS_OPT     = -Xlinker -O1
++LDFLAGS_OPT     = $(OE_LDFLAGS)
+ LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
+ LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
+Index: openjdk/jdk/make/common/Defs-linux.gmk
+===================================================================
+--- openjdk.orig/jdk/make/common/Defs-linux.gmk        2009-01-24 17:54:57.000000000 +0100
++++ openjdk/jdk/make/common/Defs-linux.gmk     2009-01-24 17:55:07.000000000 +0100
+@@ -92,9 +92,9 @@
+ CC_NO_OPT      =
+ ifeq ($(PRODUCT), java)
+-    _OPT = $(CC_HIGHER_OPT)
++    _OPT = $(OE_CFLAGS)
+ else
+-    _OPT = $(CC_LOWER_OPT)
++    _OPT = $(OE_CFLAGS)
+     CPPFLAGS_DBG    += -DLOGGING 
+ endif
+@@ -104,7 +104,7 @@
+ #    as the default.
+ CFLAGS_REQUIRED_alpha   += -mieee -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_amd64   += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+-CFLAGS_REQUIRED_arm     += -D_LITTLE_ENDIAN
++CFLAGS_REQUIRED_arm     += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_hppa    +=
+ CFLAGS_REQUIRED_i586    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+ CFLAGS_REQUIRED_ia64    += -fno-omit-frame-pointer -D_LITTLE_ENDIAN
+@@ -231,7 +231,7 @@
+ #
+ # -L paths for finding and -ljava
+ #
+-LDFLAGS_OPT     = -Xlinker -O1
++LDFLAGS_OPT     = $(OE_LDFLAGS)
+ LDFLAGS_COMMON += -L$(LIBDIR)/$(LIBARCH)
+ LDFLAGS_COMMON += -Wl,-soname=$(LIB_PREFIX)$(LIBRARY).$(LIBRARY_SUFFIX)
+Index: openjdk/hotspot/make/linux/makefiles/gcc.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make 2009-01-24 17:54:57.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/gcc.make      2009-01-24 17:55:07.000000000 +0100
+@@ -119,7 +119,7 @@
+ CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@)) 
+ # The flags to use for an Optimized g++ build
+-OPT_CFLAGS += -O3
++OPT_CFLAGS += $(OE_CFLAGS)
+ # Hotspot uses very unstrict aliasing turn this optimization off
+ OPT_CFLAGS += -fno-strict-aliasing
+@@ -148,7 +148,7 @@
+ endif
+ # Enable linker optimization
+-LFLAGS += -Xlinker -O1
++LFLAGS += $(OE_LDFLAGS)
+ # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file.
+ MAPFLAG = -Xlinker --version-script=FILENAME
+Index: openjdk/hotspot/make/linux/makefiles/launcher.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/launcher.make    2009-01-24 17:55:19.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/launcher.make 2009-01-24 17:56:05.000000000 +0100
+@@ -44,7 +44,7 @@
+   LIBS_LAUNCHER             += $(STATIC_STDCXX) $(LIBS)
+ else
+   LAUNCHER.o                 = launcher.o
+-  LFLAGS_LAUNCHER           += -L `pwd`
++  LFLAGS_LAUNCHER           += -L `pwd` $(OE_LAUNCHER_LDFLAGS) $(OE_LDFLAGS)
+   LIBS_LAUNCHER             += -l$(JVM) $(LIBS) -lstdc++
+ endif
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-fix-jar-command.patch b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-fix-jar-command.patch
new file mode 100644 (file)
index 0000000..607797e
--- /dev/null
@@ -0,0 +1,27 @@
+Index: icedtea6-1.8/Makefile.am
+===================================================================
+--- icedtea6-1.8.orig/Makefile.am      2010-06-17 10:29:13.654666801 +0200
++++ icedtea6-1.8/Makefile.am   2010-06-17 10:30:50.334670771 +0200
+@@ -1662,12 +1662,7 @@
+       rm -f extra-source-files.txt
+ extra-lib/about.jar: stamps/extra-class-files.stamp
+-      if ! test -d $(ICEDTEA_BOOT_DIR) ; \
+-      then \
+-        $(JAR) cf $@ -C extra-lib net ; \
+-      else \
+-        $(ICEDTEA_BOOT_DIR)/bin/jar cf $@ -C extra-lib net ; \
+-      fi
++      $(ICEDTEA_BOOT_DIR)/bin/jar cf $@ -C extra-lib net ;
+ # PulseAudio based mixer
+ # (pulse-java)
+@@ -1750,7 +1745,7 @@
+ stamps/rewrite-rhino.stamp: stamps/rewriter.stamp $(RHINO_JAR)
+ if WITH_RHINO
+       mkdir -p rhino/rhino.{old,new}
+-      (cd rhino/rhino.old ; jar xf $(RHINO_JAR))
++      (cd rhino/rhino.old ; $(ICEDTEA_BOOT_DIR)/bin/jar xf $(RHINO_JAR))
+       $(ICEDTEA_BOOT_DIR)/bin/java -cp $(abs_top_builddir)/rewriter \
+         com.redhat.rewriter.ClassRewriter \
+         $(abs_top_builddir)/rhino/rhino.old $(abs_top_builddir)/rhino/rhino.new \
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-hostbuildcc.patch b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-hostbuildcc.patch
new file mode 100644 (file)
index 0000000..5f2c98b
--- /dev/null
@@ -0,0 +1,12 @@
+Index: openjdk/hotspot/make/linux/makefiles/rules.make
+===================================================================
+--- openjdk/hotspot/make/linux/makefiles/rules.make    2010-02-02 02:22:33.201668748 +0100
++++ openjdk/hotspot/make/linux/makefiles/rules.make    2010-02-02 02:23:08.480415783 +0100
+@@ -39,6 +39,7 @@
+ # $(CC) is the c compiler (cc/gcc), $(CCC) is the c++ compiler (CC/g++).
+ C_COMPILE       = $(CC) $(CPPFLAGS) $(CFLAGS)
+ CC_COMPILE      = $(CCC) $(CPPFLAGS) $(CFLAGS)
++CC_HOST_COMPILE  = $(BUILD_CC) $(CPPFLAGS) $(CFLAGS)
+ AS.S            = $(AS) $(ASFLAGS)
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-hotspot-glibc-version.patch b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-hotspot-glibc-version.patch
new file mode 100644 (file)
index 0000000..faa90ea
--- /dev/null
@@ -0,0 +1,23 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+===================================================================
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp       2010-06-09 22:22:13.696298239 +0200
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp       2010-06-09 22:24:15.308790737 +0200
+@@ -49,7 +49,6 @@
+ # include <string.h>
+ # include <syscall.h>
+ # include <sys/sysinfo.h>
+-# include <gnu/libc-version.h>
+ # include <sys/ipc.h>
+ # include <sys/shm.h>
+ # include <link.h>
+@@ -544,9 +543,7 @@
+      os::Linux::set_glibc_version(str);
+   } else {
+      // _CS_GNU_LIBC_VERSION is not supported, try gnu_get_libc_version()
+-     static char _gnu_libc_version[32];
+-     jio_snprintf(_gnu_libc_version, sizeof(_gnu_libc_version),
+-              "glibc %s %s", gnu_get_libc_version(), gnu_get_libc_release());
++     static char _gnu_libc_version[32] = "2.9";
+      os::Linux::set_glibc_version(_gnu_libc_version);
+   }
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-hotspot-isfinte.patch b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-hotspot-isfinte.patch
new file mode 100644 (file)
index 0000000..7c5da59
--- /dev/null
@@ -0,0 +1,15 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+===================================================================
+--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp   2010-06-09 21:41:28.576131825 +0200
++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp   2010-06-09 21:41:55.555711815 +0200
+@@ -235,8 +235,8 @@
+ // Checking for finiteness
+-inline int g_isfinite(jfloat  f)                 { return finite(f); }
+-inline int g_isfinite(jdouble f)                 { return finite(f); }
++inline int g_isfinite(jfloat  f)                 { return isfinite(f); }
++inline int g_isfinite(jdouble f)                 { return isfinite(f); }
+ // Wide characters
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-hotspot-isnanf.patch b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-hotspot-isnanf.patch
new file mode 100644 (file)
index 0000000..494e965
--- /dev/null
@@ -0,0 +1,21 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp
+===================================================================
+--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp   2010-06-09 21:47:12.695674808 +0200
++++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp   2010-06-09 21:48:08.699007491 +0200
+@@ -220,14 +220,14 @@
+ // checking for nanness
+ #ifdef SOLARIS
+ #ifdef SPARC
+-inline int g_isnan(float  f) { return isnanf(f); }
++inline int g_isnan(float  f) { return __isnanf(f); }
+ #else
+ // isnanf() broken on Intel Solaris use isnand()
+ inline int g_isnan(float  f) { return isnand(f); }
+ #endif
+ inline int g_isnan(double f) { return isnand(f); }
+ #elif LINUX
+-inline int g_isnan(float  f) { return isnanf(f); }
++inline int g_isnan(float  f) { return __isnanf(f); }
+ inline int g_isnan(double f) { return isnan(f); }
+ #else
+ #error "missing platform-specific definition here"
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-hotspot-loadavg.patch b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-hotspot-loadavg.patch
new file mode 100644 (file)
index 0000000..7da41fd
--- /dev/null
@@ -0,0 +1,28 @@
+Index: icedtea6-1.8/build/openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+===================================================================
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp       2010-06-09 22:16:09.406334411 +0200
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp       2010-06-09 22:19:38.952152043 +0200
+@@ -4325,7 +4325,22 @@
+ // Linux doesn't yet have a (official) notion of processor sets,
+ // so just return the system wide load average.
+ int os::loadavg(double loadavg[], int nelem) {
+-  return ::getloadavg(loadavg, nelem);
++
++      FILE *LOADAVG;
++      double avg[3] = { 0.0, 0.0, 0.0 };
++      int i, res = -1;;
++
++      if ((LOADAVG = fopen("/proc/loadavg", "r"))) {
++              fscanf(LOADAVG, "%lf %lf %lf", &avg[0], &avg[1], &avg[2]);
++              res = 0;
++              fclose(LOADAVG);
++      }
++
++      for (i = 0; (i < nelem) && (i < 3); i++) {
++              loadavg[i] = avg[i];
++      }
++
++      return res;
+ }
+ void os::pause() {
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-jdk-RTLD_NOLOAD.patch b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-jdk-RTLD_NOLOAD.patch
new file mode 100644 (file)
index 0000000..9c70ba1
--- /dev/null
@@ -0,0 +1,13 @@
+Index: openjdk/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c
+===================================================================
+--- openjdk/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c   2010-06-13 15:18:05.655136951 +0200
++++ openjdk/jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c   2010-06-13 15:20:29.601377967 +0200
+@@ -51,7 +51,7 @@
+ {
+     const char *libName = (*env)->GetStringUTFChars(env, jLibName, NULL);
+     // look up existing handle only, do not load
+-    void *hModule = dlopen(libName, RTLD_NOLOAD);
++    void *hModule = dlopen(libName, RTLD_LAZY);
+     dprintf2("-handle for %s: %u\n", libName, hModule);
+     (*env)->ReleaseStringUTFChars(env, jLibName, libName);
+     return (jlong)hModule;
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-jdk-iconv-uclibc.patch b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-jdk-iconv-uclibc.patch
new file mode 100644 (file)
index 0000000..68f8581
--- /dev/null
@@ -0,0 +1,39 @@
+Index: openjdk/jdk/make/java/npt/Makefile
+===================================================================
+--- openjdk/jdk/make/java/npt/Makefile 2010-06-13 15:11:02.598512448 +0200
++++ openjdk/jdk/make/java/npt/Makefile 2010-06-13 15:11:28.504759286 +0200
+@@ -65,6 +65,8 @@
+ # We don't want to link against -ljava
+ JAVALIB=
++LDLIBS += -liconv
++
+ # Add -export options to explicitly spell exported symbols
+ ifeq ($(PLATFORM), windows)
+   OTHER_LCF += -export:nptInitialize -export:nptTerminate
+Index: icedtea6-1.8/openjdk-ecj/jdk/make/java/instrument/Makefile
+===================================================================
+--- openjdk/jdk/make/java/instrument/Makefile  2010-06-13 15:12:14.688505195 +0200
++++ openjdk/jdk/make/java/instrument/Makefile  2010-06-13 15:12:32.641425670 +0200
+@@ -123,6 +123,8 @@
+ # We don't want to link against -ljava
+ JAVALIB=
++LDLIBS += -liconv
++
+ #
+ # Add to ambient vpath so we pick up the library files
+ #
+Index: openjdk/jdk/make/sun/splashscreen/Makefile
+===================================================================
+--- openjdk/jdk/make/sun/splashscreen/Makefile 2010-06-13 15:12:48.951840824 +0200
++++ openjdk/jdk/make/sun/splashscreen/Makefile 2010-06-13 15:13:01.191422891 +0200
+@@ -55,6 +55,8 @@
+ JAVALIB=
++LDLIBS += -liconv
++
+ #
+ # C Flags
+ #
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-jdk-remove-unused-backtrace.patch b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-jdk-remove-unused-backtrace.patch
new file mode 100644 (file)
index 0000000..09ab459
--- /dev/null
@@ -0,0 +1,51 @@
+Index: openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c
+===================================================================
+--- openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c 2010-06-13 13:44:00.741955478 +0200
++++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c 2010-06-13 13:48:11.451931804 +0200
+@@ -27,9 +27,6 @@
+ #include <X11/Xutil.h>
+ #include <X11/Xos.h>
+ #include <X11/Xatom.h>
+-#ifdef __linux__
+-#include <execinfo.h>
+-#endif
+ #include <jvm.h>
+ #include <jni.h>
+@@ -692,35 +689,11 @@
+ static XErrorHandler saved_error_handler = NULL;
+-#ifdef __linux__
+-void print_stack(void)
+-{
+-  void *array[10];
+-  size_t size;
+-  char **strings;
+-  size_t i;
+-
+-  size = backtrace (array, 10);
+-  strings = backtrace_symbols (array, size);
+-
+-  fprintf (stderr, "Obtained %zd stack frames.\n", size);
+-
+-  for (i = 0; i < size; i++)
+-     fprintf (stderr, "%s\n", strings[i]);
+-
+-  free (strings);
+-}
+-#endif
+-
+ static int NoisyXErrorHandler(Display * dpy, XErrorEvent * event) {
+     fprintf(stderr, "id=%x, serial=%x, ec=%d, rc=%d, mc=%d\n",
+             event->resourceid, event->serial, event->error_code,
+             event->request_code, event->minor_code);
+-    /*
+-    #ifdef __linux__
+-        print_stack();
+-    #endif
+-    */
++
+     if (jvm != NULL) {
+       JNIEnv * env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
+       JNU_CallStaticMethodByName(env, NULL, "java/lang/Thread", "dumpStack", "()V");
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-jdk-unpack-uclibc.patch b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-jdk-unpack-uclibc.patch
new file mode 100644 (file)
index 0000000..40564f0
--- /dev/null
@@ -0,0 +1,12 @@
+Index: openjdk/jdk/make/com/sun/java/pack/Makefile
+===================================================================
+--- openjdk/jdk/make/com/sun/java/pack/Makefile        2010-06-13 15:25:21.548426411 +0200
++++ openjdk/jdk/make/com/sun/java/pack/Makefile        2010-06-13 15:25:43.858007543 +0200
+@@ -103,6 +103,7 @@
+   OTHER_LDLIBS += $(LIBCXX) -lc
+ # setup the list of libraries to link in...
+ ifeq ($(PLATFORM), linux)
++  OTHER_LDLIBS  += -lpthread
+ ifeq ("$(CC_VER_MAJOR)", "3")
+   OTHER_LDLIBS  += -Wl,-Bstatic -lgcc_eh -Wl,-Bdynamic
+ endif
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-launcher-stdc++.patch b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-launcher-stdc++.patch
new file mode 100644 (file)
index 0000000..ee24afa
--- /dev/null
@@ -0,0 +1,13 @@
+Index: openjdk/hotspot/make/linux/makefiles/launcher.make
+===================================================================
+--- openjdk.orig/hotspot/make/linux/makefiles/launcher.make    2009-01-16 17:30:56.000000000 +0100
++++ openjdk/hotspot/make/linux/makefiles/launcher.make 2009-01-16 17:31:13.000000000 +0100
+@@ -45,7 +45,7 @@
+ else
+   LAUNCHER.o                 = launcher.o
+   LFLAGS_LAUNCHER           += -L `pwd`
+-  LIBS_LAUNCHER             += -l$(JVM) $(LIBS)
++  LIBS_LAUNCHER             += -l$(JVM) $(LIBS) -lstdc++
+ endif
+ LINK_LAUNCHER = $(LINK.c)
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-libnet-renaming.patch b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-libnet-renaming.patch
new file mode 100644 (file)
index 0000000..024969d
--- /dev/null
@@ -0,0 +1,148 @@
+Index: openjdk/jdk/make/java/net/Makefile
+===================================================================
+--- openjdk/jdk/make/java/net/Makefile 2010-07-05 12:28:58.476625401 +0200
++++ openjdk/jdk/make/java/net/Makefile 2010-07-05 12:29:11.876625138 +0200
+@@ -25,7 +25,7 @@
+ BUILDDIR = ../..
+ PACKAGE = java.net
+-LIBRARY = net
++LIBRARY = javanet
+ PRODUCT = sun
+ include $(BUILDDIR)/common/Defs.gmk
+Index: openjdk/jdk/make/java/nio/Makefile
+===================================================================
+--- openjdk/jdk/make/java/nio/Makefile 2010-07-05 12:31:27.046626250 +0200
++++ openjdk/jdk/make/java/nio/Makefile 2010-07-05 12:32:06.647874890 +0200
+@@ -139,11 +139,11 @@
+ endif
+ ifeq ($(PLATFORM), linux)
+ COMPILER_WARNINGS_FATAL=true
+-OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -lnet -lpthread -ldl
++OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -ljavanet -lpthread -ldl
+ endif
+ ifeq ($(PLATFORM), solaris)
+ OTHER_LDLIBS += $(JVMLIB) $(LIBSOCKET) -lposix4 -ldl \
+-              -L$(LIBDIR)/$(LIBARCH) -ljava -lnet
++              -L$(LIBDIR)/$(LIBARCH) -ljava -ljavanet
+ endif # PLATFORM
+ #
+Index: openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java        2010-07-05 17:40:56.467876415 +0200
++++ openjdk/jdk/src/share/classes/java/net/AbstractPlainDatagramSocketImpl.java        2010-07-05 17:41:43.326628410 +0200
+@@ -58,7 +58,7 @@
+      */
+     static {
+         java.security.AccessController.doPrivileged(
+-                  new sun.security.action.LoadLibraryAction("net"));
++                  new sun.security.action.LoadLibraryAction("javanet"));
+     }
+     /**
+Index: openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java        2010-07-05 17:41:01.027875484 +0200
++++ openjdk/jdk/src/share/classes/java/net/AbstractPlainSocketImpl.java        2010-07-05 17:41:56.826626386 +0200
+@@ -74,7 +74,7 @@
+      */
+     static {
+         java.security.AccessController.doPrivileged(
+-                  new sun.security.action.LoadLibraryAction("net"));
++                  new sun.security.action.LoadLibraryAction("javanet"));
+     }
+     /**
+Index: openjdk/jdk/src/share/classes/java/net/DatagramPacket.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/DatagramPacket.java 2010-07-05 17:41:02.017875980 +0200
++++ openjdk/jdk/src/share/classes/java/net/DatagramPacket.java 2010-07-05 17:42:06.057875677 +0200
+@@ -47,7 +47,7 @@
+      */
+     static {
+         java.security.AccessController.doPrivileged(
+-                  new sun.security.action.LoadLibraryAction("net"));
++                  new sun.security.action.LoadLibraryAction("javanet"));
+         init();
+     }
+Index: openjdk/jdk/src/share/classes/java/net/InetAddress.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/InetAddress.java    2010-07-05 17:41:02.756626429 +0200
++++ openjdk/jdk/src/share/classes/java/net/InetAddress.java    2010-07-05 17:42:15.997875786 +0200
+@@ -230,7 +230,7 @@
+     static {
+         preferIPv6Address = java.security.AccessController.doPrivileged(
+             new GetBooleanAction("java.net.preferIPv6Addresses")).booleanValue();
+-        AccessController.doPrivileged(new LoadLibraryAction("net"));
++        AccessController.doPrivileged(new LoadLibraryAction("javanet"));
+         init();
+     }
+Index: openjdk/jdk/src/share/classes/java/net/NetworkInterface.java
+===================================================================
+--- openjdk/jdk/src/share/classes/java/net/NetworkInterface.java       2010-07-05 17:41:03.547875282 +0200
++++ openjdk/jdk/src/share/classes/java/net/NetworkInterface.java       2010-07-05 17:42:22.647875475 +0200
+@@ -52,7 +52,7 @@
+     private boolean virtual = false;
+     static {
+-        AccessController.doPrivileged(new LoadLibraryAction("net"));
++        AccessController.doPrivileged(new LoadLibraryAction("javanet"));
+         init();
+     }
+Index: openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java
+===================================================================
+--- openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java        2010-07-05 17:41:04.306628153 +0200
++++ openjdk/jdk/src/share/classes/sun/net/spi/DefaultProxySelector.java        2010-07-05 17:42:32.666627264 +0200
+@@ -89,7 +89,7 @@
+                 }});
+         if (b != null && b.booleanValue()) {
+             java.security.AccessController.doPrivileged(
+-                      new sun.security.action.LoadLibraryAction("net"));
++                      new sun.security.action.LoadLibraryAction("javanet"));
+             hasSystemProxies = init();
+         }
+     }
+Index: henning/bug/com.buglabs.build.oe/tmp/work/armv7a-angstrom-linux-gnueabi/openjdk-6-jre-6b18-1.8-r3.3/openjdk-src-dir/jdk/src/share/classes/sun/nio/ch/Util.java
+===================================================================
+--- openjdk/jdk/src/share/classes/sun/nio/ch/Util.java 2010-07-05 17:41:05.086626745 +0200
++++ openjdk/jdk/src/share/classes/sun/nio/ch/Util.java 2010-07-05 17:42:39.266626410 +0200
+@@ -354,7 +354,7 @@
+                 return;
+             loaded = true;
+             java.security.AccessController
+-                .doPrivileged(new sun.security.action.LoadLibraryAction("net"));
++                .doPrivileged(new sun.security.action.LoadLibraryAction("javanet"));
+             java.security.AccessController
+                 .doPrivileged(new sun.security.action.LoadLibraryAction("nio"));
+             // IOUtil must be initialized; Its native methods are called from
+Index: openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java
+===================================================================
+--- openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:41:05.896626691 +0200
++++ openjdk/jdk/src/solaris/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:42:45.606625991 +0200
+@@ -244,7 +244,7 @@
+     static {
+         java.security.AccessController.doPrivileged(
+-            new sun.security.action.LoadLibraryAction("net"));
++            new sun.security.action.LoadLibraryAction("javanet"));
+     }
+ }
+Index: henning/bug/com.buglabs.build.oe/tmp/work/armv7a-angstrom-linux-gnueabi/openjdk-6-jre-6b18-1.8-r3.3/openjdk-src-dir/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java
+===================================================================
+--- openjdk/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:41:06.786627210 +0200
++++ openjdk/jdk/src/windows/classes/sun/net/dns/ResolverConfigurationImpl.java 2010-07-05 17:42:51.926627747 +0200
+@@ -160,7 +160,7 @@
+     static {
+         java.security.AccessController.doPrivileged(
+-            new sun.security.action.LoadLibraryAction("net"));
++            new sun.security.action.LoadLibraryAction("javanet"));
+         init0();
+         // start the address listener thread
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-remove_werror.patch b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-remove_werror.patch
new file mode 100644 (file)
index 0000000..f2ad035
--- /dev/null
@@ -0,0 +1,14 @@
+Index: openjdk/hotspot/make/linux/makefiles/gcc.make
+===================================================================
+--- openjdk/hotspot/make/linux/makefiles/gcc.make      2010-02-02 16:11:35.758533706 +0100
++++ openjdk/hotspot/make/linux/makefiles/gcc.make      2010-02-02 16:11:42.761456458 +0100
+@@ -98,9 +98,6 @@
+   CFLAGS += -pipe
+ endif
+-# Compiler warnings are treated as errors
+-WARNINGS_ARE_ERRORS = -Werror
+-
+ # Except for a few acceptable ones
+ # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
+ # conversions which might affect the values. To avoid that, we need to turn
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-unbreak-float.patch b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea-unbreak-float.patch
new file mode 100644 (file)
index 0000000..9f875de
--- /dev/null
@@ -0,0 +1,18 @@
+Index: openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h
+===================================================================
+--- openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h     2010-02-02 13:49:39.972718207 +0100
++++ openjdk/jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h     2010-02-02 13:50:04.635639302 +0100
+@@ -27,13 +27,11 @@
+ #include "jfdlibm.h"
+-#ifdef __NEWVALID       /* special setup for Sun test regime */
+ #if defined(i386) || defined(i486) || \
+         defined(intel) || defined(x86) || \
+         defined(i86pc) || defined(_M_IA64) || defined(ia64)
+ #define _LITTLE_ENDIAN
+ #endif
+-#endif
+ #ifdef _LITTLE_ENDIAN
+ #define __HI(x) *(1+(int*)&x)
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/mkbc_returncode.patch b/recipes/openjdk/openjdk-6-6b18-1.8/mkbc_returncode.patch
new file mode 100644 (file)
index 0000000..13280b3
--- /dev/null
@@ -0,0 +1,11 @@
+Index: icedtea6/ports/hotspot/tools/mkbc.c
+===================================================================
+--- icedtea6.orig/ports/hotspot/tools/mkbc.c   2010-04-01 12:25:13.791317722 +0200
++++ icedtea6/ports/hotspot/tools/mkbc.c        2010-04-01 12:27:34.151606177 +0200
+@@ -602,4 +602,6 @@
+       if (ferror(bci_f)) fatal("Error writing bci");
+       if (source_f != stdin) fclose(source_f);
+       if (bci_f != stdout) fclose(bci_f);
++
++      return 0;
+ }
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/shark-build-openjdkdir.patch b/recipes/openjdk/openjdk-6-6b18-1.8/shark-build-openjdkdir.patch
new file mode 100644 (file)
index 0000000..4e89967
--- /dev/null
@@ -0,0 +1,13 @@
+Index: icedtea6-1.8/Makefile.am
+===================================================================
+--- icedtea6-1.8.orig/Makefile.am      2010-06-30 11:30:49.526648376 +0200
++++ icedtea6-1.8/Makefile.am   2010-06-30 11:42:02.606648734 +0200
+@@ -1882,7 +1882,7 @@
+ # configure script arguments, quoted in single quotes
+ CONFIGURE_ARGS = @CONFIGURE_ARGS@
+ ADD_ZERO_CONFIGURE_ARGS = \
+-      --with-openjdk=$(abs_top_builddir)/$(BUILD_OUTPUT_DIR)/j2sdk-image \
++      --with-openjdk=$(abs_top_builddir)/bootstrap/jdk1.6.0 \
+       --enable-zero
+ if ADD_SHARK_BUILD
+ ADD_ZERO_CONFIGURE_ARGS += \
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/thumbee.patch b/recipes/openjdk/openjdk-6-6b18-1.8/thumbee.patch
new file mode 100644 (file)
index 0000000..e436f8d
--- /dev/null
@@ -0,0 +1,15 @@
+Index: icedtea6-1.8/ports/hotspot/make/linux/makefiles/zeroshark.make
+===================================================================
+--- icedtea6-1.8.orig/ports/hotspot/make/linux/makefiles/zeroshark.make        2010-06-18 12:42:36.000000000 +0200
++++ icedtea6-1.8/ports/hotspot/make/linux/makefiles/zeroshark.make     2010-06-18 12:46:55.264667548 +0200
+@@ -31,8 +31,8 @@
+ Obj_Files += cppInterpreter_arm.o
+ Obj_Files += thumb2.o
+-CFLAGS += -DHOTSPOT_ASM
+-CCFLAGS += -DHOTSPOT_ASM
++CFLAGS += -DHOTSPOT_ASM -DTHUMB2EE
++CCFLAGS += -DHOTSPOT_ASM -DTHUMB2EE
+ ifeq ($(CROSS_COMPILATION, true)
+   C_COMPILE_FOR_MKBC = $(CC_FOR_BUILD)
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/zero-cmpswap-long.patch b/recipes/openjdk/openjdk-6-6b18-1.8/zero-cmpswap-long.patch
new file mode 100644 (file)
index 0000000..ca21ccf
--- /dev/null
@@ -0,0 +1,20 @@
+Index: icedtea6-1.8/ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp
+===================================================================
+--- icedtea6-1.8.orig/ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp      2010-06-17 10:26:16.885292426 +0200
++++ icedtea6-1.8/ports/hotspot/src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp   2010-06-17 10:29:19.034668305 +0200
+@@ -266,7 +266,15 @@
+                              volatile jlong* dest,
+                              jlong compare_value) {
++#ifdef ARM
++  return arm_compare_and_swap((jint *) dest, (jint) compare_value, (jint) exchange_value);
++#else
++#ifdef M68K
++  return m68k_compare_and_swap((jint *) dest, (jint) compare_value, (jint) exchange_value);
++#else
+   return __sync_val_compare_and_swap(dest, compare_value, exchange_value);
++#endif // M68K
++#endif // ARM
+ }
+ inline intptr_t Atomic::cmpxchg_ptr(intptr_t exchange_value,
diff --git a/recipes/openjdk/openjdk-6-common.inc b/recipes/openjdk/openjdk-6-common.inc
new file mode 100644 (file)
index 0000000..55b9d4b
--- /dev/null
@@ -0,0 +1,473 @@
+DESCRIPTION = "Java runtime based upon the OpenJDK- and Icedtea Project"
+HOMEPAGE = "http://icedtea.classpath.org"
+LICENSE  = "GPL with Classpath Exception"
+PRIORITY = "optional"
+SECTION  = "libs"
+
+# Name of the icedtea tarball and top-level directory.
+ICEDTEA = "NEEDS TO BE SET"
+
+S = "${WORKDIR}/${ICEDTEA}"
+B = "${S}/build"
+
+INC_PR = "r3"
+
+SRC_URI = "\
+  ${ICEDTEA_URI} \
+  ${OPENJDK_URI} \
+  ${JAXWS_URI} \
+  ${JAF_URI} \
+  ${JAXP_URI} \
+  ${CACAO_URI} \
+  ${OEPATCHES} \
+  ${ICEDTEAPATCHES} \
+  "
+
+JDK_PN = "openjdk-6"
+JDK_DIR = "java-6-openjdk"
+
+PN = "${JDK_PN}-jre"
+PROVIDES = "${JDK_PN}"
+
+DEPENDS = "giflib libpng jpeg cups \
+          xalan-j xerces-j rhino \
+          freetype libxinerama libxt libxp libxrender libxtst libxi \
+          ant-native alsa-lib libffi \
+          icedtea6-native fastjar \
+           llvm2.7 cacaoh-openjdk-native \
+        "
+
+# The OpenJDK build with interpreter optimizations for ARM depends on a binary
+# that generates constants for an assembler source file. There is no other
+# way than to generate this on a pseudo machine. Cross-compiling would not help
+# because structure sizes and/or alignment may differ.
+DEPENDS_append_arm = " qemu-native "
+
+
+FILESPATHPKG = "openjdk-6-${PV}"
+
+# For compatibility with Poky:
+FILESPATH_append = ":${FILE_DIRNAME}/openjdk-6-${PV}"
+
+# No package should directly depend on this (it should require
+# java2-runtime instead).
+PRIVATE_LIBS = "\
+       libunpack.so libverify.so libjava.so libzip.so libnpt.so \ 
+       libjava_crw_demo.so libhprof.so libnet.so libnio.so \
+       libmanagement.so libinstrument.so libjsound.so libjsoundalsa.so \
+       libj2pcsc.so libj2pkcs11.so libj2gss.so libmlib_image.so \
+       libawt.so libsplashscreen.so libfreetype.so.6 libfontmanager.so \
+       libjpeg.so liblcms.so librmi.so libjawt.so libjaas_unix.so \
+       libattach.so libjdwp.so libdt_socket.so libhpi.so libjli.so \
+       libmawt.so libjvm.so \
+       libversionCheck.so libcompiledMethodLoad.so libgctest.so \
+       libheapViewer.so libheapTracker.so libminst.so libmtrace.so \
+       libwaiters.so libhprof.so \
+"
+
+
+inherit java autotools
+
+export ALT_CUPS_HEADERS_PATH = "${STAGING_INCDIR}"
+export ALT_FREETYPE_HEADERS_PATH = "${STAGING_INCDIR}/freetype2"
+export ALT_FREETYPE_LIB_PATH = "${STAGING_LIBDIR}"
+export CACAO_CONFIGURE_ARGS = "--with-cacaoh=${STAGING_BINDIR_NATIVE}/cacaoh-openjdk-0.99.4"
+
+JAVA_HOME[unexport] = "1"
+
+EXTRA_OECONF = "\
+       --disable-docs \
+       --disable-pulse-java \
+        --disable-plugin \
+       \
+       --with-ecj=${STAGING_BINDIR_NATIVE}/foo \
+       --with-ecj-jar=${STAGING_DATADIR_JAVA_NATIVE}/ecj-bootstrap.jar \
+       --with-java=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/java \
+       --with-javac=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/javac \
+       --with-javah=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/javah \
+       --with-jar=${STAGING_BINDIR_NATIVE}/fastjar \
+       --with-rmic=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin/rmic \
+       --with-xalan2-jar=${STAGING_DATADIR_JAVA}/xalan2.jar \
+       --with-xalan2-serializer-jar=${STAGING_DATADIR_JAVA}/serializer.jar \
+       --with-xerces2-jar=${STAGING_DATADIR_JAVA}/xercesImpl.jar \
+       --with-rhino=${STAGING_DATADIR_JAVA}/rhino.jar \
+       --with-openjdk-src-dir=${WORKDIR}/openjdk-src-dir \
+       --with-gcj-home=${WORKDIR}/fake-jdk \
+       --with-parallel-jobs=${JDK_JOBS} \
+       \
+       --with-libgcj-jar=${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/jre/lib/rt.jar \
+       \
+       --with-pkgversion=${PV} \
+       --with-cc-for-build=${BUILD_CC} \
+        --enable-zero \
+        --with-additional-vms=shark,cacao \
+        --enable-openjdk-cross-compilation \
+       "
+
+
+# OpenJDK uses slightly different names for certain arches. We need to know
+#      this to create some files which are expected by the build.
+def get_jdk_arch(d):
+  import bb
+
+  jdk_arch = bb.data.getVar('TARGET_ARCH', d, 1)
+  if jdk_arch == "x86_64":
+    jdk_arch = "amd64"
+  elif (jdk_arch == "i586" or jdk_arch == "i686"):
+    jdk_arch = "i586"
+
+  return jdk_arch
+
+JDK_ARCH = "${@get_jdk_arch(d)}"
+JDK_HOME = "${libdir_jvm}/${JDK_DIR}"
+
+# OpenJDK supports parallel compilation but uses a plain number for this.
+# In OE we have PARALLEL_MAKE which is the actual option passed to make,
+# e.g. "-j 4". 
+def get_jdk_jobs(d):
+       import bb
+
+       pm = bb.data.getVar('PARALLEL_MAKE', d, 1);
+       if not pm:
+               return "1"
+       
+       pm = pm.split(" ");
+       if (len(pm) == 2):
+               return pm[1]
+
+       # Whatever found in PARALLEL_MAKE was not suitable.
+       return "1"
+
+JDK_JOBS = "${@get_jdk_jobs(d)}"
+
+# A function that is needed in the Shark builds.
+def get_llvm_configure_arch(d):
+  import bb;
+
+  arch = bb.data.getVar('TARGET_ARCH', d, 1)
+  if arch == "x86_64" or arch == "i486" or arch == "i586" or arch == "i686":
+    arch = "x86"
+  elif arch == "arm":
+    arch = "arm"
+  elif arch == "mipsel":
+    arch = "mips"
+  elif arch == "powerpc":
+    arch = "powerpc"
+  else:
+    oefatal("Your target architecture is not supported by this recipe");
+
+  return arch
+
+# Custom preparation of the sources which:
+# - cleans up the sources
+# - copies the patches into the proper directory
+# - prepares the FakeJDK directory structure
+#DISABLED because of incompatibility with oe stable 2009: do_prepareconfigure () {
+do_configure_prepend() {
+  chmod -R ug+w ${WORKDIR}/openjdk-src-dir
+  (cd ${WORKDIR}/openjdk-src-dir && sh ${S}/fsg.sh)
+
+  # Automatically copy everything that starts with "icedtea" (or "cacao") and ends with
+  # ".patch" into the patches directory.
+  find ${WORKDIR} -maxdepth 1 -name "icedtea*.patch" -exec cp {} ${S}/patches \;
+  find ${WORKDIR} -maxdepth 1 -name "cacao*.patch" -exec cp {} ${S}/patches \;
+
+  # use now the rt.jar from icedtea6-native
+  mkdir -p ${WORKDIR}/fake-jdk/jre/lib
+  ln -sf ${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/jre/lib/rt.jar ${WORKDIR}/fake-jdk/jre/lib/rt.jar
+
+  symlinked=false
+  oenote "Creating symlinks for fake-jdk"
+  mkdir -p ${WORKDIR}/fake-jdk/include
+  for i in `find ${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/include` ;do
+       bn=`basename $i`
+       oenote "Symlinking: $bn"
+    ln -sf $i ${WORKDIR}/fake-jdk/include/$bn;
+       symlinked=true
+  done
+
+  # If the symlinks have not been created the built cannot continue. This
+  # can happen if icedtea6-native is not ready at this point. The recipe
+  # should make sure this is not the case but a little sanity checking
+  # in such a complicated build can't be wrong.
+  if [ x$symlinked == xfalse ]
+  then
+    oefatal "Build b0rken! Have not created any symlinks for fake-jdk!"
+  else
+       oenote "fake-jdk setup appears sane."
+  fi
+}
+
+# Note: The following lines only work for OE.dev branch but cause an exception
+# in oe stable's 2009 bitbake. As such the function is prepended to do_configure instead.
+#addtask prepareconfigure after do_patch before do_configure
+# Makes prepareconfigure depend on icedtea6-native having being staged.
+#do_prepareconfigure[depends] += "icedtea6-native:do_populate_sysroot"
+
+
+do_configure_append() {
+       oe_runmake patch-ecj
+}
+
+# Work around broken variable quoting in oe-stable 2009 and provide the variable
+# via the environment which then overrides the erroneous value that was written
+# into '${ICETDEA}/Makefile'.
+# Icedtea's makefile is not compatible to parallelization so we cannot allow
+# passing a valid ${PARALLEL_MAKE} to it. OTOH OpenJDK's makefiles are
+# parallelizable and we need ${PARALLEL_MAKE} to derive the proper value.
+# The base for this quirk is that GNU Make only considers the last "-j" option.
+EXTRA_OEMAKE = '-j 1 CC="${CC}" CCC="${CXX}" CPP="${CPP}" CXX="${CXX}" CC_FOR_BUILD="${BUILD_CC}"'
+
+EXTRA_OEMAKE += ' \
+                OE_CFLAGS="${TARGET_CFLAGS}" \
+                OE_CPPFLAGS="${TARGET_CPPFLAGS}" \
+                OE_CXXFLAGS="${TARGET_CXXFLAGS}" \
+                OE_LDFLAGS="${TARGET_LDFLAGS}" \
+               '
+
+# Puts an OE specific string into the binary making it possible for the user
+# to know where it comes from (and blame the right people ...).
+DIST_ID = "Built for ${DISTRO}"
+DIST_NAME = "${DISTRO}"
+EXTRA_OEMAKE += 'DIST_NAME="${DIST_NAME}" DIST_ID="${DIST_ID}"'
+
+
+# llvm configure and compiles stuff
+
+export WANT_LLVM_RELEASE = "2.7"
+
+# Provides the target architecture to the configure script.
+export LLVM_CONFIGURE_ARCH="${@get_llvm_configure_arch(d)}"
+
+OE_LAUNCHER_LDFLAGS = "-Wl,-rpath-link,${STAGING_LIBDIR}/llvm2.7"
+
+EXTRA_OEMAKE += 'OE_LAUNCHER_LDFLAGS="${OE_LAUNCHER_LDFLAGS}"'
+
+
+# Large stack is required at least on x86_64 host, otherwise random segfaults appear:
+QEMU = "qemu-${TARGET_ARCH} ${QEMU_OPTIONS} -s 1048576 -L ${STAGING_DIR_TARGET}"
+
+EXTRA_OEMAKE += 'QEMU="${QEMU}"'
+
+# Name of the directory containing the compiled output
+BUILD_DIR = "build/linux-${JDK_ARCH}"
+
+# The build of OpenJDK is a 3-part process. For better restartability and overrideability they have been split into
+# three functions.
+# 1. compile Hotspot or Cacao (this one is supposed to be implemented according to wanted VM)
+# 2. compile openjdk-ecj (to have libraries as libjvm.so and libjava.so which are needed later)
+# 3. compile openjdk (the final result)
+
+do_compilestepone() {
+        oe_runmake bootstrap-directory-ecj
+
+        # now we need to override the tools.jar to point to the normal jdk's tools.jar
+        rm bootstrap/ecj/lib/tools.jar
+        ln -s ${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/lib/tools.jar bootstrap/ecj/lib/tools.jar
+
+        # First build hotspot to get a libjvm.so (to link corba in the icedtea-ecj build)
+        echo "1/3 Building Hotspot"
+        oe_runmake hotspot
+
+        # Remove spurious libarch directory/symlink
+        rm -rf bootstrap/ecj/jre/lib/${JDK_ARCH} || true
+
+                # Provide a symlink to the target arch's libjvm.so (to link against)
+        ln -s `pwd`/openjdk-ecj/${BUILD_DIR}/j2sdk-image/jre/lib/${JDK_ARCH} bootstrap/jdk1.6.0/jre/lib/${JDK_ARCH}
+
+        # fake j2sdk-image
+        rm openjdk-ecj/${BUILD_DIR}/j2sdk-image/include || true
+        cp -ar openjdk-ecj/${BUILD_DIR}/hotspot/import/include openjdk-ecj/${BUILD_DIR}/j2sdk-image/
+        install -d openjdk-ecj/${BUILD_DIR}/j2sdk-image/bin
+}
+addtask compilestepone after do_qa_configure before do_compilesteptwo
+
+# This part can be shared between cacao and hotspot-zero builds.
+do_compilesteptwo() {
+       echo "2/3 Building bootstrap JDK"
+
+       # Take pre-generated binaries from -native build
+       install -d generated/sun/awt/X11/generator
+       ln -sf ${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/generated/sizer.32 generated/sun/awt/X11/generator/sizer.32
+       install -d openjdk/${BUILD_DIR}/gensrc/sun/awt/X11/generator
+       ln -sf ${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/generated/sizer.32 openjdk/${BUILD_DIR}/gensrc/sun/awt/X11/generator/sizer.32
+
+       # Now cross-compile bootstrap JDK
+       rm stamps/icedtea-against-ecj.stamp stamps/icedtea-ecj.stamp || true
+       oe_runmake icedtea-against-ecj
+
+       ln -sf ../openjdk-ecj/${BUILD_DIR}/j2sdk-image bootstrap/icedtea
+
+       #       Replace all executables with symlinks to their native equivalents.
+       for F in `find ${STAGING_LIBDIR_JVM_NATIVE}/icedtea6-native/bin -type f`
+       do
+               bf=`basename $F`
+               echo "Creating symlink for:" $bf
+               ln -sf $F bootstrap/icedtea/bin/$bf
+       done
+}
+addtask compilesteptwo after do_compilestepone before do_compile
+
+do_compile() {
+
+       echo "3/3 Building final JDK"
+
+       # Build the final Hotspot + OpenJDK
+       oe_runmake icedtea-against-icedtea \
+}
+
+do_install() {
+       install -d ${D}${libdir_jvm}
+       cp -R ${S}/build/openjdk/${BUILD_DIR}/j2sdk-image ${D}${JDK_HOME}
+
+       chmod u+rw -R ${D}${JDK_HOME}
+
+       # Fix symlink which would point into staging in the binary package.
+       ln -sf ${datadir_java}/rhino.jar ${D}${JDK_HOME}/jre/lib/rhino.jar
+
+       # JRE is a subset of JDK. So to save space and resemble what the BIG distros
+       # do we create symlinks from the JDK binaries to their counterparts in the
+       # JRE folder (which have to exist by that time b/c of dependencies). 
+       for F in `find ${D}${JDK_HOME}/jre/bin -type f`
+       do
+               bf=`basename $F`
+               echo "replace:" $bf
+               rm ${D}${JDK_HOME}/bin/$bf
+               ln -s ${JDK_HOME}/jre/bin/$bf ${D}${JDK_HOME}/bin/$bf
+       done
+}
+
+# Manual staging step that is only needed for oe-stable.
+do_stage() {
+          :
+}
+
+PACKAGES = " \
+            ${JDK_PN}-jre \
+            ${JDK_PN}-dbg \
+            ${JDK_PN}-demo-dbg \
+            ${JDK_PN}-demo \
+            ${JDK_PN}-source \
+            ${JDK_PN}-doc \
+            ${JDK_PN}-jdk \
+            ${JDK_PN}-java \
+            ${JDK_PN}-vm-shark \
+            ${JDK_PN}-vm-zero \
+            ${JDK_PN}-vm-cacao \
+            ${JDK_PN}-common \
+           "
+
+FILES_${JDK_PN}-dbg = "\
+       ${JDK_HOME}/bin/.debug \
+       ${JDK_HOME}/lib/.debug \
+       ${JDK_HOME}/jre/bin/.debug \
+       ${JDK_HOME}/jre/lib/.debug \
+       ${JDK_HOME}/jre/lib/${JDK_ARCH}/.debug \
+       ${JDK_HOME}/jre/lib/${JDK_ARCH}/jli/.debug \
+       ${JDK_HOME}/jre/lib/${JDK_ARCH}/native_threads/.debug \
+       ${JDK_HOME}/jre/lib/${JDK_ARCH}/server/.debug \
+        ${JDK_HOME}/jre/lib/${JDK_ARCH}/shark/.debug \
+       ${JDK_HOME}/jre/lib/${JDK_ARCH}/headless/.debug \
+       ${JDK_HOME}/jre/lib/${JDK_ARCH}/xawt/.debug \
+       "
+
+FILES_${JDK_PN}-demo = "${JDK_HOME}/demo ${JDK_HOME}/sample"
+RDEPENDS_${JDK_PN}-demo = "java2-runtime"
+FILES_${JDK_PN}-demo-dbg = "\
+       ${JDK_HOME}/demo/jvmti/gctest/lib/.debug \
+       ${JDK_HOME}/demo/jvmti/heapTracker/lib/.debug \
+       ${JDK_HOME}/demo/jvmti/heapViewer/lib/.debug \
+       ${JDK_HOME}/demo/jvmti/hprof/lib/.debug \
+       ${JDK_HOME}/demo/jvmti/minst/lib/.debug \
+       ${JDK_HOME}/demo/jvmti/mtrace/lib/.debug \
+       ${JDK_HOME}/demo/jvmti/versionCheck/lib/.debug \
+       ${JDK_HOME}/demo/jvmti/waiters/lib/.debug \
+       ${JDK_HOME}/demo/jvmti/compiledMethodLoad/lib/.debug \
+       "
+
+FILES_${JDK_PN}-source = "${JDK_HOME}/src.zip"
+
+FILES_${JDK_PN}-java = "${JDK_HOME}/jre/bin/java"
+
+FILES_${JDK_PN}-vm-zero = "${JDK_HOME}/jre/lib/arm/server/"
+
+FILES_${JDK_PN}-vm-shark = "${JDK_HOME}/jre/lib/arm/shark/"
+
+FILES_${JDK_PN}-vm-cacao = "${JDK_HOME}/jre/lib/arm/cacao/"
+
+FILES_${JDK_PN}-common = "${JDK_HOME}/jre/ASSEMBLY_EXCEPTION \
+                          ${JDK_HOME}/jre/THIRD_PARTY_README \
+                          ${JDK_HOME}/jre/LICENSE \
+                          ${JDK_HOME}/jre/lib \
+                         "
+
+FILES_openjdk-6-jre_append = " \
+       ${JDK_HOME}/jre/bin/keytool \
+        ${JDK_HOME}/jre/bin/orbd \
+       ${JDK_HOME}/jre/bin/pack200 \
+        ${JDK_HOME}/jre/bin/rmid \
+       ${JDK_HOME}/jre/bin/rmiregistry \
+        ${JDK_HOME}/jre/bin/servertool \
+       ${JDK_HOME}/jre/bin/tnameserv \
+        ${JDK_HOME}/jre/bin/unpack200 \
+       ${JDK_HOME}/jre/bin/policytool \
+        ${JDK_HOME}/jre/bin/javaws \
+       "
+
+RDEPENDS_${JDK_PN}-common = "librhino-java"
+
+RPROVIDES_${JDK_PN}-vm-shark = "java2-vm"
+RPROVIDES_${JDK_PN}-vm-zero = "java2-vm"
+RPROVIDES_${JDK_PN}-vm-cacao = "java2-vm"
+
+RPROVIDES_${JDK_PN}-java = "java2-runtime"
+RDEPENDS_${JDK_PN}-java = "java2-vm"
+
+# There is a symlink to a .so but this one is valid.
+INSANE_SKIP_${JDK_PN}-vm-shark = "1"
+INSANE_SKIP_${JDK_PN}-vm-zero = "1"
+INSANE_SKIP_${JDK_PN}-vm-cacao = "1"
+INSANE_SKIP_${JDK_PN}-common = "1"
+
+
+FILES_${JDK_PN}-jdk = " \
+                       ${JDK_HOME}/bin \
+                       ${JDK_HOME}/lib \
+                       ${JDK_HOME}/include \
+                      "
+RDEPENDS_${JDK_PN}-jre = "java2-runtime"
+RDEPENDS_${JDK_PN}-jdk = "${JDK_PN}-jre"
+
+FILES_${JDK_PN}-doc = "${JDK_HOME}/man"
+
+pkg_postinst_${JDK_PN}-vm-shark () {
+       sed -i -e "s|^\-shark.*||" -e "s|\(^\-server*\)|\-shark KNOWN\n\1|" ${JDK_HOME}/jre/lib/arm/jvm.cfg
+}
+
+pkg_prerm_${JDK_PN}-vm-shark () {
+       sed -i -e "s|^\-shark.*||"  ${JDK_HOME}/jre/lib/arm/jvm.cfg
+}
+
+pkg_postinst_${JDK_PN}-vm-cacao () {
+       sed -i -e "s|^\-cacao.*|\-cacao KNOWN|" ${JDK_HOME}/jre/lib/arm/jvm.cfg
+}
+
+pkg_prerm_${JDK_PN}-vm-cacao () {
+       sed -i -e "s|^\-cacao.*|\-cacao ERROR|"  ${JDK_HOME}/jre/lib/arm/jvm.cfg
+}
+
+pkg_postinst_${JDK_PN}-java () {
+       update-alternatives --install ${bindir}/java java ${JDK_HOME}/jre/bin/java 15
+}
+
+pkg_prerm_${JDK_PN}-java () {
+       update-alternatives --remove java ${JDK_HOME}/jre/bin/java
+}
+
+pkg_postinst_${JDK_PN}-jdk () {
+       update-alternatives --install ${bindir}/javac javac ${JDK_HOME}/bin/javac 15
+}
+
+pkg_prerm_${JDK_PN}-jdk () {
+       update-alternatives --remove javac ${JDK_HOME}/bin/javac
+}
diff --git a/recipes/openjdk/openjdk-6-release-6b18.inc b/recipes/openjdk/openjdk-6-release-6b18.inc
new file mode 100644 (file)
index 0000000..3888d07
--- /dev/null
@@ -0,0 +1,115 @@
+require openjdk-6-common.inc
+
+EXTRA_OECONF += "\
+       --with-jaxws-drop-zip=${DL_DIR}/jdk6-jaxws-2009_10_27.zip \ 
+       --with-jaf-drop-zip=${DL_DIR}/jdk6-jaf-2009_10_27.zip \
+       --with-jaxp-drop-zip=${DL_DIR}/jdk6-jaxp-2009_10_13.zip \
+       --with-cacao-src-zip=${DL_DIR}/cacao-0.99.4.tar.gz \
+"
+
+# Use IcedTea6 1.8 release.
+ICEDTEA = "icedtea6-1.8"
+ICEDTEA_URI = "http://icedtea.classpath.org/download/source/${ICEDTEA}.tar.gz;name=iced"
+SRC_URI[iced.md5sum] = "e08dd0762749fb50ec6c273c366ee8ae"
+SRC_URI[iced.sha256sum] = "6823ff87969d978fe5523c729be3074142698c89acc8cc96c05b849fde54f61b"
+
+OPENJDK_URI = "http://download.java.net/openjdk/jdk6/promoted/b18/openjdk-6-src-b18-16_feb_2010.tar.gz;subdir=openjdk-src-dir;name=openjdk"
+SRC_URI[openjdk.md5sum] = "94db01691ab38f98b7d42b2ebf4d5c0b"
+SRC_URI[openjdk.sha256sum] = "778ea7b323aaa24d3c6e8fe32b8bb0f49040d9e86271859077ada9f9ee3c8ebf"
+
+JAXWS_URI = "http://kenai.com/projects/jdk6-drops/downloads/download/jdk6-jaxws-2009_10_27.zip;name=jaxws"
+SRC_URI[jaxws.md5sum] = "3ea5728706169498b722b898a1008acf"
+SRC_URI[jaxws.sha256sum] = "155ff3be83c980e197621a2fbf7ee34e8e0f536489351a5865cf0e52206245e2"
+
+JAF_URI = "http://kenai.com/projects/jdk6-drops/downloads/download/jdk6-jaf-2009_10_27.zip;name=jaf"
+SRC_URI[jaf.md5sum] = "7a50bb540a27cdd0001885630088b758"
+SRC_URI[jaf.sha256sum] = "fdc51476fc6bcc69ea1f099f33e84601a126bfa8b11c8fa11c25dc574345aa9f"
+
+JAXP_URI = "https://jaxp.dev.java.net/files/nidaba/documents/913/147329/jdk6-jaxp-2009_10_13.zip;name=jaxp"
+SRC_URI[jaxp.md5sum] = "a2f7b972124cd776ff71e7754eb9a429"
+SRC_URI[jaxp.sha256sum] = "8714d55de18db48ca9da0ee986202005082f44cf4c215da8683342b70e61792b"
+
+CACAO_URI = "http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-0.99.4/cacao-0.99.4.tar.gz;name=cacao"
+SRC_URI[cacao.md5sum] = "c5e6525c5212ddbb6026e4a7cde37ca6"
+SRC_URI[cacao.sha256sum] = "c6090c1d2ed3c60acda0076b62563598267be8dab270ce49ee1035002a2510cf"
+
+# Allow overriding this separately
+OEPATCHES = "\
+       file://build-hacks.patch \
+       file://zero-cmpswap-long.patch \
+       file://fix_hotspot_crosscompile.patch \
+       file://mkbc_returncode.patch \
+       file://thumbee.patch \
+       file://icedtea-fix-jar-command.patch \
+       file://fix-llvm-libs.patch \
+       file://shark-build-openjdkdir.patch \
+       "
+
+# Allow overriding this separately
+ICEDTEAPATCHES = "\
+       file://icedtea-launcher-stdc++.patch;apply=no \
+       file://icedtea-crosscompile-fix.patch;apply=no \
+       file://icedtea-hostbuildcc.patch;apply=no \
+       file://icedtea-unbreak-float.patch;apply=no \
+       file://icedtea-remove_werror.patch;apply=no \
+       file://cacao-vfp-compat.patch;apply=no \
+       file://cacao-disable-stackbase-check.patch;apply=no \
+        file://icedtea-libnet-renaming.patch;apply=no \
+       "
+
+ICEDTEAPATCHES_append_linux-uclibc = " \
+        file://icedtea-hotspot-isfinte.patch;apply=no \
+        file://icedtea-hotspot-glibc-version.patch;apply=no \
+        file://icedtea-hotspot-loadavg.patch;apply=no \
+        file://icedtea-hotspot-isnanf.patch;apply=no \
+        file://icedtea-jdk-iconv-uclibc.patch;apply=no \
+        file://icedtea-jdk-remove-unused-backtrace.patch;apply=no \
+        file://icedtea-jdk-RTLD_NOLOAD.patch;apply=no \
+        file://icedtea-jdk-unpack-uclibc.patch;apply=no \
+        "
+
+ICEDTEAPATCHES_append_linux-uclibceabi = " \
+        file://icedtea-hotspot-isfinte.patch;apply=no \
+        file://icedtea-hotspot-isnanf.patch;apply=no \
+        file://icedtea-hotspot-glibc-version.patch;apply=no \
+        file://icedtea-hotspot-loadavg.patch;apply=no \
+        file://icedtea-jdk-iconv-uclibc.patch;apply=no \
+        file://icedtea-jdk-remove-unused-backtrace.patch;apply=no \
+        file://icedtea-jdk-RTLD_NOLOAD.patch;apply=no \
+        file://icedtea-jdk-unpack-uclibc.patch;apply=no \
+        "
+
+# Allow overriding this separately
+DISTRIBUTION_PATCHES = "\
+       patches/icedtea-launcher-stdc++.patch \
+       patches/icedtea-crosscompile-fix.patch \
+       patches/icedtea-hostbuildcc.patch \
+       patches/icedtea-unbreak-float.patch \
+       patches/icedtea-remove_werror.patch \
+       patches/cacao-vfp-compat.patch \
+       patches/cacao-disable-stackbase-check.patch \
+        patches/icedtea-libnet-renaming.patch \
+       "
+
+DISTRIBUTION_PATCHES_append_linux-uclibc = "\
+        patches/icedtea-hotspot-isfinte.patch \
+        patches/icedtea-hotspot-isnanf.patch \
+        patches/icedtea-hotspot-glibc-version.patch \
+        patches/icedtea-hotspot-loadavg.patch \
+        patches/icedtea-jdk-iconv-uclibc.patch \
+        patches/icedtea-jdk-remove-unused-backtrace.patch \
+        patches/icedtea-jdk-RTLD_NOLOAD.patch \
+        patches/icedtea-jdk-unpack-uclibc.patch \
+        "
+DISTRIBUTION_PATCHES_append_linux-uclibceabi = "\
+        patches/icedtea-hotspot-isfinte.patch \
+        patches/icedtea-hotspot-isnanf.patch \
+        patches/icedtea-hotspot-glibc-version.patch \
+        patches/icedtea-hotspot-loadavg.patch \
+        patches/icedtea-jdk-iconv-uclibc.patch \
+        patches/icedtea-jdk-remove-unused-backtrace.patch \
+        patches/icedtea-jdk-RTLD_NOLOAD.patch \
+        patches/icedtea-jdk-unpack-uclibc.patch \
+        "
+
+export DISTRIBUTION_PATCHES
diff --git a/recipes/openjdk/openjdk-6_6b18-1.8.bb b/recipes/openjdk/openjdk-6_6b18-1.8.bb
new file mode 100644 (file)
index 0000000..16b25ae
--- /dev/null
@@ -0,0 +1,3 @@
+require openjdk-6-release-6b18.inc
+
+PR = "${INC_PR}.3"