Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 181234 - dev-libs/libatomic_ops-1.2 needs powerpc64 support (dep of >=pulseaudio-0.9.6)
Summary: dev-libs/libatomic_ops-1.2 needs powerpc64 support (dep of >=pulseaudio-0.9.6)
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: ppc64 architecture team
Depends on:
Blocks: 180117 197126
  Show dependency tree
Reported: 2007-06-07 19:18 UTC by Markus Rothe (RETIRED)
Modified: 2008-01-06 08:12 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---

flist.s (flist.s,9.84 KB, text/plain)
2007-06-07 19:18 UTC, Markus Rothe (RETIRED)
flist.s (flist.s,63.70 KB, text/plain)
2007-06-07 19:48 UTC, Markus Rothe (RETIRED)
flist_patched.s (flist_patched.s,9.83 KB, text/plain)
2007-06-09 07:43 UTC, Markus Rothe (RETIRED)
cli-command.s (cli-command.s,74.47 KB, text/plain)
2007-10-28 15:05 UTC, Markus Rothe (RETIRED)

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Rothe (RETIRED) gentoo-dev 2007-06-07 19:18:13 UTC
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 
-DPA_DEFAULT_CONFIG_DIR=\"/etc/pulse\" -DPA_BINARY=\"/usr/bin/pulseaudio\"
'-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
make[2]: *** [all] Error 2
make[2]: Leaving directory
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory
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?

Comment 1 Markus Rothe (RETIRED) gentoo-dev 2007-06-07 19:18:36 UTC
Created attachment 121434 [details]
Comment 2 Markus Rothe (RETIRED) gentoo-dev 2007-06-07 19:31:05 UTC
compiling with -O0 works. -O1 breaks:

# pwd
# 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
Comment 3 Markus Rothe (RETIRED) gentoo-dev 2007-06-07 19:48:42 UTC
Created attachment 121438 [details]

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?)
Comment 4 Diego Elio Pettenò (RETIRED) gentoo-dev 2007-06-07 19:55:35 UTC
The code comes from libatomic_ops as I was afraid :/
Comment 5 Diego Elio Pettenò (RETIRED) gentoo-dev 2007-06-07 19:56:18 UTC
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.
Comment 6 Markus Rothe (RETIRED) gentoo-dev 2007-06-07 20:07:07 UTC
Ah.. now I understand. The problem is dev-libs/libatomic_ops.. Uhm.. yea, getting a fix is difficult...
Comment 7 Luca Barbato gentoo-dev 2007-06-08 22:45:45 UTC
aops 1.2 seems to build and pass 3/4 tests, yet I hadn't tracked why the test failed...
Comment 8 Luca Barbato gentoo-dev 2007-06-08 23:24:31 UTC
aops fixed in order to pass at least the tests, _should_ work fine

Comment 9 Markus Rothe (RETIRED) gentoo-dev 2007-06-09 07:43:12 UTC
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'
Comment 10 Markus Rothe (RETIRED) gentoo-dev 2007-06-09 07:43:35 UTC
Created attachment 121544 [details]
Comment 11 Joe Jezak (RETIRED) gentoo-dev 2007-09-10 19:13:14 UTC
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.
Comment 12 Markus Rothe (RETIRED) gentoo-dev 2007-10-28 15:04:34 UTC
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'
Comment 13 Markus Rothe (RETIRED) gentoo-dev 2007-10-28 15:05:33 UTC
Created attachment 134537 [details]

the preproccessed source
Comment 14 Joe Jezak (RETIRED) gentoo-dev 2007-11-11 09:19:10 UTC
Which libatomic_ops is installed?
Comment 15 Markus Rothe (RETIRED) gentoo-dev 2007-11-11 16:12:24 UTC
(In reply to comment #14)
> Which libatomic_ops is installed?

Comment 16 Brent Baude (RETIRED) gentoo-dev 2008-01-01 02:42:29 UTC
@corsair - I keyworded libatomic_ops-1.2-r1 ppc64 today as it compiled fine and also pulseaudio.  Wanna close this sucker?
Comment 17 Markus Rothe (RETIRED) gentoo-dev 2008-01-06 08:12:28 UTC
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.