Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 3021 - alsa-driver-0.9rc1-r7 won't build on gcc3
Summary: alsa-driver-0.9rc1-r7 won't build on gcc3
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Matthew Kennedy (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-05-25 09:37 UTC by walt
Modified: 2003-02-04 19:42 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description walt 2002-05-25 09:37:36 UTC
What a pain in the ass this gcc3 is.  Nothing builds right on
FreeBSD -CURRENT either.  Will it be worth all the bother?

In file included from trident_memory.c:1:
../../alsa-kernel/pci/trident/trident_memory.c: In function
`snd_trident_synth_bzero_Rdf2768f0':
../../alsa-kernel/pci/trident/trident_memory.c:402: unrecognizable insn:
(insn 228 221 230 (set (reg:SI 99)
        (ashift:SI (plus:SI (reg/v:SI 63)
                (const_int -1 [0xffffffff]))
            (const_int 12 [0xc]))) -1 (insn_list 28 (nil))
    (nil))
../../alsa-kernel/pci/trident/trident_memory.c:402: Internal compiler error in
extract_insn, at recog.c:2132
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
make[2]: *** [trident_memory.o] Error 1
Comment 1 Matthew Kennedy (RETIRED) gentoo-dev 2002-05-25 20:01:15 UTC
I used to use gcc3.0.4 under a gcc3 default-1.0 profile. Now I use a 
gcc3.1-r2. alsa-driver has compiled fine for me under both versions of gcc3. 
 
Comment 2 walt 2002-05-26 09:55:33 UTC
The build problems with arts and fam-oss did resolve after doing
emerge prune gcc, which removed the offending files from /usr/include.
(And, BTW, it also removed /usr/bin/makeinfo and info-install.)

However--alsa-driver continues to fail at exactly the same spot
with gcc3.1-r3 and now 3.1-r4, so where do I go with this:

make[2]: Leaving directory
`/var/tmp/portage/alsa-driver-0.9.0_rc1-r7/work/alsa-driver-0.9.0rc1/pci/rme9652'
make  -C trident modules
make[2]: Entering directory
`/var/tmp/portage/alsa-driver-0.9.0_rc1-r7/work/alsa-driver-0.9.0rc1/pci/trident'
gcc -DALSA_BUILD -D__KERNEL__ -DMODULE=1
-I/var/tmp/portage/alsa-driver-0.9.0_rc1-r7/work/alsa-driver-0.9.0rc1/include
-I/usr/src/linux/include -O2 -mpreferred-stack-boundary=2 -march=k6 -DLINUX -W
all -Wstrict-prototypes -fomit-frame-pointer -pipe   -c -o trident_memory.o
trident_memory.c
In file included from trident_memory.c:1:
../../alsa-kernel/pci/trident/trident_memory.c: In function
`snd_trident_synth_bzero_Rdf2768f0':
../../alsa-kernel/pci/trident/trident_memory.c:402: unrecognizable insn:
(insn 228 221 230 (set (reg:SI 99)
        (ashift:SI (plus:SI (reg/v:SI 63)
                (const_int -1 [0xffffffff]))
            (const_int 12 [0xc]))) -1 (insn_list 28 (nil))
    (nil))
../../alsa-kernel/pci/trident/trident_memory.c:402: Internal compiler error in
extract_insn, at recog.c:2132
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
make[2]: *** [trident_memory.o] Error 1
make[2]: Leaving directory
`/var/tmp/portage/alsa-driver-0.9.0_rc1-r7/work/alsa-driver-0.9.0rc1/pci/trident'
make[1]: *** [_modsubdir_trident] Error 2
make[1]: Leaving directory
`/var/tmp/portage/alsa-driver-0.9.0_rc1-r7/work/alsa-driver-0.9.0rc1/pci'
make: *** [compile] Error 1

Since alsa installs kernel driver modules--I wonder if this is really a
kernel configuration problem instead of a gcc problem?  Wouldn't explain
why it compiled under 3.04 but not 3.1, tho.
Comment 3 Matthew Kennedy (RETIRED) gentoo-dev 2002-05-26 15:32:38 UTC
For /usr/bin/makeinfo and info-install, emerge texinfo-4.2 (possibly masked 
atm). 
 
For the sound problem... if you've recompiled your kernel recently it might 
cause this problem. Try  
 
  cd /usr/src/linux 
  cp .config /tmp 
  make mrproper 
  cp /tmp/.config . 
  make dep 
  make clean 
 
And then try re-emerging fam-oss. This procedure seems to fix unresolved 
symbol problems... perhaps it will do something for you with fam-oss. 
Comment 4 walt 2002-05-26 21:27:45 UTC
[As aside, fam-oss was fixed by doing the emerge prune gcc, so that's okay.]

I've discovered that I can get alsa-driver completed by lowerering the -O2 to
-O1 in that one trident subdirectory.  Then I can do a make install in the
top work subdirectory and the modules actually get installed in /lib/modules.

Not really very satisfying, since the portage database doesn't get updated
and emerge keeps wanting to upgrade alsa-driver again.

Any clues why gcc chokes on the -O2 flag just in that one spot?
I'm using these flags in make.conf:

CFLAGS="-mcpu=k6 -march=k6 -O3 -pipe"
CXXFLAGS="-mcpu=k6 -march=k6 -O3 -pipe"

but obviously somewhere the -O2 flag gets stuck in by somebody else.
Comment 5 Matthew Kennedy (RETIRED) gentoo-dev 2002-05-29 00:15:26 UTC
I think you should send a bug report to the gcc team. If -O2 works and -O3 
doesn't, I think they may have a gcc bug. I'd guess it's your k6 flags, since 
it builds fine for me with 686 flags. 
 
I'll resolve this as wontfix for now since it looks like a gcc bug.