On s390x the riscv64 opcode `lhu a4,0(a5)` is incorrectly executed
in the code segment.
Here is the disassembly:
e73e: 00873f03 ld t5,8(a4)
e742: 0044de03 lhu t3,4(s1)
e746: 1a079e63 bnez a5,e902
<_dl_check_map_versions+0x2be>
e74a: 18893783 ld a5,392(s2)
e74e: 18078163 beqz a5,e8d0
<_dl_check_map_versions+0x28c>
e752: 679c ld a5,8(a5)
e754: 5e078763 beqz a5,ed42
<_dl_check_map_versions+0x6fe>
e758: 00093703 ld a4,0(s2)
e75c: 01df0533 add a0,t5,t4
// def = (ElfW(Verdef) *) ((char *) map->l_addr + def_offset);
e760: 97ba add a5,a5,a4
// $a4 = def->vd_version
// This opcode is incorrectly interpreted. Byte sequence \x01 \x00 is loaded as
0x100.
e762: 8798 lhu a4,0(a5)
// if (__builtin_expect (def->vd_version, 1) != 1)
e764: 01a71d63 bne a4,s10,e77e
<_dl_check_map_versions+0x13a>
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2123828
Title:
unsupported version 256 of Verdef record when running qemu-riscv64 on
s390x
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-15/+bug/2123828/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs