sendaoYan / riscv-port-jdk8u-ysd

https://openjdk.org/projects/riscv-port
GNU General Public License v2.0
0 stars 0 forks source link

os_linux_riscv.cpp:235:23: error: ‘mcontext_t’ {aka ‘struct mcontext_t’} has no member named ‘pc’ #165

Open pengying-flora opened 3 months ago

pengying-flora commented 3 months ago
+ cd build/linux-riscv64-normal-server-release/hotspot/linux_riscv_compiler2/generated
+ bash -c '/usr/bin/g++ -DLINUX -D_GNU_SOURCE -DRISCV64 -DPRODUCT -I. -I/home/yansendao/git/riscv-port-jdk8u-ysd/hotspot/src/share/vm/prims -I/home/yansendao/git/riscv-port-jdk8u-ysd/hotspot/src/share/vm -I/home/yansendao/git/riscv-port-jdk8u-ysd/hotspot/src/share/vm/precompiled -I/home/yansendao/git/riscv-port-jdk8u-ysd/hotspot/src/cpu/riscv/vm -I/home/yansendao/git/riscv-port-jdk8u-ysd/hotspot/src/os_cpu/linux_riscv/vm -I/home/yansendao/git/riscv-port-jdk8u-ysd/hotspot/src/os/linux/vm -I/home/yansendao/git/riscv-port-jdk8u-ysd/hotspot/src/os/posix/vm -I../generated -DHOTSPOT_RELEASE_VERSION="\"25.412-b00\"" -DHOTSPOT_BUILD_TARGET="\"product\"" -DHOTSPOT_BUILD_USER="\"yansendao\"" -DHOTSPOT_LIB_ARCH=\"riscv64\" -DHOTSPOT_VM_DISTRO="\"OpenJDK\""  -DTARGET_OS_FAMILY_linux -DTARGET_ARCH_riscv -DTARGET_ARCH_MODEL_riscv -DTARGET_OS_ARCH_linux_riscv -DTARGET_OS_ARCH_MODEL_linux_riscv64 -DTARGET_COMPILER_gcc -DINCLUDE_JFR=1 -DCOMPILER2 -DCOMPILER1 -fPIC -fno-rtti -fno-exceptions -D_REENTRANT -fcheck-new -fvisibility=hidden  -pipe -fno-strict-aliasing  -fno-omit-frame-pointer -O3  -g -DVM_LITTLE_ENDIAN -D_LP64=1 -Werror -Wpointer-arith -Wsign-compare -Wundef -Wunused-function -Wunused-value -Wformat=2 -Wreturn-type   -fstack-protector  -fno-delete-null-pointer-checks -fno-lifetime-dse -std=gnu++98 -DDTRACE_ENABLED -c -MMD -MP -MF ../generated/dependencies/os_linux_riscv.o.d -fpch-deps -o os_linux_riscv.o /home/yansendao/git/riscv-port-jdk8u-ysd/hotspot/src/os_cpu/linux_riscv/vm/os_linux_riscv.cpp'
/home/yansendao/git/riscv-port-jdk8u-ysd/hotspot/src/os_cpu/linux_riscv/vm/os_linux_riscv.cpp: In function ‘int JVM_handle_linux_signal(int, siginfo_t*, void*, int)’:
/home/yansendao/git/riscv-port-jdk8u-ysd/hotspot/src/os_cpu/linux_riscv/vm/os_linux_riscv.cpp:235:23: error: ‘mcontext_t’ {aka ‘struct mcontext_t’} has no member named ‘pc’
  235 |       uc->uc_mcontext.pc = intptr_t(StubRoutines::continuation_for_safefetch_fault(pc));
      |                       ^~

standalone.log make-gcc10-aarch64-fastdebug.log make-gcc10-aarch64-release.log make-gcc10-aarch64-slowdebug.log make-gcc10-riscv64-fastdebug.log make-gcc10-riscv64-release.log make-gcc10-riscv64-slowdebug.log make-gcc10-x86_64-fastdebug.log make-gcc10-x86_64-release.log make-gcc10-x86_64-slowdebug.log make-gcc13-aarch64-fastdebug.log make-gcc13-aarch64-release.log make-gcc13-aarch64-slowdebug.log make-gcc13-riscv64-fastdebug.log make-gcc13-riscv64-release.log make-gcc13-riscv64-slowdebug.log make-gcc13-x86_64-fastdebug.log make-gcc13-x86_64-release.log make-gcc13-x86_64-slowdebug.log standalone.log

pengying-flora commented 3 months ago

8016697: Use stubs to implement safefetch

Implement Safefetch as stub routines. This reduces compiler and os dependencies.

pengying-flora commented 3 months ago

JDK-8016697.patch

pengying-flora commented 3 months ago

在os_linux_aarch64.cpp和os_linux_riscv.cpp文件里定义的函数address os::Posix::ucontext_get_pc(const ucontext_t * uc) aarch64是uc_mcontext.pc,为何riscv就是uc_mcontext.__gregs[REG_PC] uc_mcontext貌似是/usr/include/sys/ucontext.h里定义的结构体

pengying-flora commented 3 months ago

standalone.log 165.patch

pengying-flora commented 3 months ago

make-gcc10-aarch64-fastdebug.log make-gcc10-aarch64-release.log make-gcc10-aarch64-slowdebug.log make-gcc10-riscv64-fastdebug.log make-gcc10-riscv64-release.log make-gcc10-riscv64-slowdebug.log make-gcc10-x86_64-fastdebug.log make-gcc10-x86_64-release.log make-gcc10-x86_64-slowdebug.log make-gcc13-aarch64-fastdebug.log make-gcc13-aarch64-release.log make-gcc13-aarch64-slowdebug.log make-gcc13-riscv64-fastdebug.log make-gcc13-riscv64-release.log make-gcc13-riscv64-slowdebug.log make-gcc13-x86_64-fastdebug.log make-gcc13-x86_64-release.log make-gcc13-x86_64-slowdebug.log standalone.log

pengying-flora commented 3 months ago

make-gcc10-aarch64-fastdebug.log make-gcc10-aarch64-release.log make-gcc10-aarch64-slowdebug.log make-gcc10-riscv64-fastdebug.log make-gcc10-riscv64-release.log make-gcc10-riscv64-slowdebug.log make-gcc10-x86_64-fastdebug.log make-gcc10-x86_64-release.log make-gcc10-x86_64-slowdebug.log make-gcc13-aarch64-fastdebug.log make-gcc13-aarch64-release.log make-gcc13-aarch64-slowdebug.log make-gcc13-riscv64-fastdebug.log make-gcc13-riscv64-release.log make-gcc13-riscv64-slowdebug.log make-gcc13-x86_64-fastdebug.log make-gcc13-x86_64-release.log make-gcc13-x86_64-slowdebug.log standalone.log