aboutsummaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorGreg Lewis <glewis@FreeBSD.org>2021-02-23 04:34:21 +0000
committerGreg Lewis <glewis@FreeBSD.org>2021-02-23 04:34:21 +0000
commitc8368297f26fbdd50d027cfca34d61624842e977 (patch)
tree962fe8382a409e352b81644a12dbb664f7ab46a8 /java
parentb83a36dfe1a3971d01e42dba6233785eeac97b51 (diff)
downloadports-c8368297f26fbdd50d027cfca34d61624842e977.tar.gz
ports-c8368297f26fbdd50d027cfca34d61624842e977.zip
Fix the build on i386
This change is a partial sync with the Linux version of this file. The included fix for i386 is to recognise i586 as a define instead of just i386. The change also includes some re-ordering and removal of sparc support, but they should be no-ops.
Notes
Notes: svn path=/head/; revision=566366
Diffstat (limited to 'java')
-rw-r--r--java/openjdk16/files/patch-src_jdk.hotspot.agent_bsd_native_libsaproc_BsdDebuggerLocal.cpp153
1 files changed, 153 insertions, 0 deletions
diff --git a/java/openjdk16/files/patch-src_jdk.hotspot.agent_bsd_native_libsaproc_BsdDebuggerLocal.cpp b/java/openjdk16/files/patch-src_jdk.hotspot.agent_bsd_native_libsaproc_BsdDebuggerLocal.cpp
new file mode 100644
index 000000000000..bf1d1dfa66a9
--- /dev/null
+++ b/java/openjdk16/files/patch-src_jdk.hotspot.agent_bsd_native_libsaproc_BsdDebuggerLocal.cpp
@@ -0,0 +1,153 @@
+--- src/jdk.hotspot.agent/bsd/native/libsaproc/BsdDebuggerLocal.cpp
++++ src/jdk.hotspot.agent/bsd/native/libsaproc/BsdDebuggerLocal.cpp
+@@ -35,7 +35,11 @@
+ #define amd64 1
+ #endif
+
+-#ifdef i386
++#if defined(i386) && !defined(i586)
++#define i586 1
++#endif
++
++#ifdef i586
+ #include "sun_jvm_hotspot_debugger_x86_X86ThreadContext.h"
+ #endif
+
+@@ -43,10 +47,6 @@
+ #include "sun_jvm_hotspot_debugger_amd64_AMD64ThreadContext.h"
+ #endif
+
+-#if defined(sparc) || defined(sparcv9)
+-#include "sun_jvm_hotspot_debugger_sparc_SPARCThreadContext.h"
+-#endif
+-
+ #if defined(ppc64) || defined(ppc64le)
+ #include "sun_jvm_hotspot_debugger_ppc64_PPC64ThreadContext.h"
+ #endif
+@@ -319,6 +319,7 @@ JNIEXPORT jbyteArray JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_
+ return (err == PS_OK)? array : 0;
+ }
+
++#if defined(i586) || defined(amd64) || defined(ppc64) || defined(ppc64le) || defined(aarch64)
+ extern "C"
+ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_getThreadIntegerRegisterSet0
+ (JNIEnv *env, jobject this_obj, jint lwp_id) {
+@@ -340,21 +341,19 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_
+ }
+
+ #undef NPRGREG
+-#ifdef i386
++#ifdef i586
+ #define NPRGREG sun_jvm_hotspot_debugger_x86_X86ThreadContext_NPRGREG
+ #endif
+ #ifdef amd64
+ #define NPRGREG sun_jvm_hotspot_debugger_amd64_AMD64ThreadContext_NPRGREG
+ #endif
+-#if defined(sparc) || defined(sparcv9)
+-#define NPRGREG sun_jvm_hotspot_debugger_sparc_SPARCThreadContext_NPRGREG
++#ifdef aarch64
++#define NPRGREG sun_jvm_hotspot_debugger_aarch64_AARCH64ThreadContext_NPRGREG
+ #endif
+ #if defined(ppc64) || defined(ppc64le)
+ #define NPRGREG sun_jvm_hotspot_debugger_ppc64_PPC64ThreadContext_NPRGREG
+ #endif
+-#ifdef aarch64
+-#define NPRGREG sun_jvm_hotspot_debugger_aarch64_AARCH64ThreadContext_NPRGREG
+-#endif
++
+
+ array = env->NewLongArray(NPRGREG);
+ CHECK_EXCEPTION_(0);
+@@ -362,7 +361,7 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_
+
+ #undef REG_INDEX
+
+-#ifdef i386
++#ifdef i586
+ #define REG_INDEX(reg) sun_jvm_hotspot_debugger_x86_X86ThreadContext_##reg
+
+ regs[REG_INDEX(GS)] = (uintptr_t) gregs.r_gs;
+@@ -381,7 +380,7 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_
+ regs[REG_INDEX(CS)] = (uintptr_t) gregs.r_cs;
+ regs[REG_INDEX(SS)] = (uintptr_t) gregs.r_ss;
+
+-#endif /* i386 */
++#endif /* i586 */
+
+ #ifdef amd64
+ #define REG_INDEX(reg) sun_jvm_hotspot_debugger_amd64_AMD64ThreadContext_##reg
+@@ -420,38 +419,19 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_
+
+ #endif /* amd64 */
+
+-#if defined(sparc) || defined(sparcv9)
++#if defined(aarch64)
+
+-#define REG_INDEX(reg) sun_jvm_hotspot_debugger_sparc_SPARCThreadContext_##reg
++#define REG_INDEX(reg) sun_jvm_hotspot_debugger_aarch64_AARCH64ThreadContext_##reg
++
++ {
++ int i;
++ for (i = 0; i < 31; i++)
++ regs[i] = gregs.x[i];
++ regs[REG_INDEX(SP)] = gregs.sp;
++ regs[REG_INDEX(PC)] = gregs.elr;
++ }
++#endif /* aarch64 */
+
+-#ifdef _LP64
+- regs[REG_INDEX(R_PSR)] = gregs.tstate;
+- regs[REG_INDEX(R_PC)] = gregs.tpc;
+- regs[REG_INDEX(R_nPC)] = gregs.tnpc;
+- regs[REG_INDEX(R_Y)] = gregs.y;
+-#else
+- regs[REG_INDEX(R_PSR)] = gregs.psr;
+- regs[REG_INDEX(R_PC)] = gregs.pc;
+- regs[REG_INDEX(R_nPC)] = gregs.npc;
+- regs[REG_INDEX(R_Y)] = gregs.y;
+-#endif
+- regs[REG_INDEX(R_G0)] = 0 ;
+- regs[REG_INDEX(R_G1)] = gregs.u_regs[0];
+- regs[REG_INDEX(R_G2)] = gregs.u_regs[1];
+- regs[REG_INDEX(R_G3)] = gregs.u_regs[2];
+- regs[REG_INDEX(R_G4)] = gregs.u_regs[3];
+- regs[REG_INDEX(R_G5)] = gregs.u_regs[4];
+- regs[REG_INDEX(R_G6)] = gregs.u_regs[5];
+- regs[REG_INDEX(R_G7)] = gregs.u_regs[6];
+- regs[REG_INDEX(R_O0)] = gregs.u_regs[7];
+- regs[REG_INDEX(R_O1)] = gregs.u_regs[8];
+- regs[REG_INDEX(R_O2)] = gregs.u_regs[ 9];
+- regs[REG_INDEX(R_O3)] = gregs.u_regs[10];
+- regs[REG_INDEX(R_O4)] = gregs.u_regs[11];
+- regs[REG_INDEX(R_O5)] = gregs.u_regs[12];
+- regs[REG_INDEX(R_O6)] = gregs.u_regs[13];
+- regs[REG_INDEX(R_O7)] = gregs.u_regs[14];
+-#endif /* sparc */
+ #if defined(ppc64) || defined(ppc64le)
+ #define REG_INDEX(reg) sun_jvm_hotspot_debugger_ppc64_PPC64ThreadContext_##reg
+
+@@ -491,23 +471,11 @@ JNIEXPORT jlongArray JNICALL Java_sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal_
+ regs[REG_INDEX(R31)] = gregs.fixreg[31];
+
+ #endif /* ppc64 */
+-#if defined(aarch64)
+-
+-#define REG_INDEX(reg) sun_jvm_hotspot_debugger_aarch64_AARCH64ThreadContext_##reg
+-
+- {
+- int i;
+- for (i = 0; i < 31; i++)
+- regs[i] = gregs.x[i];
+- regs[REG_INDEX(SP)] = gregs.sp;
+- regs[REG_INDEX(PC)] = gregs.elr;
+- }
+-#endif /* aarch64 */
+-
+
+ env->ReleaseLongArrayElements(array, regs, JNI_COMMIT);
+ return array;
+ }
++#endif
+
+ /*
+ * Class: sun_jvm_hotspot_debugger_bsd_BsdDebuggerLocal