uweigand commented on Issue #2853:
Huh, this is strange. From the failing test, it appears that on x86 that address is a WebAssembly memory address. Now I'm confused as to why this would differ between platforms. What is the result of a DW_OP_WASM_location _supposed_ to be?
uweigand commented on Issue #2853:
@cfallin FYI ... this is the second issue we were talking about. Not sure what the problem here is ... see above.
bjorn3 commented on Issue #2853:
According to https://yurydelendik.github.io/webassembly-dwarf/
DW_OP_WASM_location 0 i
would return the value of the i<sup>th</sup> local.DW_OP_WASM_location 1/3 i
would return the i<sup>th</sup> global andDW_OP_WASM_location 2 i
the i<sup>th</sup> value on the operand stack. In all cases if it is an address, it is an address relative to the wasm linear memory. Only at the end do you need to convert the wasm address to native address. (if applicable at all)
uweigand commented on Issue #2853:
In all cases if it is an address, it is an address relative to the wasm linear memory.
Thanks! This is the point I was not clear about. On s390x, the value I get is in fact the native address, not a wasm linear memory address -- so if it should be a wasm address, there must be a platform bug somewhere. I'll have a look.
This also means that this PR is not the correct fix, so I'm closing it.
Last updated: Dec 23 2024 at 12:05 UTC