Bug 224604 - SIGILL emulating power6 on ppc7450 rpmbuild of glibc
Summary: SIGILL emulating power6 on ppc7450 rpmbuild of glibc
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: glibc
Version: 6
Hardware: powerpc
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-01-26 17:20 UTC by John Reiser
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-01-26 17:32:49 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description John Reiser 2007-01-26 17:20:37 UTC
Description of problem: When re-building glibc-2.5-10.fc6.src.rpm on an Apple
Macintosh mini (PowerPC ppc7450), each test of "make check" fails with SIGILL. 
The power6 emulation does not work because
build-ppc-linuxnptl-power6/elf/ld.so.1 uses a rldicl instruction (rotate left
double word immediate then clear left) at memcpy+484 before the LD_PRELOAD can
take effect.  rldicl requires powerpc64.


Version-Release number of selected component (if applicable):
glibc-2.5-10.fc6.src.rpm

How reproducible:
Always.

Steps to Reproduce:
1. rpmbuild -ba --target ppc glibc-2.5-10.fc6.spec
2.
3.
  
Actual results:
====================TESTING -mcpu=power6=============
+ cd build-ppc-linuxnptl-power6
+ '[' -d ../power6emul ']'
++ cd ../power6emul
++ pwd
+ export
'LD_PRELOAD=/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/power6emul/$LIB/power6emul.so'
+
LD_PRELOAD='/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/power6emul/$LIB/power6emul.so'
+ make -j -k check PARALLELMFLAGS=-s
+ tee check.log
make -r PARALLELMFLAGS="-s" CVSOPTS="" -C .. objdir=`pwd` check
make[1]: Entering directory `/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257'
make -s subdir=csu -C csu ..=../ tests
make[2]: Entering directory
`/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/csu'
/bin/sh: line 1: 11428 Illegal instruction    
GCONV_PATH=/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/build-ppc-linuxnptl-power6/iconvdata
LC_ALL=C
/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/build-ppc-linuxnptl-power6/elf/ld.so.1
--library-path
/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/build-ppc-linuxnptl-power6:/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/build-ppc-linuxnptl-power6/math:/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/build-ppc-linuxnptl-power6/elf:/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/build-ppc-linuxnptl-power6/dlfcn:/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/build-ppc-linuxnptl-power6/nss:/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/build-ppc-linuxnptl-power6/nis:/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/build-ppc-linuxnptl-power6/rt:/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/build-ppc-linuxnptl-power6/resolv:/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/build-ppc-linuxnptl-power6/crypt:/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/build-ppc-linuxnptl-power6/nptl
/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/build-ppc-linuxnptl-power6/csu/tst-atomic
>/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/build-ppc-linuxnptl-power6/csu/tst-atomic.out
make[2]: ***
[/home/jreiser/rpmbuild/BUILD/glibc-2.5-20061008T1257/build-ppc-linuxnptl-power6/csu/tst-atomic.out]
Error 132


Expected results:
No SIGILL (signal 4; 132= (128 + 4))

Additional info:
Where is LIB set (part of the pathname in LD_PRELOAD)?

Comment 1 Jakub Jelinek 2007-01-26 17:32:49 UTC
Either accept testsuite failures then, or don't build it on pre-ppc64 hw,
or comment out /lib/power6 libs build.  I'm really not interested in writing
an emulator for all missing instructions.


Note You need to log in before you can comment on or make changes to this bug.