NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

toolchain/60011: TLS alignment wrong on powerpc



>Number:         60011
>Category:       toolchain
>Synopsis:       TLS alignment wrong on powerpc
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    toolchain-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Feb 16 16:20:00 +0000 2026
>Originator:     Martin Husemann
>Release:        NetBSD 11.99.5
>Organization:
The NetBSD Foundation, Inc.
>Environment:
System: NetBSD gethsemane.aprisoft.de 11.99.5 NetBSD 11.99.5 (GETHSEMANE) #448: Mon Feb 16 15:23:34 CET 2026 martin%seven-days-to-the-wolves.aprisoft.de@localhost:/work/src/sys/arch/macppc/compile/GETHSEMANE macppc
Architecture: powerpc
Machine: macppc
>Description:

The /usr/tests/libexec/ld.elf_so/t_tls_alignment test fails on powerpc
machines:

tp-start: 1771257800.390513, t_tls_alignment, 1
tc-start: 1771257800.390612, tls_alignment
tc-se:*** Check failed: /work/src/tests/libexec/ld.elf_so/t_tls_alignment.c:60: tls_data.magic1 == MAGIC1 not met
tc-se:*** Check failed: /work/src/tests/libexec/ld.elf_so/t_tls_alignment.c:61: tls_data.magic2 == MAGIC2 not met
tc-se:*** Check failed: /work/src/tests/libexec/ld.elf_so/t_tls_alignment.c:62: tls_data.magic3 == MAGIC3 not met
tc-end: 1771257800.416247, tls_alignment, failed, 3 checks failed; see output for more details

(gdb) x/16i atfu_tls_alignment_body
   0xcb10d2c <atfu_tls_alignment_body>: nop
   0xcb10d30 <atfu_tls_alignment_body+4>:       lis     r10,-21931
   0xcb10d34 <atfu_tls_alignment_body+8>:       addi    r7,r2,-28672
=> 0xcb10d38 <atfu_tls_alignment_body+12>:      ori     r10,r10,43605
   0xcb10d3c <atfu_tls_alignment_body+16>:      lwz     r8,0(r7)
   0xcb10d40 <atfu_tls_alignment_body+20>:      mflr    r0
   0xcb10d44 <atfu_tls_alignment_body+24>:      stwu    r1,-16(r1)
   0xcb10d48 <atfu_tls_alignment_body+28>:      
    bcl     20,4*cr7+so,0xcb10d4c <atfu_tls_alignment_body+32>
   0xcb10d4c <atfu_tls_alignment_body+32>:      cmpw    r8,r10
   0xcb10d50 <atfu_tls_alignment_body+36>:      stw     r30,8(r1)
   0xcb10d54 <atfu_tls_alignment_body+40>:      mflr    r30
   0xcb10d58 <atfu_tls_alignment_body+44>:      addis   r30,r30,2
   0xcb10d5c <atfu_tls_alignment_body+48>:      stw     r0,20(r1)
   0xcb10d60 <atfu_tls_alignment_body+52>:      addi    r30,r30,-30248
   0xcb10d64 <atfu_tls_alignment_body+56>:      
    bne     0xcb10e20 <atfu_tls_alignment_body+244>
   0xcb10d68 <atfu_tls_alignment_body+60>:      lwz     r10,4(r7)
(gdb) p/x $r7
$3 = 0xf2df5048
(gdb) x/40x 0xf2df5048
0xf2df5048:     0x00000000      0x00000000      0x00000000      0x00000000
0xf2df5058:     0x00000000      0x00000000      0x00000000      0x00000000
0xf2df5068:     0x00000000      0x00000000      0x00000000      0x00000000
0xf2df5078:     0x00000000      0x00000000      0xaa55aa55      0xaa55aa55
0xf2df5088:     0x00000000      0x00000000      0x00000000      0x00000000
0xf2df5098:     0x00000000      0x00000000      0x00000000      0x00000000
0xf2df50a8:     0x00000000      0x00000000      0x00000000      0x00000000
0xf2df50b8:     0x00000000      0x00000000      0xc0ffeeee      0xeeeeeeee
0xf2df50c8:     0xff00ff00      0xff00ff00      0x00000000      0x00000000
0xf2df50d8:     0x00000000      0x00000000      0x00000000      0x00000000




>How-To-Repeat:

cd /usr/tests/libexec/ld.elf_so/ && atf-run t_tls_alignment

>Fix:
n/a



Home | Main Index | Thread Index | Old Index