Bug 181234 - dev-libs/libatomic_ops-1.2 needs powerpc64 support (dep of >=pulseaudio-0.9.6)
|
Bug#:
181234
|
Product: Gentoo Linux
|
Version: 2007.0
|
Platform: All
|
|
OS/Version: Linux
|
Status: CLOSED
|
Severity: normal
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: ppc64@gentoo.org
|
Reported By: corsair@gentoo.org
|
|
Component: Applications
|
|
|
URL:
|
|
Summary: dev-libs/libatomic_ops-1.2 needs powerpc64 support (dep of >=pulseaudio-0.9.6)
|
|
Keywords:
|
|
Status Whiteboard:
|
|
Opened: 2007-06-07 19:18 0000
|
Seperating this issue from bug #180117 to avoid spam for other arches.
While compiling media-sound/pulseaudio-0.9.6 we are running into this issue on
ppc64:
if powerpc64-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -I../src
-I../src/modules -I../src/modules/rtp -I../src/modules/gconf
-D_POSIX_PTHREAD_SEMANTICS
-DPA_DLSEARCHPATH=\"/usr/lib64/pulse-0.9/modules/\"
-DPA_DEFAULT_CONFIG_DIR=\"/etc/pulse\" -DPA_BINARY=\"/usr/bin/pulseaudio\"
-DPA_SYSTEM_RUNTIME_PATH=\"/var/run/pulse\" -DAO_REQUIRE_CAS
'-DDEBUG_TRAP=__asm__("int $3")' -O2 -pipe -std=gnu99 -Wall -W -Wextra
-pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-statement
-Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes
-Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wpointer-arith
-Wcast-align -Wwrite-strings -Winline -Wno-unused-parameter -MT
flist_test-flist.o -MD -MP -MF ".deps/flist_test-flist.Tpo" -c -o
flist_test-flist.o `test -f 'pulsecore/flist.c' || echo './'`pulsecore/flist.c;
\
then mv -f ".deps/flist_test-flist.Tpo" ".deps/flist_test-flist.Po";
else rm -f ".deps/flist_test-flist.Tpo"; exit 1; fi
{standard input}: Assembler messages:
{standard input}:97: Error: syntax error; found `,' but expected `('
{standard input}:97: Error: junk at end of line: `,9'
make[3]: *** [flist_test-flist.o] Error 1
make[3]: Leaving directory
`/var/tmp/portage/media-sound/pulseaudio-0.9.6/work/pulseaudio-0.9.6/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/var/tmp/portage/media-sound/pulseaudio-0.9.6/work/pulseaudio-0.9.6/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
`/var/tmp/portage/media-sound/pulseaudio-0.9.6/work/pulseaudio-0.9.6'
make: *** [all] Error 2
The instruction causing this is "lwz 0,10,9" (see attachment). According to [1]
on page 45 of the pdf (or page 35 if your looking at the pages *written* on the
page) the syntax is wrong. it should be something like "lwz RT,D(RA)". I don't
really know if this should just be "lwz 0,10(9)" or something really different.
Now.. where the heck comes this from? I don't see assembler code in the sources
so this is a compiler issue?
[1]
http://www.opensolaris.org/os/community/power_pc/powerpc_doc_library/archpub1.pdf
compiling with -O0 works. -O1 breaks:
# pwd
/var/tmp/portage/media-sound/pulseaudio-0.9.6/work/pulseaudio-0.9.6/src
# gcc -save-temps -I. -c -O1 pulsecore/flist.c
flist.s: Assembler messages:
flist.s:91: Error: syntax error; found `,' but expected `('
flist.s:91: Error: junk at end of line: `,11'
# gcc -save-temps -I. -c -O0 pulsecore/flist.c
#
Created an attachment (id=121438) [details]
flist.s
now compiled with -g. The error is now in line 181.
does that ".file 3 "./pulsecore/atomic.h"" in line 154 mean, that the
/following/ lines are from that file? (and so the error comes from atomic.h?)
The code comes from libatomic_ops as I was afraid :/
Yeah I didn't need that but it's appreciated. The code in between #APP and
#NO_APP in GCC's output is inline assembler in the source code:
./src/atomic_ops/sysdeps/gcc/powerpc.h: "lwz %0,%1\n"
now to get a fix, that's difficult.
Ah.. now I understand. The problem is dev-libs/libatomic_ops.. Uhm.. yea,
getting a fix is difficult...
aops 1.2 seems to build and pass 3/4 tests, yet I hadn't tracked why the test
failed...
aops fixed in order to pass at least the tests, _should_ work fine
sorry, this did not fix the pulseaudio error:
flist.s: Assembler messages:
flist.s:97: Error: offset not a multiple of 4
flist.s:97: Error: syntax error; found `,' but expected `('
flist.s:97: Error: junk at end of line: `,9'
The pulseaudio error was a different bug. I've patched libatomic_ops to fix
that one (it hit ppc too) so this can be closed.
I tried to compile media-sound/pulseaudio-0.9.6-r1 for bug #197126 and ran into
this issue:
powerpc64-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I..
-I/usr/include/liboil-0.3 -I../src -I../src/modules -I../src/modules/rtp
-I../src/modules/gconf -D_POSIX_PTHREAD_SEMANTICS
-DPA_DLSEARCHPATH=\"/usr/lib64/pulse-0.9/modules/\"
-DPA_DEFAULT_CONFIG_DIR=\"/etc/pulse\" -DPA_BINARY=\"/usr/bin/pulseaudio\"
-DPA_SYSTEM_RUNTIME_PATH=\"/var/run/pulse\" -DAO_REQUIRE_CAS
"-DDEBUG_TRAP=__asm__(\"int \$3\")" -O2 -pipe -std=gnu99 -Wall -W -Wextra
-pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-statement
-Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes
-Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wpointer-arith
-Wcast-align -Wwrite-strings -Winline -Wno-unused-parameter -MT
libpulsecore_la-cli-command.lo -MD -MP -MF
.deps/libpulsecore_la-cli-command.Tpo -c pulsecore/cli-command.c -fPIC -DPIC
-o .libs/libpulsecore_la-cli-command.o
./pulsecore/atomic.h: In function 'pa_atomic_load':
./pulsecore/atomic.h:45: warning: passing argument 1 of 'AO_load_acquire'
discards qualifiers from pointer target type
{standard input}: Assembler messages:
{standard input}:3588: Error: operand out of domain (31 is not a multiple of 4)
{standard input}:3588: Error: syntax error; found `,' but expected `('
{standard input}:3588: Error: junk at end of line: `,0'
{standard input}:3598: Error: operand out of domain (31 is not a multiple of 4)
{standard input}:3598: Error: syntax error; found `,' but expected `('
{standard input}:3598: Error: junk at end of line: `,9'
make[3]: *** [libpulsecore_la-cli-command.lo] Error 1
make[3]: Leaving directory
`/var/tmp/paludis/media-sound/pulseaudio-0.9.6-r1/work/pulseaudio-0.9.6/src'
Which libatomic_ops is installed?
(In reply to comment #14)
> Which libatomic_ops is installed?
dev-libs/libatomic_ops-1.2-r1
@corsair - I keyworded libatomic_ops-1.2-r1 ppc64 today as it compiled fine and
also pulseaudio. Wanna close this sucker?
yes, compiles fine. I *guess* it happened here due to -mcpu=power3 or some
other non-standart things with the install. Cannot say for sure, as the hard
drive is now in nirvana ;-)
thanks for looking into this.