This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libc/23334] New: misc/tst-set_ppr fails on some POWER systems in 32-bit mode


https://sourceware.org/bugzilla/show_bug.cgi?id=23334

            Bug ID: 23334
           Summary: misc/tst-set_ppr fails on some POWER systems in 32-bit
                    mode
           Product: glibc
           Version: 2.28
            Status: NEW
          Severity: normal
          Priority: P2
         Component: libc
          Assignee: unassigned at sourceware dot org
          Reporter: fweimer at redhat dot com
                CC: drepper.fsp at gmail dot com
  Target Milestone: ---
            Target: powerpc

I have a system where misc/tst-set_ppr crashes with SIGILL in
check_thread_priority:

Dump of assembler code for function check_thread_priority:
   0x10000bb0 <+0>:     stwu    r1,-16(r1)
   0x10000bb4 <+4>:     mflr    r0
   0x10000bb8 <+8>:     mr      r4,r3
   0x10000bbc <+12>:    stw     r0,20(r1)
=> 0x10000bc0 <+16>:    mfppr32 r6
   0x10000bc4 <+20>:    rlwinm  r6,r6,14,29,31
   0x10000bc8 <+24>:    cmplw   cr7,r3,r6
   0x10000bcc <+28>:    beq     cr7,0x10000c00 <check_thread_priority+80>
   0x10000bd0 <+32>:    lis     r3,4096

LD_SHOW_AUXV=1 reports:

AT_DCACHEBSIZE:  0x80
AT_ICACHEBSIZE:  0x80
AT_UCACHEBSIZE:  0x0
AT_SYSINFO_EHDR: 0x3fff7d7d0000
AT_HWCAP:        true_le archpmu vsx arch_2_06 dfp ic_snoop smt mmu fpu altivec
ppc64 ppc32
AT_PAGESZ:       65536
AT_CLKTCK:       100
AT_PHDR:         0x10000040
AT_PHENT:        56
AT_PHNUM:        9
AT_BASE:         0x3fff7d7f0000
AT_FLAGS:        0x0
AT_ENTRY:        0x1001fa58
AT_UID:          0
AT_EUID:         0
AT_GID:          0
AT_EGID:         0
AT_SECURE:       0
AT_RANDOM:       0x3fffdf630822
AT_HWCAP2:       dscr
AT_EXECFN:       /bin/true
AT_PLATFORM:     power7
AT_BASE_PLATFORM:power7

lscpu says:

Architecture:          ppc64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Big Endian
CPU(s):                28
On-line CPU(s) list:   0-27
Thread(s) per core:    4
Core(s) per socket:    1
Socket(s):             7
NUMA node(s):          1
Model:                 2.1 (pvr 003f 0201)
Model name:            POWER7 (architected), altivec supported
Hypervisor vendor:     pHyp
Virtualization type:   para
L1d cache:             32K
L1i cache:             32K
NUMA node0 CPU(s):     0-27

Apparently, the system is an IBM 8202-E4B machine.  The kernel is
kernel-3.10.0-862.6.3.el7.ppc64 from Red Hat Enterprise Linux 7.5.

My copy of PowerISA_V2.06B_V2_PUBLIC.pdf marks the mfppr32 instructions as
“Category: Phased-In”.  This suggests that the test is incorrect on 32-bit
because it checks for the PPC_FEATURE_ARCH_2_06 bit in getauxval (AT_HWCAP).  I
don't see a way to correct the test for 32-bit mode; the ISA manual doesn't
suggest a way to probe for this.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]