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
Created attachment 121434 [details] flist.s
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 attachment 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'
Created attachment 121544 [details] flist_patched.s
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'
Created attachment 134537 [details] cli-command.s the preproccessed source
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.