riscv-collab / v8

Port of Google v8 engine to RISC-V.
https://github.com/v8-riscv/v8/wiki
Other
237 stars 31 forks source link

Fix test-assembler-riscv32/TARGET_ADDR #601

Closed qjivy closed 2 years ago

qjivy commented 2 years ago

The pseudo li sequence in RISCV32 is different from RISCV64. For 32bit, the pointer is 32bit. For 64bit, the pointer is 48bit. So we need update the cctest case.

./out/riscv32.debug/cctest --riscv-debug  test-assembler-riscv32/TARGET_ADDR --random-seed=-75565327 --nohard-abort --enable-slow-asserts --verify-heap --testing-d8-test-runner
target_address_at: pc: ff8d0b68 addr: 91a2b3

#
# Fatal error in ../../test/cctest/test-assembler-riscv32.cc, line 1494
# Check failed: 0x0123456789abL == res (1250999896491 vs. 9544371).
#
#
#
#FailureMessage Object: 0xff8d0808
==== C stack trace ===============================

    /home/qjivy/work/v8/out/riscv32.debug/libv8_libbase.so(v8::base::debug::StackTrace::StackTrace()+0x2c) [0xf7f4992c]
    /home/qjivy/work/v8/out/riscv32.debug/libv8_libplatform.so(+0x515fe) [0xf7e965fe]
    /home/qjivy/work/v8/out/riscv32.debug/libv8_libbase.so(V8_Fatal(char const*, int, char const*, ...)+0x134) [0xf7f0f294]
    ./out/riscv32.debug/cctest(+0x1a2702f) [0x57fb802f]
    ./out/riscv32.debug/cctest(CcTest::Run(char const*)+0x577) [0x573aa457]
    ./out/riscv32.debug/cctest(main+0x501) [0x573ac151]
    /lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0xf10dcee5]
    ./out/riscv32.debug/cctest(_start+0x31) [0x573a9b91]
Aborted
qjivy commented 2 years ago

Done by https://github.com/riscv-collab/v8/pull/602