Hello community,
here is the log from the commit of package java-1_6_0-openjdk
checked in at Mon Apr 28 10:53:41 CEST 2008.
--------
New Changes file:
--- /dev/null 2006-09-20 18:56:23.000000000 +0200
+++ /mounts/work_src_done/STABLE/java-1_6_0-openjdk/java-1_6_0-openjdk.changes 2008-04-26 01:31:48.511524000 +0200
@@ -0,0 +1,10 @@
+-------------------------------------------------------------------
+Fri Apr 25 18:33:25 CEST 2008 - bk@suse.de
+
+- Fix build and add macros to make it easyer to build on SUSE 10.3
+
+-------------------------------------------------------------------
+Tue Apr 22 18:21:38 CEST 2008 - bk@suse.de
+
+- Initial version based on java-1_7_0-icedtea, but it's a lot smaller
+
New:
----
generate-fedora-zip.sh
icedtea6-1.2-7a015d5c9cb132abefb7f500852b3fef2ba7615d.tar.lzma
java-1_6_0-openjdk.changes
java-1.6.0-openjdk-jhat.patch
java-1.6.0-openjdk-makefile.patch
java-1.6.0-openjdk-optflags.patch
java-1_6_0-openjdk.spec
java-access-bridge-1.22.0.tar.lzma
openjdk-6-src-b09-11_apr_2008-fedora.tar.lzma
openjdk-6-src-b09-execstack.patch
openjdk-6-src-b09-gcc4-warningfixes.patch
openjdk-6-src-b09-s390+s390x.patch
openjdk-6-src-b09-s390-size_t-fixes.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ java-1_6_0-openjdk.spec ++++++
++++ 737 lines (skipped)
++++++ java-1.6.0-openjdk-jhat.patch ++++++
diff -ruN openjdkb21/openjdk/jdk/make/launchers/Makefile openjdk/jdk/make/launchers/Makefile
--- openjdkb21/openjdk/jdk/make/launchers/Makefile 2007-09-27 03:52:09.000000000 -0400
+++ openjdk/jdk/make/launchers/Makefile 2007-10-15 10:18:32.000000000 -0400
@@ -70,7 +70,6 @@
$(call make-launcher, jconsole, sun.tools.jconsole.JConsole, \
-J-Djconsole.showOutputViewer, )
$(call make-launcher, jdb, com.sun.tools.example.debug.tty.TTY, , )
-$(call make-launcher, jhat, com.sun.tools.hat.Main, , )
$(call make-launcher, jinfo, sun.tools.jinfo.JInfo, \
-J-Dsun.jvm.hotspot.debugger.useProcDebugger \
-J-Dsun.jvm.hotspot.debugger.useWindbgDebugger, )
diff -ruN openjdkb21/openjdk/jdk/make/sun/tools/Makefile openjdk/jdk/make/sun/tools/Makefile
--- openjdkb21/openjdk/jdk/make/sun/tools/Makefile 2007-09-27 03:52:13.000000000 -0400
+++ openjdk/jdk/make/sun/tools/Makefile 2007-10-15 10:16:52.000000000 -0400
@@ -42,7 +42,6 @@
sun/tools/jstack \
sun/tools/jstat \
sun/tools/jstatd \
- com/sun/tools/hat \
com/sun/tools/script/shell \
sun/jvmstat
@@ -50,13 +49,6 @@
FILES_copy += \
$(CLASSDESTDIR)/sun/tools/jstat/resources/jstat_options
-# Extra jhat files
-JHAT_RESOURCEDIR = $(CLASSDESTDIR)/com/sun/tools/hat/resources
-FILES_copy += \
- $(JHAT_RESOURCEDIR)/hat.js \
- $(JHAT_RESOURCEDIR)/oqlhelp.html \
- $(JHAT_RESOURCEDIR)/platform_names.txt
-
# Extra jrunscript files
JRUNSCRIPT_RESOURCEDIR = $(CLASSDESTDIR)/com/sun/tools/script/shell
FILES_copy += \
diff -ruN openjdkb21/openjdk/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/DumpHeap.sh openjdk/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/DumpHeap.sh
--- openjdkb21/openjdk/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/DumpHeap.sh 2007-09-27 04:20:15.000000000 -0400
+++ openjdk/jdk/test/com/sun/management/HotSpotDiagnosticMXBean/DumpHeap.sh 2007-10-15 10:19:33.000000000 -0400
@@ -49,10 +49,6 @@
${TESTJAVA}/bin/java ${TESTVMOPTS} -classpath $TESTCLASSES \
DumpHeap ${DUMPFILE} || exit 2
-# check that heap dump is parsable
-${TESTJAVA}/bin/jhat -parseonly true ${DUMPFILE}
-if [ $? != 0 ]; then failed=1; fi
-
# dump file is large so remove it
rm ${DUMPFILE}
--- oldopenjdk/jdk/make/common/Release.gmk 2008-02-05 11:31:07.000000000 -0500
+++ openjdk/jdk/make/common/Release.gmk 2008-02-05 11:32:09.000000000 -0500
@@ -371,7 +371,6 @@
com/sun/tools/example/debug/expr \
com/sun/tools/example/debug/tty \
com/sun/tools/extcheck \
- com/sun/tools/hat \
com/sun/tools/javac \
com/sun/tools/javadoc \
com/sun/tools/apt \
@@ -468,8 +462,7 @@
wsgen$(EXE_SUFFIX) \
wsimport$(EXE_SUFFIX) \
schemagen$(EXE_SUFFIX) \
- jsadebugd$(EXE_SUFFIX) \
- jhat$(EXE_SUFFIX)
+ jsadebugd$(EXE_SUFFIX)
# The following get removed from the JRE after the bulk-copy of LIBDIR...
NOTJRELIBS = tools.jar \
++++++ java-1.6.0-openjdk-makefile.patch ++++++
--- makeorig 2008-03-27 13:34:52.000000000 -0400
+++ Makefile.am 2008-03-27 13:35:11.000000000 -0400
@@ -177,15 +177,6 @@
endif
stamps/download.stamp:
- if ! echo "$(OPENJDK_MD5SUM) $(OPENJDK_SRC_ZIP)" \
- | $(MD5SUM) --check ; \
- then \
- if [ $(OPENJDK_SRC_ZIP) ] ; \
- then \
- mv $(OPENJDK_SRC_ZIP) $(OPENJDK_SRC_ZIP).old ; \
- fi ; \
- $(WGET) $(OPENJDK_URL)$(OPENJDK_SRC_ZIP) -O $(OPENJDK_SRC_ZIP); \
- fi
mkdir -p stamps
touch stamps/download.stamp
@@ -292,8 +283,7 @@
stamps/extract.stamp: stamps/download.stamp
if ! test -d openjdk ; \
then \
- mkdir openjdk ; \
- $(TAR) xzf $(OPENJDK_SRC_ZIP) -C openjdk; \
+ $(TAR) xzf $(OPENJDK_SRC_ZIP); \
chmod -R ug+w openjdk ; \
fi
mkdir -p stamps
--- makeinorig 2008-03-27 13:34:58.000000000 -0400
+++ Makefile.in 2008-03-27 13:35:15.000000000 -0400
@@ -755,15 +756,6 @@
mv $(DIST_ARCHIVES) $(distdir)-`hg tip --template '{node}'`.tar.gz
stamps/download.stamp:
- if ! echo "$(OPENJDK_MD5SUM) $(OPENJDK_SRC_ZIP)" \
- | $(MD5SUM) --check ; \
- then \
- if [ $(OPENJDK_SRC_ZIP) ] ; \
- then \
- mv $(OPENJDK_SRC_ZIP) $(OPENJDK_SRC_ZIP).old ; \
- fi ; \
- $(WGET) $(OPENJDK_URL)$(OPENJDK_SRC_ZIP) -O $(OPENJDK_SRC_ZIP); \
- fi
mkdir -p stamps
touch stamps/download.stamp
@@ -792,8 +784,7 @@
stamps/extract.stamp: stamps/download.stamp
if ! test -d openjdk ; \
then \
- mkdir openjdk ; \
- $(TAR) xzf $(OPENJDK_SRC_ZIP) -C openjdk; \
+ $(TAR) xzf $(OPENJDK_SRC_ZIP); \
chmod -R ug+w openjdk ; \
fi
mkdir -p stamps
++++++ java-1.6.0-openjdk-optflags.patch ++++++
--- openjdkold/icedtea6/patches/icedtea-optflags.patch 1969-12-31 19:00:00.000000000 -0500
+++ patches/icedtea-optflags.patch 2008-04-01 08:41:47.000000000 -0400
@@ -0,0 +1,59 @@
+--- oldopenjdk/hotspot/src/share/vm/libadt/port.hpp 2008-02-28 05:02:37.000000000 -0500
++++ openjdk/hotspot/src/share/vm/libadt/port.hpp 2008-03-14 16:21:10.000000000 -0400
+@@ -39,8 +39,8 @@
+ #include
+ #undef bzero
+ inline void bzero(void *b, int len) { memset(b,0,len); }
+-#undef bcopy
+-inline void bcopy(const void *s, void *d, size_t len) { memmove(d,s,len); }
++//#undef bcopy
++//inline void bcopy(const void *s, void *d, size_t len) { memmove(d,s,len); }
+ #undef bcmp
+ inline int bcmp(const void *s,const void *t,int len) { return memcmp(s,t,len);}
+ extern "C" unsigned long strtoul(const char *s, char **end, int base);
+--- oldopenjdk/hotspot/build/linux/makefiles/rules.make 2008-03-19 01:02:55.000000000 -0400
++++ openjdk/hotspot/build/linux/makefiles/rules.make 2008-03-19 10:47:33.000000000 -0400
+@@ -37,8 +37,8 @@
+ DEMANGLE = $(DEMANGLER) < $@ > .$@ && mv -f .$@ $@
+
+ # $(CC) is the c compiler (cc/gcc), $(CCC) is the c++ compiler (CC/g++).
+-C_COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS)
+-CC_COMPILE = $(CCC) $(CPPFLAGS) $(CFLAGS)
++C_COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) $(ALT_OPT_CFLAGS)
++CC_COMPILE = $(CCC) $(CPPFLAGS) $(CFLAGS) $(ALT_OPT_CFLAGS)
+
+ AS.S = $(AS) $(ASFLAGS)
+
+--- oldopenjdk/hotspot/agent/src/os/linux/Makefile 2008-03-19 01:02:55.000000000 -0400
++++ openjdk/hotspot/agent/src/os/linux/Makefile 2008-03-19 10:58:51.000000000 -0400
+@@ -40,7 +40,7 @@
+
+ LIBS = -lthread_db
+
+-CFLAGS = -c -fPIC -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES)
++CFLAGS = -c $(ALT_OPT_CFLAGS) -fPIC -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES)
+
+ LIBSA = $(ARCH)/libsaproc.so
+
+--- oldopenjdk/corba/make/common/Defs.gmk 2008-02-28 05:04:22.000000000 -0500
++++ openjdk/corba/make/common/Defs.gmk 2008-03-19 11:37:33.000000000 -0400
+@@ -444,7 +444,7 @@
+ # Tool flags
+ #
+ ASFLAGS = $(ASFLAGS_$(VARIANT)) $(ASFLAGS_COMMON) $(OTHER_ASFLAGS)
+-CFLAGS = $(CFLAGS_$(VARIANT)/BYFILE) $(CFLAGS_COMMON) $(OTHER_CFLAGS)
++CFLAGS = $(CFLAGS_$(VARIANT)/BYFILE) $(CFLAGS_COMMON) $(OTHER_CFLAGS) $(ALT_OPT_CFLAGS)
+ CXXFLAGS = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS)
+ CPPFLAGS = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) \
+ $(DEFINES) $(OPTIONS:%=-D%)
+--- oldopenjdk/jdk/make/common/Defs.gmk 2008-03-19 01:02:55.000000000 -0400
++++ openjdk/jdk/make/common/Defs.gmk 2008-03-19 11:38:19.000000000 -0400
+@@ -664,7 +664,7 @@
+ # Tool flags
+ #
+ ASFLAGS = $(ASFLAGS_$(VARIANT)) $(ASFLAGS_COMMON) $(OTHER_ASFLAGS)
+-CFLAGS = $(CFLAGS_$(VARIANT)/BYFILE) $(CFLAGS_COMMON) $(OTHER_CFLAGS)
++CFLAGS = $(CFLAGS_$(VARIANT)/BYFILE) $(CFLAGS_COMMON) $(OTHER_CFLAGS) $(ALT_OPT_CFLAGS)
+ CXXFLAGS = $(CXXFLAGS_$(VARIANT)/BYFILE) $(CXXFLAGS_COMMON) $(OTHER_CXXFLAGS)
+ CPPFLAGS = $(CPPFLAGS_$(VARIANT)) $(CPPFLAGS_COMMON) $(OTHER_CPPFLAGS) \
+ $(DEFINES) $(OPTIONS:%=-D%)
--- Makefile.am.orig 2008-04-18 10:06:32.000000000 -0400
+++ Makefile.am 2008-04-18 10:09:54.000000000 -0400
@@ -98,6 +98,7 @@
"LIBFFI_LIBS=$(LIBFFI_LIBS)" \
"FREETYPE2_HEADERS=$(FREETYPE2_CFLAGS)" \
"FT2_LIB=$(FREETYPE2_LIBS)" \
+ "ALT_OPT_CFLAGS=$(ALT_OPT_CFLAGS)" \
"ALT_PARALLEL_COMPILE_JOBS=$(PARALLEL_JOBS)" \
"HOTSPOT_BUILD_JOBS=$(PARALLEL_JOBS)"
@@ -155,6 +156,7 @@
"LIBFFI_LIBS=$(LIBFFI_LIBS)" \
"FREETYPE2_HEADERS=$(FREETYPE2_CFLAGS)" \
"FT2_LIB=$(FREETYPE2_LIBS)" \
+ "ALT_OPT_CFLAGS=$(ALT_OPT_CFLAGS)" \
"ALT_PARALLEL_COMPILE_JOBS=$(PARALLEL_JOBS)" \
"HOTSPOT_BUILD_JOBS=$(PARALLEL_JOBS)"
@@ -298,6 +300,7 @@
patches/icedtea-ia64-fdlibm.patch \
patches/icedtea-LCMS-setTagData.patch \
patches/icedtea-color-createcontext.patch \
+ patches/icedtea-optflags.patch \
$(GCC_PATCH) \
$(FAST_BUILD_PATCH) \
$(DISTRIBUTION_PATCHES)
--- Makefile.in.orig 2008-04-18 10:06:37.000000000 -0400
+++ Makefile.in 2008-04-18 10:10:43.000000000 -0400
@@ -79,6 +79,7 @@
ALSA_CFLAGS = @ALSA_CFLAGS@
ALSA_LIBS = @ALSA_LIBS@
ALT_OPENJDK_SRC_ZIP = @ALT_OPENJDK_SRC_ZIP@
+ALT_OPT_CFLAGS = @ALT_OPT_CFLAGS@
AMTAR = @AMTAR@
ANT = @ANT@
AUTOCONF = @AUTOCONF@
@@ -299,7 +300,7 @@
"ZERO_ARCHFLAG=$(ZERO_ARCHFLAG)" \
"LIBFFI_CFLAGS=$(LIBFFI_CFLAGS)" "LIBFFI_LIBS=$(LIBFFI_LIBS)" \
"FREETYPE2_HEADERS=$(FREETYPE2_CFLAGS)" \
- "FT2_LIB=$(FREETYPE2_LIBS)" \
+ "FT2_LIB=$(FREETYPE2_LIBS)" "ALT_OPT_CFLAGS=$(ALT_OPT_CFLAGS)" \
"ALT_PARALLEL_COMPILE_JOBS=$(PARALLEL_JOBS)" \
"HOTSPOT_BUILD_JOBS=$(PARALLEL_JOBS)" $(am__append_1) \
$(am__append_2)
@@ -339,7 +340,7 @@
"ZERO_ARCHFLAG=$(ZERO_ARCHFLAG)" \
"LIBFFI_CFLAGS=$(LIBFFI_CFLAGS)" "LIBFFI_LIBS=$(LIBFFI_LIBS)" \
"FREETYPE2_HEADERS=$(FREETYPE2_CFLAGS)" \
- "FT2_LIB=$(FREETYPE2_LIBS)" \
+ "FT2_LIB=$(FREETYPE2_LIBS)" "ALT_OPT_CFLAGS=$(ALT_OPT_CFLAGS)" \
"ALT_PARALLEL_COMPILE_JOBS=$(PARALLEL_JOBS)" \
"HOTSPOT_BUILD_JOBS=$(PARALLEL_JOBS)" $(am__append_3) \
$(am__append_4)
@@ -405,7 +406,8 @@
patches/icedtea-xinerama.patch patches/icedtea-arm-uname.patch \
patches/icedtea-ia64-fdlibm.patch \
patches/icedtea-LCMS-setTagData.patch \
- patches/icedtea-color-createcontext.patch $(GCC_PATCH) \
+ patches/icedtea-color-createcontext.patch \
+ patches/icedtea-optflags.patch $(GCC_PATCH) \
$(FAST_BUILD_PATCH) $(DISTRIBUTION_PATCHES) $(am__append_5)
# Patch OpenJDK for plug replacements and ecj.
--- configure.orig 2008-04-18 10:06:54.000000000 -0400
+++ configure 2008-04-18 10:10:32.000000000 -0400
@@ -720,6 +720,7 @@
FASTJAR
ac_ct_FASTJAR
GAWK
+ALT_OPT_CFLAGS
SYSTEM_GCJ_DIR
SYSTEM_OPENJDK_DIR
SYSTEM_ICEDTEA_DIR
@@ -5790,6 +5791,9 @@
+ALT_OPT_CFLAGS="$(rpm --eval '%optflags' | sed -e 's/-mtune=generic//1')"
+
+
# Check whether --with-gcj-home was given.
if test "${with_gcj_home+set}" = set; then
@@ -12948,6 +12952,7 @@
FASTJAR!$FASTJAR$ac_delim
ac_ct_FASTJAR!$ac_ct_FASTJAR$ac_delim
GAWK!$GAWK$ac_delim
+ALT_OPT_CFLAGS!$ALT_OPT_CFLAGS$ac_delim
SYSTEM_GCJ_DIR!$SYSTEM_GCJ_DIR$ac_delim
SYSTEM_OPENJDK_DIR!$SYSTEM_OPENJDK_DIR$ac_delim
SYSTEM_ICEDTEA_DIR!$SYSTEM_ICEDTEA_DIR$ac_delim
@@ -13031,7 +13036,7 @@
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
- if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 89; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 90; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
--- configure.ac.orig 2008-04-18 10:06:46.000000000 -0400
+++ configure.ac 2008-04-18 10:10:28.000000000 -0400
@@ -31,6 +31,9 @@
dnl check for it explicitly rather than using AC_PROG_AWK.
FIND_TOOL([GAWK], [gawk])
+ALT_OPT_CFLAGS="$(rpm --eval '%optflags' | sed -e 's/-mtune=generic//1;s/$/ -fomit-frame-pointer/')"
+AC_SUBST(ALT_OPT_CFLAGS)
+
AC_ARG_WITH([gcj-home],
[AS_HELP_STRING([--with-gcj-home],
[gcj home directory \
++++++ openjdk-6-src-b09-execstack.patch ++++++
http://dev.gentooexperimental.org/~flameeyes/openjdk-patches/
"backported" to OpenJDK 6:
--- openjdk/hotspot/src/os_cpu/linux_amd64/vm/linux_amd64.s
+++ openjdk/hotspot/src/os_cpu/linux_amd64/vm/linux_amd64.s
@@ -401,3 +401,6 @@
addq $4,%rdx
jg 4b
ret
+
+.section .note.GNU-stack,"",%progbits
+
--- openjdk/hotspot/src/os_cpu/linux_i486/vm/linux_i486.s
+++ openjdk/hotspot/src/os_cpu/linux_i486/vm/linux_i486.s
@@ -651,3 +651,4 @@
popl %ebx
ret
+.section .note.GNU-stack,"",%progbits
++++++ openjdk-6-src-b09-gcc4-warningfixes.patch ++++++
--- openjdk/jdk/src/solaris/native/sun/awt/awt_Font.c 2008/02/05
+++ openjdk/jdk/src/solaris/native/sun/awt/awt_Font.c 2008/02/05
@@ -566,23 +566,23 @@
if (!JNU_IsNull(env, fontDescriptorName)) {
nativename = (char *) JNU_GetStringPlatformChars(env, fontDescriptorName, NULL);
} else {
nativename = "";
}
fdata->flist[i].xlfd = malloc(strlen(nativename)
+ strlen(defaultXLFD));
jio_snprintf(fdata->flist[i].xlfd, strlen(nativename) + 10,
nativename, size * 10);
- if (nativename != NULL && nativename != "")
+ if (*nativename)
JNU_ReleaseStringPlatformChars(env, fontDescriptorName, (const char *) nativename);
/*
* set charset_name
*/
charsetName =
(*env)->GetObjectField(env, fontDescriptor,
fontDescriptorIDs.charsetName);
fdata->flist[i].charset_name = (char *)
++++++ openjdk-6-src-b09-s390+s390x.patch ++++++
The first two patches are required for s390 and s390x compile to succeed:
--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
@@ -1686,6 +1686,12 @@
{EM_486, EM_386, ELFCLASS32, ELFDATA2LSB, (char*)"IA 32"},
{EM_IA_64, EM_IA_64, ELFCLASS64, ELFDATA2LSB, (char*)"IA 64"},
{EM_X86_64, EM_X86_64, ELFCLASS64, ELFDATA2LSB, (char*)"AMD 64"},
+ // On S/390, EM_S390 is used by both s390 and s390x (32 and 64bit)
+#ifdef __s390x__
+ {EM_S390, EM_S390, ELFCLASS64, ELFDATA2MSB, (char*)"S/390X"},
+#else
+ {EM_S390, EM_S390, ELFCLASS32, ELFDATA2MSB, (char*)"S/390"},
+#endif
{EM_SPARC, EM_SPARC, ELFCLASS32, ELFDATA2MSB, (char*)"Sparc 32"},
{EM_SPARC32PLUS, EM_SPARC, ELFCLASS32, ELFDATA2MSB, (char*)"Sparc 32"},
{EM_SPARCV9, EM_SPARCV9, ELFCLASS64, ELFDATA2MSB, (char*)"Sparc v9 64"},
@@ -1700,6 +1718,11 @@
static Elf32_Half running_arch_code=EM_X86_64;
#elif (defined IA64)
static Elf32_Half running_arch_code=EM_IA_64;
+ // There is no EM_S390X, so we can only check for S/390 overall.
+ // The ELF class (32-bit / 64-bit) is checked separately so we
+ // don't need to make a distinction beween 32-bit and 64-bit here:
+ #elif (defined __s390__)
+ static Elf32_Half running_arch_code=EM_S390;
#elif (defined __sparc) && (defined _LP64)
static Elf32_Half running_arch_code=EM_SPARCV9;
#elif (defined __sparc) && (!defined _LP64)
This is crafted for testing to also see what is going on and make the build succeed
in any case, so apply this only on s390 and s390x for now:
--- openjdk/hotspot/build/linux/makefiles/gcc.make
+++ openjdk/hotspot/build/linux/makefiles/gcc.make
@@ -46,10 +46,10 @@
# Compiler flags
# position-independent code
-ifneq ($(filter ppc ppc64 sparc sparc64,$(ZERO_LIBARCH)),)
+ifneq ($(filter ppc ppc64 sparc sparc64 s390 s390x,$(ZERO_LIBARCH)),)
PICFLAG = -fPIC
else
-PICFLAG = -fpic
+PICFLAG = -fpic -fPIC
endif
VM_PICFLAG/LIBJVM = $(PICFLAG)
This one is not actually used, but should be submitted upstream as well:
--- contrib/templater/generate.py 2008/04/22 01:52:34 1.1
+++ contrib/templater/generate.py 2008/04/22 01:53:04
@@ -6,8 +6,8 @@
cpus = {"ia64": ("little", 64, True),
"ppc": ("big", 32, False),
"ppc64": ("big", 64, False),
- "s390": ("little", 32, False),
- "s390x": ("little", 64, False)}
+ "s390": ("big", 32, False),
+ "s390x": ("big", 64, False)}
modes = {"ia64": ("ia64",),
"ppc": ("ppc", "ppc64"),
++++++ openjdk-6-src-b09-s390-size_t-fixes.patch ++++++
- 31-bit S/390 does not like MAX2 and MIN2 in some situations
- 31-bit S/390 does not accept these casts from size_t* to uintptr_t*
Signed-Off-By: Bernhard Kaindl
--- openjdk/hotspot/src/share/vm/utilities/globalDefinitions.hpp
+++ openjdk/hotspot/src/share/vm/utilities/globalDefinitions.hpp
@@ -829,8 +829,17 @@
// and 64-bit overloaded functions, which does not work, and having
// explicitly-typed versions of these routines (i.e., MAX2I, MAX2L)
// will be even more error-prone than macros.
+#if defined(__s390__) && !defined(__s390x__)
+# ifndef MIN2
+# define MIN2(a, b) (((a) < (b)) ? (a) : (b))
+# endif
+# ifndef MAX2
+# define MAX2(a, b) (((a) < (b)) ? (b) : (a))
+# endif
+#else
template<class T> inline T MAX2(T a, T b) { return (a > b) ? a : b; }
template<class T> inline T MIN2(T a, T b) { return (a < b) ? a : b; }
+#endif
template<class T> inline T MAX3(T a, T b, T c) { return MAX2(MAX2(a, b), c); }
template<class T> inline T MIN3(T a, T b, T c) { return MIN2(MIN2(a, b), c); }
template<class T> inline T MAX4(T a, T b, T c, T d) { return MAX2(MAX3(a, b, c), d); }
--- openjdk/hotspot/src/share/vm/utilities/bitMap.cpp
+++ openjdk/hotspot/src/share/vm/utilities/bitMap.cpp
@@ -43,7 +43,7 @@
void BitMap::resize(idx_t size_in_bits) {
assert(size_in_bits >= 0, "just checking");
size_t old_size_in_words = size_in_words();
- uintptr_t* old_map = map();
+ size_t* old_map = map();
_size = size_in_bits;
size_t new_size_in_words = size_in_words();
_map = NEW_RESOURCE_ARRAY(idx_t, new_size_in_words);
@@ -282,8 +282,8 @@
bool BitMap::contains(const BitMap other) const {
assert(size() == other.size(), "must have same size");
- uintptr_t* dest_map = map();
- uintptr_t* other_map = other.map();
+ size_t* dest_map = map();
+ size_t* other_map = other.map();
idx_t size = size_in_words();
for (idx_t index = 0; index < size_in_words(); index++) {
uintptr_t word_union = dest_map[index] | other_map[index];
@@ -296,8 +296,8 @@
bool BitMap::intersects(const BitMap other) const {
assert(size() == other.size(), "must have same size");
- uintptr_t* dest_map = map();
- uintptr_t* other_map = other.map();
+ size_t* dest_map = map();
+ size_t* other_map = other.map();
idx_t size = size_in_words();
for (idx_t index = 0; index < size_in_words(); index++) {
if ((dest_map[index] & other_map[index]) != 0) return true;
@@ -408,7 +408,7 @@
}
bool BitMap::is_full() const {
- uintptr_t* word = map();
+ size_t* word = map();
idx_t rest = size();
for (; rest >= (idx_t) BitsPerWord; rest -= BitsPerWord) {
if (*word != (uintptr_t) AllBits) return false;
@@ -419,7 +419,7 @@
bool BitMap::is_empty() const {
- uintptr_t* word = map();
+ size_t* word = map();
idx_t rest = size();
for (; rest >= (idx_t) BitsPerWord; rest -= BitsPerWord) {
if (*word != (uintptr_t) NoBits) return false;
@@ -558,7 +558,7 @@
#endif
-BitMap2D::BitMap2D(uintptr_t* map, idx_t size_in_slots, idx_t bits_per_slot)
+BitMap2D::BitMap2D(size_t* map, idx_t size_in_slots, idx_t bits_per_slot)
: _bits_per_slot(bits_per_slot)
, _map(map, size_in_slots * bits_per_slot)
{
--- openjdk/hotspot/src/share/vm/utilities/bitMap.hpp
+++ openjdk/hotspot/src/share/vm/utilities/bitMap.hpp
@@ -314,7 +314,7 @@
public:
// Construction. bits_per_slot must be greater than 0.
- BitMap2D(uintptr_t* map, idx_t size_in_slots, idx_t bits_per_slot);
+ BitMap2D(size_t* map, idx_t size_in_slots, idx_t bits_per_slot);
// Allocates necessary data structure in resource area. bits_per_slot must be greater than 0.
BitMap2D(idx_t size_in_slots, idx_t bits_per_slot);
@@ -367,13 +367,13 @@
inline void BitMap::set_range_of_words(idx_t beg, idx_t end) {
- uintptr_t* map = _map;
+ size_t* map = _map;
for (idx_t i = beg; i < end; ++i) map[i] = ~(uintptr_t)0;
}
inline void BitMap::clear_range_of_words(idx_t beg, idx_t end) {
- uintptr_t* map = _map;
+ size_t* map = _map;
for (idx_t i = beg; i < end; ++i) map[i] = 0;
}
--- openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
+++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
@@ -6141,7 +6141,7 @@
}
assert(_virtual_space.committed_size() == brs.size(),
"didn't reserve backing store for all of CMS bit map?");
- _bm.set_map((uintptr_t*)_virtual_space.low());
+ _bm.set_map((size_t*)_virtual_space.low());
assert(_virtual_space.committed_size() << (_shifter + LogBitsPerByte) >=
_bmWordSize, "inconsistency in bit map sizing");
_bm.set_size(_bmWordSize >> _shifter);
For some reason, the gcc-4.3 on s390 does not like the MAX2/MIN2 templates
--- openjdk/hotspot/src/share/vm/oops/generateOopMap.cpp
+++ openjdk/hotspot/src/share/vm/oops/generateOopMap.cpp
@@ -371,8 +371,8 @@
_gc_points = 0;
_bb_count = 0;
int size = binsToHold(method()->code_size());
- _bb_hdr_bits = NEW_RESOURCE_ARRAY(uintptr_t,size);
- memset(_bb_hdr_bits, 0, size*sizeof(uintptr_t));
+ _bb_hdr_bits = NEW_RESOURCE_ARRAY(size_t,size);
+ memset(_bb_hdr_bits, 0, size*sizeof(size_t));
}
void GenerateOopMap ::set_bbmark_bit(int bci) {
@@ -1024,7 +1024,7 @@
"new method size is too small");
int newWords = binsToHold(new_method_size);
- uintptr_t * new_bb_hdr_bits = NEW_RESOURCE_ARRAY(uintptr_t, newWords);
+ size_t* new_bb_hdr_bits = NEW_RESOURCE_ARRAY(size_t, newWords);
BitMap bb_bits(new_bb_hdr_bits, new_method_size);
bb_bits.clear();
--- openjdk/hotspot/src/share/vm/oops/generateOopMap.hpp
+++ openjdk/hotspot/src/share/vm/oops/generateOopMap.hpp
@@ -341,7 +341,7 @@
BasicBlock * _basic_blocks; // Array of basicblock info
int _gc_points;
int _bb_count;
- uintptr_t * _bb_hdr_bits;
+ size_t * _bb_hdr_bits;
// Basicblocks methods
void initialize_bb ();
--- openjdk/hotspot/src/share/vm/compiler/methodLiveness.cpp
+++ openjdk/hotspot/src/share/vm/compiler/methodLiveness.cpp
@@ -566,15 +566,15 @@
MethodLiveness::BasicBlock::BasicBlock(MethodLiveness *analyzer, int start, int limit) :
- _gen((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
+ _gen((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
analyzer->bit_map_size_bits()),
- _kill((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
+ _kill((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
analyzer->bit_map_size_bits()),
- _entry((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
+ _entry((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
analyzer->bit_map_size_bits()),
- _normal_exit((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
+ _normal_exit((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
analyzer->bit_map_size_bits()),
- _exception_exit((uintptr_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
+ _exception_exit((size_t*)analyzer->arena()->Amalloc(BytesPerWord * analyzer->bit_map_size_words()),
analyzer->bit_map_size_bits()),
_last_bci(-1) {
_analyzer = analyzer;
@@ -991,7 +991,7 @@
}
MethodLivenessResult MethodLiveness::BasicBlock::get_liveness_at(ciMethod* method, int bci) {
- MethodLivenessResult answer(NEW_RESOURCE_ARRAY(uintptr_t, _analyzer->bit_map_size_words()),
+ MethodLivenessResult answer(NEW_RESOURCE_ARRAY(size_t, _analyzer->bit_map_size_words()),
_analyzer->bit_map_size_bits());
answer.set_is_valid();
--- /usr/src/packages/BUILD/icedtea6-1.2/openjdk/hotspot/src/share/vm/compiler/methodLiveness.hpp
+++ /usr/src/packages/BUILD/icedtea6-1.2/openjdk/hotspot/src/share/vm/compiler/methodLiveness.hpp
@@ -29,7 +29,7 @@
bool _is_valid;
public:
- MethodLivenessResult(uintptr_t* map, idx_t size_in_bits)
+ MethodLivenessResult(size_t* map, idx_t size_in_bits)
: BitMap(map, size_in_bits)
, _is_valid(false)
{}
/usr/bin/gcc -O3 -fno-strict-aliasing -fPIC -W -Wall -Wno-unused -Wno-parentheses -m31 -g -Ds390 -DARCH='"s390"' -DLINUX
-DRELEASE='"1.6.0"' -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -I. -I/usr/src/packages/BUILD/icedtea6-1.2/openjdk/contro
l/build/linux-s390/tmp/java/hpi/native_threads/CClassHeaders -I../../../../src/solaris/javavm/export -I../../../../src/share/ja
vavm/export -I../../../../src/share/javavm/include -I../../../../src/solaris/javavm/include -I../../../../src/solaris/hpi/nativ
e_threads/include -I../../../../src/solaris/hpi/include -I../../../../src/solaris/hpi/export -I../../../../src/share/hpi/includ
e -I../../../../src/share/hpi/export -D_REENTRANT -DNATIVE -DUSE_PTHREADS -DMOOT_PRIORITIES -DNO_INTERRUPTIBLE_IO -c -o /usr
/src/packages/BUILD/icedtea6-1.2/openjdk/control/build/linux-s390/tmp/java/hpi/native_threads/obj/linker_md.o ../../../../src/
solaris/hpi/src/linker_md.c
../../../../src/solaris/hpi/native_threads/src/sys_api_td.c:384: error: conflicting types for ‘sysRecv’
../../../../src/share/hpi/include/hpi_impl.h:153: error: previous declaration of ‘sysRecv’ was here
../../../../src/solaris/hpi/native_threads/src/sys_api_td.c:389: error: conflicting types for ‘sysSend’
../../../../src/share/hpi/include/hpi_impl.h:154: error: previous declaration of ‘sysSend’ was here
../../../../src/solaris/hpi/native_threads/src/sys_api_td.c: In function ‘sysGetSockOpt’:
../../../../src/solaris/hpi/native_threads/src/sys_api_td.c:567: warning: pointer targets in passing argument 5 of ‘getsockopt’
differ in signedness
../../../../src/solaris/hpi/native_threads/src/sys_api_td.c: At top level:
../../../../src/solaris/hpi/native_threads/src/sys_api_td.c:599: error: conflicting types for ‘sysSendTo’
../../../../src/share/hpi/include/hpi_impl.h:149: error: previous declaration of ‘sysSendTo’ was here
../../../../src/solaris/hpi/native_threads/src/sys_api_td.c:605: error: conflicting types for ‘sysRecvFrom’
../../../../src/share/hpi/include/hpi_impl.h:151: error: previous declaration of ‘sysRecvFrom’ was here
make[6]: *** [/usr/src/packages/BUILD/icedtea6-1.2/openjdk/control/build/linux-s390/tmp/java/hpi/native_threads/obj/sys_api_td.
o] Error 1
make[6]: *** Waiting for unfinished jobs....
make[6]: Leaving directory `/usr/src/packages/BUILD/icedtea6-1.2/openjdk/jdk/make/java/hpi/native'
make[5]: *** [library_parallel_compile] Error 2
make[5]: Leaving directory `/usr/src/packages/BUILD/icedtea6-1.2/openjdk/jdk/make/java/hpi/native'
Declaring things which return sizes does not make sense to define conditionally as int / size_t,
because on non-64bit, size_t is just an int anyway.
--- openjdk/jdk/src/share/hpi/include/hpi_impl.h 2008/04/22 15:10:11 1.1
+++ openjdk/jdk/src/share/hpi/include/hpi_impl.h 2008/04/22 16:00:54
@@ -138,21 +138,12 @@
int sysBind(int fd, struct sockaddr *him, int len);
int sysAccept(int fd, struct sockaddr *him, int *len);
int sysGetSockName(int fd, struct sockaddr *him, int *len);
-#ifdef _LP64
ssize_t sysSendTo(int fd, char *buf, int len, int flags, struct sockaddr *to,
int tolen);
ssize_t sysRecvFrom(int fd, char *buf, int nbytes, int flags,
struct sockaddr *from, int *fromlen);
ssize_t sysRecv(int fd, char *buf, int nBytes, int flags);
ssize_t sysSend(int fd, char *buf, int nBytes, int flags);
-#else
-int sysSendTo(int fd, char *buf, int len, int flags, struct sockaddr *to,
- int tolen);
-int sysRecvFrom(int fd, char *buf, int nbytes, int flags,
- struct sockaddr *from, int *fromlen);
-int sysRecv(int fd, char *buf, int nBytes, int flags);
-int sysSend(int fd, char *buf, int nBytes, int flags);
-#endif
int sysListen(int fd, int count);
int sysTimeout(int fd, long timeout);
int sysGetHostName(char* name, int namelen);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org