Source: openjdk-7
Version: 7u21-2.3.9-5
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: powerpcspe
Hi,
openjdk-7 currently FTBFS like this:
...
g++ -DLINUX -D_GNU_SOURCE -DCC_INTERP -DZERO -DTARGET_ARCH_NYI_6939861=1 -DPPC
-DZERO_LIBARCH=\"ppc\" -DPRODUCT -I.
-I/«PKGBUILDDIR»/build/openjdk-boot/hotspot/src/share/vm/prims
-I/«PKGBUILDDIR»/build/openjdk-boot/hotspot/src/share/vm
-I/«PKGBUILDDIR»/build/openjdk-boot/hotspot/src/cpu/zero/vm
-I/«PKGBUILDDIR»/build/openjdk-boot/hotspot/src/os_cpu/linux_zero/vm
-I/«PKGBUILDDIR»/build/openjdk-boot/hotspot/src/os/linux/vm
-I/«PKGBUILDDIR»/build/openjdk-boot/hotspot/src/os/posix/vm -I../generated
-DHOTSPOT_RELEASE_VERSION="\"22.0-b10\"" -DHOTSPOT_BUILD_TARGET="\"product\""
-DHOTSPOT_BUILD_USER="\"buildd\"" -DHOTSPOT_LIB_ARCH=\"ppc\"
-DJRE_RELEASE_VERSION="\"1.7.0_21-b02\"" -DHOTSPOT_VM_DISTRO="\"OpenJDK\""
-DDERIVATIVE_ID="\"IcedTea 2.3.9\"" -DDEB_MULTIARCH="\"powerpc-linux-gnuspe\""
-DDISTRIBUTION_ID="\"Debian GNU/Linux unstable (sid), package 7u21-2.3.9-5\""
-DTARGET_OS_FAMILY_linux -DTARGET_ARCH_zero -DTARGET_ARCH_MODEL_zero
-DTARGET_OS_AR
CH_linux
_zero -DTARGET_OS_ARCH_MODEL_linux_zero -DTARGET_COMPILER_gcc -fPIC -fno-rtti
-fno-exceptions -D_REENTRANT -fcheck-new -fvisibility=hidden -m32 -pipe -g -O2
-finline-functions -fno-strict-aliasing -Wpointer-arith -Wsign-compare -g
-fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security
-D_FORTIFY_SOURCE=2 -c -MMD -MP -MF
../generated/dependencies/attachListener.o.d -o attachListener.o
/«PKGBUILDDIR»/build/openjdk-boot/hotspot/src/share/vm/services/attachListener.cpp
/«PKGBUILDDIR»/build/openjdk-boot/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp:
In static member function 'static jlong Atomic::add(jlong, volatile jlong*)':
/«PKGBUILDDIR»/build/openjdk-boot/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp:44:40:
error: impossible constraint in 'asm'
/«PKGBUILDDIR»/build/openjdk-boot/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp:44:40:
error: impossible constraint in 'asm'
make[8]: *** [atomic.o] Error 1
make[8]: *** Waiting for unfinished jobs....
make[8]: Leaving directory
`/«PKGBUILDDIR»/build/openjdk.build-boot/hotspot/outputdir/linux_ppc_zero/product'
make[7]: *** [the_vm] Error 2
make[7]: Leaving directory
`/«PKGBUILDDIR»/build/openjdk.build-boot/hotspot/outputdir/linux_ppc_zero/product'
make[6]: *** [productzero] Error 2
make[5]: *** [generic_buildzero] Error 2
make[4]: *** [productzero] Error 2
make[3]: *** [hotspot-build] Error 2
make[2]: *** [build_product_image] Error 2
make[1]: *** [stamps/icedtea-boot.stamp] Error 2
make[6]: Leaving directory
`/«PKGBUILDDIR»/build/openjdk.build-boot/hotspot/outputdir'
make[5]: Leaving directory `/«PKGBUILDDIR»/build/openjdk-boot/hotspot/make'
make[4]: Leaving directory `/«PKGBUILDDIR»/build/openjdk-boot/hotspot/make'
make[3]: Leaving directory `/«PKGBUILDDIR»/build/openjdk-boot'
make[2]: Leaving directory `/«PKGBUILDDIR»/build/openjdk-boot'
make[1]: Leaving directory `/«PKGBUILDDIR»/build'
/bin/bash: line 5: kill: (26695) - No such process
...
I'm attaching 2 patches that fix the build:
* hotspot-powerpcspe.diff: Fix the above assembler issue by special casing
powerpcspe via __NO_FPRS__ which is only defined on powerpcspe. Patch to be
added to debian/patches
* openjdk-7.patch: Adding powerpcspe to debian/* files where appropriate
(analogous to powerpc)
Thanks in advance,
Roland
-- System Information:
Debian Release: 7.0
APT prefers unreleased
APT policy: (500, 'unreleased'), (500, 'unstable')
Architecture: powerpcspe (ppc)
Kernel: Linux 3.9.0-dirty (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) (ignored: LC_ALL
set to en_GB.UTF-8)
Shell: /bin/sh linked to /bin/dash
--- openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp~ 2013-06-18 09:58:38.786866408 +0200
+++ openjdk/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.hpp 2013-06-18 10:00:41.446880095 +0200
@@ -36,7 +36,7 @@
// Atomically copy 64 bits of data
static void atomic_copy64(volatile void *src, volatile void *dst) {
-#if defined(PPC) && !defined(_LP64)
+#if defined(PPC) && !defined(_LP64) && !defined(__NO_FPRS__)
double tmp;
asm volatile ("lfd %0, 0(%1)\n"
"stfd %0, 0(%2)\n"
--- openjdk-7-7u21-2.3.9/debian/control.cacao-trans.orig 2013-06-18 09:08:52.378145459 +0200
+++ openjdk-7-7u21-2.3.9/debian/control.cacao-trans 2013-06-18 09:09:06.870149016 +0200
@@ -1,6 +1,6 @@
Package: icedtea-7-jre-cacao
-Architecture: alpha amd64 armel armhf i386 lpia powerpc m68k mips mipsel s390
+Architecture: alpha amd64 armel armhf i386 lpia powerpc powerpcspe m68k mips mipsel s390
Multi-Arch: same
Priority: extra
Pre-Depends: ${dpkg:Depends}
--- openjdk-7-7u21-2.3.9/debian/control.orig 2013-06-18 09:07:13.890129539 +0200
+++ openjdk-7-7u21-2.3.9/debian/control 2013-06-18 09:07:43.358133266 +0200
@@ -130,7 +130,7 @@
from the IcedTea project.
Package: icedtea-7-jre-jamvm
-Architecture: amd64 armel armhf i386 lpia mips mipsel powerpc kfreebsd-i386 kfreebsd-amd64
+Architecture: amd64 armel armhf i386 lpia mips mipsel powerpc powerpcspe kfreebsd-i386 kfreebsd-amd64
Multi-Arch: same
Priority: extra
Pre-Depends: ${dpkg:Depends}
--- openjdk-7-7u21-2.3.9/debian/rules.orig 2013-06-18 09:20:59.270325863 +0200
+++ openjdk-7-7u21-2.3.9/debian/rules 2013-06-18 09:25:32.890393849 +0200
@@ -107,7 +107,7 @@
export ALT_STRIP_POLICY=no_strip
with_check = $(if $(findstring nocheck, $(DEB_BUILD_OPTIONS)),,yes)
-ifneq (,$(filter $(DEB_HOST_ARCH), armel powerpc))
+ifneq (,$(filter $(DEB_HOST_ARCH), armel powerpc powerpcspe))
with_check = disabled for this upload
endif
with_docs = $(if $(findstring nodocs, $(DEB_BUILD_OPTIONS)),,yes)
@@ -144,7 +144,7 @@
endif
ifeq (,$(filter $(distrel),lenny intrepid hardy))
- cacao_archs = alpha amd64 armel armhf i386 lpia powerpc m68k mips mipsel s390
+ cacao_archs = alpha amd64 armel armhf i386 lpia powerpc powerpcspe m68k mips mipsel s390
# TODO kfreebsd porting for cacao vm
endif
cacao_archs =
@@ -1104,12 +1104,12 @@
endif
ifneq (,$(filter shark, $(alternate_vms)))
- ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 lpia powerpc))
+ ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 lpia powerpc powerpcspe))
# only activate after testing
with_mauve_check += $(if $(filter $(DEB_HOST_ARCH),$(altshark_archs)),shark,zero)
endif
# shark hangs on ppc64
- ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 lpia powerpc))
+ ifneq (,$(filter $(DEB_HOST_ARCH), amd64 i386 lpia powerpc powerpcspe))
# only activate after testing; hangs several tests.
with_jtreg_check += $(if $(filter $(DEB_HOST_ARCH),$(altshark_archs)),shark,zero)
endif