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

Reply via email to