Hello community, here is the log from the commit of package java-1_7_0-openjdk for openSUSE:Factory checked in at 2013-03-25 20:31:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/java-1_7_0-openjdk (Old) and /work/SRC/openSUSE:Factory/.java-1_7_0-openjdk.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "java-1_7_0-openjdk", Maintainer is "bnc-team-java@forge.provo.novell.com" Changes: -------- --- /work/SRC/openSUSE:Factory/java-1_7_0-openjdk/java-1_7_0-openjdk.changes 2013-03-15 10:36:51.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.java-1_7_0-openjdk.new/java-1_7_0-openjdk.changes 2013-03-25 20:31:33.000000000 +0100 @@ -1,0 +2,9 @@ +Thu Mar 21 10:00:25 UTC 2013 - schwab@suse.de + +- icedtea-2.3.8-zero-patches.patch: remove patch not applicable to zero + compatible hotspot +- java-1.7.0-openjdk-fork.patch: Add support for architectures without + fork syscall +- java-1.7.0-openjdk-aarch64.patch: Add support for aarch64 + +------------------------------------------------------------------- New: ---- icedtea-2.3.8-zero-patches.patch java-1.7.0-openjdk-aarch64.patch java-1.7.0-openjdk-fork.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ java-1_7_0-openjdk.spec ++++++ --- /var/tmp/diff_new_pack.O6Y935/_old 2013-03-25 20:31:39.000000000 +0100 +++ /var/tmp/diff_new_pack.O6Y935/_new 2013-03-25 20:31:39.000000000 +0100 @@ -210,6 +210,10 @@ Patch105: java-1.7.0-openjdk-ppc-zero-jdk.patch Patch106: java-1.7.0-openjdk-ppc-zero-hotspot.patch +# Patches for AArch64 +Patch107: java-1.7.0-openjdk-fork.patch +Patch108: java-1.7.0-openjdk-aarch64.patch + # # Optional component packages # @@ -225,6 +229,9 @@ Patch1004: java-1_7_0-openjdk-zero-annotate-aborting-functions-zero.patch +# PATCH-FIX-OPENSUSE: revert-7017193.patch does not apply to zero compatible hotspot +Patch1005: icedtea-2.3.8-zero-patches.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-build # special for hacking inside build dir @@ -481,9 +488,7 @@ exit 1 %endif -%setup -q -n icedtea-%{icedtea_version} -%setup -q -n icedtea-%{icedtea_version} -T -D -a 3 -%setup -q -n icedtea-%{icedtea_version} -T -D -a 1 +%setup -q -n icedtea-%{icedtea_version} -a 3 -a 1 cp %{SOURCE4} . @@ -492,6 +497,10 @@ %patch1000 -p1 %patch1003 -p1 +%if %{with zero} +%patch1005 -p1 +%endif + %build export LANG=C unset JAVA_HOME @@ -575,6 +584,10 @@ qpatch -p0 %{PATCH106} %endif +# AArch64 fixes +qpatch -p1 %{PATCH107} +qpatch -p1 %{PATCH108} + #SUSE specific fixes qpatch -p1 %{PATCH1002} ++++++ icedtea-2.3.8-zero-patches.patch ++++++ Index: icedtea-2.3.8/Makefile.am =================================================================== --- icedtea-2.3.8.orig/Makefile.am +++ icedtea-2.3.8/Makefile.am @@ -243,8 +243,7 @@ REWRITER_SRCS = $(top_srcdir)/rewriter/c ICEDTEA_PATCHES = \ patches/8006179-lookup_using_findvirtual.patch \ patches/8006882-sun.proxy.patch \ - patches/pr1303-ifdef_fix.patch \ - patches/revert-7017193.patch + patches/pr1303-ifdef_fix.patch # Conditional patches Index: icedtea-2.3.8/Makefile.in =================================================================== --- icedtea-2.3.8.orig/Makefile.in +++ icedtea-2.3.8/Makefile.in @@ -636,7 +636,7 @@ REWRITER_SRCS = $(top_srcdir)/rewriter/c # Patch list ICEDTEA_PATCHES = patches/8006179-lookup_using_findvirtual.patch \ patches/8006882-sun.proxy.patch patches/pr1303-ifdef_fix.patch \ - patches/revert-7017193.patch $(am__append_5) $(am__append_6) \ + $(am__append_5) $(am__append_6) \ $(am__append_7) $(am__append_8) $(am__append_9) \ $(am__append_10) $(am__append_11) $(am__append_12) \ $(am__append_13) $(am__append_14) $(am__append_15) \ ++++++ java-1.7.0-openjdk-aarch64.patch ++++++ --- icedtea-2.3.7/openjdk/hotspot/src/os/linux/vm/os_linux.cpp +++ icedtea-2.3.7/openjdk/hotspot/src/os/linux/vm/os_linux.cpp @@ -1893,7 +1893,8 @@ void * os::dll_load(const char *filename {EM_MIPS, EM_MIPS, ELFCLASS32, ELFDATA2MSB, (char*)"MIPS"}, {EM_PARISC, EM_PARISC, ELFCLASS32, ELFDATA2MSB, (char*)"PARISC"}, {EM_68K, EM_68K, ELFCLASS32, ELFDATA2MSB, (char*)"M68k"}, - {EM_SH, EM_SH, ELFCLASS32, ELFDATA2LSB, (char*)"SH"} /* Support little endian only*/ + {EM_SH, EM_SH, ELFCLASS32, ELFDATA2LSB, (char*)"SH"}, /* Support little endian only*/ + {EM_AARCH64, EM_AARCH64, ELFCLASS64, ELFDATA2LSB, (char*)"AARCH64"} /* Support little endian only*/ }; #if (defined IA32) @@ -1926,6 +1927,8 @@ void * os::dll_load(const char *filename static Elf32_Half running_arch_code=EM_68K; #elif (defined SH) static Elf32_Half running_arch_code=EM_SH; + #elif (defined AARCH64) + static Elf32_Half running_arch_code=EM_AARCH64; #else #error Method os::dll_load requires that one of following is defined:\ IA32, AMD64, IA64, __sparc, __powerpc__, ARM, S390, ALPHA, MIPS, MIPSEL, PARISC, M68K, SH ++++++ java-1.7.0-openjdk-fork.patch ++++++ --- icedtea-2.3.7/openjdk/hotspot/src/os/linux/vm/os_linux.cpp +++ icedtea-2.3.7/openjdk/hotspot/src/os/linux/vm/os_linux.cpp @@ -5374,14 +5374,6 @@ void Parker::unpark() { extern char** environ; -#ifndef __NR_fork -#define __NR_fork IA32_ONLY(2) IA64_ONLY(not defined) AMD64_ONLY(57) -#endif - -#ifndef __NR_execve -#define __NR_execve IA32_ONLY(11) IA64_ONLY(1033) AMD64_ONLY(59) -#endif - // Run the specified command in a separate process. Return its exit value, // or -1 on failure (e.g. can't fork a new process). // Unlike system(), this function can be called from signal handler. It @@ -5392,10 +5384,11 @@ int os::fork_and_exec(char* cmd) { // fork() in LinuxThreads/NPTL is not async-safe. It needs to run // pthread_atfork handlers and reset pthread library. All we need is a // separate process to execve. Make a direct syscall to fork process. - // On IA64 there's no fork syscall, we have to use fork() and hope for - // the best... - pid_t pid = NOT_IA64(syscall(__NR_fork);) - IA64_ONLY(fork();) +#ifdef SYS_fork + pid_t pid = syscall(SYS_fork); +#else + pid_t pid = syscall(SYS_clone, SIGCHLD, 0, 0, 0, 0); +#endif if (pid < 0) { // fork failed @@ -5409,10 +5402,7 @@ int os::fork_and_exec(char* cmd) { // not reset by fork() (see notes above), execve() will instead kill // every thread in the parent process. We know this is the only thread // in the new process, so make a system call directly. - // IA64 should use normal execve() from glibc to match the glibc fork() - // above. - NOT_IA64(syscall(__NR_execve, "/bin/sh", argv, environ);) - IA64_ONLY(execve("/bin/sh", (char* const*)argv, environ);) + syscall(SYS_execve, "/bin/sh", argv, environ); // execve failed _exit(-1); -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org