[Liboil] Liboil Digest, Vol 21, Issue 1
Matthew Clark
tranzmatt at yahoo.com
Thu Nov 1 12:56:54 PDT 2007
More debug info...
The malfunction seems to be in oil_cpu_fault_check_try when it calls func(priv) for rgb2bgr_ppc:
liboil-0.3.12/liboil/powerpc/rgb2bgr.c:
rgb2bgr_ppc (uint8_t *dest, uint8_t* src, int n)
Unfortunately, I don't know enough PPC64 assembly to deduce what's wrong , but the PPC970 doesn't like that code.
I installed gcc 3.4 (from Debian Etch for ppc64), but it failed the same way as the gcc 4.1.2 build. Ditto for an earlier 0.3.10 tarball of liboil I pulled from the deb-src site...
Matt
------------------------------
Message: 2
Date: Wed, 31 Oct 2007 16:00:39 -0700 (PDT)
From: Matthew Clark <tranzmatt at yahoo.com>
Subject: Re: [Liboil] PPC 970 (64 bit support)?
To: David Schleef <ds at schleef.org>
Cc: liboil at lists.freedesktop.org
Message-ID: <767617.40822.qm at web38215.mail.mud.yahoo.com>
Content-Type: text/plain; charset="iso-8859-1"
I managed to get it to compile by making the following change in
.configure:
I took a look at ./configure and made the following change
10320c10320
< xpowerpc|xppc)
---
> xpowerpc|xppc|xpowerpc64|xppc64)
That seemed to do the trick as "regnames" was included in the Makefiles
and the code compiled. Unfortunately, none of the examples or
testsuite will work, the all crash with Segmentation Faults.
I saw oil-bugreport in the examples folder and it spits out:
mace:~/Code/Altivec/liboil-0.3.12/examples# ./oil-bugreport
OIL: INFO liboildebug.c 67: _oil_debug_init(): liboil-0.3.12 debug init
OIL: INFO liboilcpu.c 181: oil_cpu_fault_check_enable(): enabling
SIGILL handler. Make sure to continue past any SIGILL signals caught by
gdb.
OIL: INFO liboilcpu.c 232: oil_cpu_fault_check_disable(): disabling
SIGILL handler
OIL: INFO liboilcpu.c 107: _oil_cpu_init(): cpu flags 01000000
OIL: INFO liboilcpu.c 181: oil_cpu_fault_check_enable(): enabling
SIGILL handler. Make sure to continue past any SIGILL signals caught by
gdb.
Segmentation fault
I added a few of these OIL_INFO calls (before having to call it a
night) and the last one on the PPC970 was:
OIL: INFO liboilfunction.c 180: oil_optimize_all():
oil_class_optimize(809184) index 271 finished
While the 7447A ran cleanly through:
OIL: INFO liboilfunction.c 182: oil_optimize_all():
oil_class_optimize(268118736) index 379 finished
I could keep drilling down one by one, but I see there's an OIL_DEUG
option. How do I set that?
Matt
David Schleef <ds at schleef.org> wrote: On Tue, Oct 30, 2007 at
02:05:28PM -0700, Matthew Clark wrote:
> I'm trying to compile the liboil package so I can compare the
performace of a 32-bit PPC 7447A vs a 64-bit PPC 970, including the Altivec.
The code compiled fine on the 7447A machine (running gcc 3.4.4 on a
linux 2.6.14, libc 2.3.6), but I got compile errors on my 970 (2.6.21,
gcc 4.1.2, libc 2.3.6)
>
> gcc -DHAVE_CONFIG_H -I. -I. -I.. -Wall -D_BSD_SOURCE
> -D_GNU_SOURCE -I.. -g -O2 -MT liboil_0.3_la-liboilcpu.lo -MD -MP
> -MF .deps/liboil_0.3_la-liboilcpu.Tpo -c liboilcpu.c -fPIC -DPIC -o
.libs/liboil_0.3_la-liboilcpu.o
> /tmp/cch1g9kK.s: Assembler messages:
> /tmp/cch1g9kK.s:94: Error: unsupported relocation against v0
> /tmp/cch1g9kK.s:94: Error: unsupported relocation against v0
> /tmp/cch1g9kK.s:94: Error: unsupported relocation against v0
This is the sound of me grumbling: Argh, argh!
> Can anyone help me get this working, or is this a futile effort?
Something is going wrong in ./configure, and it's not detecting that
it's supposed to use '-Wa,-mregnames', as well as some other flags.
My guess is that m4/as-host-defines.m4 is not defining HAVE_POWERPC
because the ${host_cpu} is not recognized.
This may not be the only problem, however.
dave...
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freedesktop.org/archives/liboil/attachments/20071101/7f6a793b/attachment.html
More information about the Liboil
mailing list