Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 31606 - xfs-sources-2.4.20 does not compile with gcc-3.3.1
Summary: xfs-sources-2.4.20 does not compile with gcc-3.3.1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Please assign to toolchain
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-10-20 09:15 UTC by Sascha Wuestemann
Modified: 2004-02-17 16:38 UTC (History)
1 user (show)

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


Attachments
kernel/exec_domain.c from linux-2.40-xfs-r3 sources as requested (exec_domain.c,6.47 KB, text/plain)
2003-10-26 11:24 UTC, Sascha Wuestemann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sascha Wuestemann 2003-10-20 09:15:24 UTC
I updated my gcc which did the following:
[ebuild     U ] sys-devel/bison-1.875 [1.35]
[ebuild     U ] sys-devel/binutils-2.14.90.0.6-r6 [2.14.90.0.5-r1]
[ebuild     U ] sys-devel/gcc-3.3.1-r5 [3.2.2-r2]

I also emerged ccache, which I am using for any compiles:
[ebuild     U ] dev-util/ccache-2.3 [2.2]

and afterwards I emerged libc:
[ebuild     U ] sys-libs/glibc-2.3.2-r6 [2.2.5-r6]

all with no errors.

I also changed to "i586-pc-linux-gnu-3.3.1" using gcc-config

But compiling gives an error I can't solve, it is the same with or without 
ccache running. Small snippet:
---cut-on---
make[2]: Entering directory `/usr/src/linux-2.4.20-xfs-r3/kernel'
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-xfs-r3/include  -Wall 
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common 
-fomit-frame-pointer -p
ipe -mpreferred-stack-boundary=2 -march=k6   -nostdinc -iwithprefix include 
-DKBUILD_BASENAME=sched  -fno-omit-frame-pointer -c -o sched.o sched.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-xfs-r3/include  -Wall 
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common 
-fomit-frame-pointer -p
ipe -mpreferred-stack-boundary=2 -march=k6   -nostdinc -iwithprefix include 
-DKBUILD_BASENAME=dma  -c -o dma.o dma.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-xfs-r3/include  -Wall 
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common 
-fomit-frame-pointer -p
ipe -mpreferred-stack-boundary=2 -march=k6   -nostdinc -iwithprefix include 
-DKBUILD_BASENAME=fork  -c -o fork.o fork.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-xfs-r3/include  -Wall 
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common 
-fomit-frame-pointer -p
ipe -mpreferred-stack-boundary=2 -march=k6   -nostdinc -iwithprefix include 
-DKBUILD_BASENAME=exec_domain  -DEXPORT_SYMTAB -c exec_domain.c
exec_domain.c:234: error: syntax error before 
"config_must_be_included_before_module"
exec_domain.c:234: warning: type defaults to `int' in declaration of 
`config_must_be_included_before_module'
exec_domain.c:234: warning: data definition has no type or storage class
exec_domain.c:235: error: syntax error before 
"config_must_be_included_before_module"
exec_domain.c:235: warning: type defaults to `int' in declaration of 
`config_must_be_included_before_module'
exec_domain.c:235: warning: data definition has no type or storage class
exec_domain.c:236: error: syntax error before 
"config_must_be_included_before_module"
exec_domain.c:236: warning: type defaults to `int' in declaration of 
`config_must_be_included_before_module'
exec_domain.c:236: warning: data definition has no type or storage class
exec_domain.c:287: error: syntax error before 
"config_must_be_included_before_module"
exec_domain.c:287: warning: type defaults to `int' in declaration of 
`config_must_be_included_before_module'
exec_domain.c:287: warning: data definition has no type or storage class
exec_domain.c:288: error: syntax error before 
"config_must_be_included_before_module"
exec_domain.c:288: warning: type defaults to `int' in declaration of 
`config_must_be_included_before_module'
exec_domain.c:288: warning: data definition has no type or storage class
exec_domain.c:289: error: syntax error before 
"config_must_be_included_before_module"
exec_domain.c:289: warning: type defaults to `int' in declaration of 
`config_must_be_included_before_module'
exec_domain.c:289: warning: data definition has no type or storage class
exec_domain.c:290: error: syntax error before 
"config_must_be_included_before_module"
exec_domain.c:290: warning: type defaults to `int' in declaration of 
`config_must_be_included_before_module'
exec_domain.c:290: warning: data definition has no type or storage class
exec_domain.c:291: error: syntax error before 
"config_must_be_included_before_module"
exec_domain.c:291: warning: type defaults to `int' in declaration of 
`config_must_be_included_before_module'
exec_domain.c:291: warning: data definition has no type or storage class
exec_domain.c:292: error: syntax error before 
"config_must_be_included_before_module"
exec_domain.c:292: warning: type defaults to `int' in declaration of 
`config_must_be_included_before_module'
exec_domain.c:292: warning: data definition has no type or storage class
make[2]: *** [exec_domain.o] Error 1
make[2]: Leaving directory `/usr/src/linux-2.4.20-xfs-r3/kernel'
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.20-xfs-r3/kernel'
make: *** [_dir_kernel] Error 2
---cut-off---

which is of a .config with compiled fine with the old gcc (and other stuff) 
before.

Reproducible: Always
Steps to Reproduce:
1.
2.
3.

Actual Results:  
The new gcc can't compile what the old could.

Expected Results:  
I have expected to work gcc with new gcc and updated system settings using 
gcc-cache compile fine.

cat: /etc/gentoo-release: No such file or directory
Portage 2.0.49-r13-2 (default-x86-1.4, gcc-3.3.1, glibc-2.3.2-r6, 2.4.20-xfs-r3)
=================================================================
System uname: 2.4.20-xfs-r3 i586 AuthenticAMD
ccache version 2.3 [enabled]
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=k6-3 -O3 -pipe -fomit-frame-pointer"
CHOST="i586-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config 
/usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config 
/usr/share/texmf/tex/
generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-march=k6-3 -O3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="sandbox ccache autoaddcvs"
GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.
org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 oss apm foomaticdb gif libg++ mad mikmod ncurses pdflib png spell 
truetype xmms xv berkdb slang readline arts tetex nas svga tcltk java guile sdl 
gpm
 tcpd libwww perl python esd imlib oggvorbis gtk qt motif opengl cdr -cups X 
crypto avi mpeg quicktime ggi encode pam ssl crypt mysql postgres innodb gdbm 
acl
 samba zlib jpeg xml xml2 dvd aalib gd snmp nls kde -sse -gnome"
Comment 1 Joshua Kinard gentoo-dev 2003-10-22 22:02:52 UTC
Have you tried any other kernels?  I'm not sure on the maintainership status
of xfs-sources.  If you use XFS as a filesystem, I'd look at giving the 2.6.0
kernel a try, as XFS has been fully integrated in that kernel.

Optionally, you can also try out the new gcc-3.3.2 ebuild to see if maybe
it fixes things.
Comment 2 Sascha Wuestemann 2003-10-23 08:50:23 UTC
Hi,

meanwhile I have succesfully searched forums.gentoo.org and found a note,
that another gentoo kernel release has xfs support and compiles fine with
gcc-3.3.1

So I tried sys-kernel/ck-sources with the .config file of xfs-sources and
was lucky. This sources compile fine.

That seems as if the patched kernel sources of 2.4.20 might be the cause.

As long as the error is not exactly detemined this case is open, but the
summary can be changed to "xfs-sources-2.4.20 do not compile with gcc-3.3.1"
IMHO.
... I don't know if I am allowed to do that, maybe a maintainer of the xfs-sources
should do that?
Comment 3 Joshua Kinard gentoo-dev 2003-10-23 08:56:35 UTC
I was told someone else on the dev team planned on picking up the xfs-sources
maintainership role shortly.  When that is, I am unsure.  When that happens,
they'll likely get this bug re-assigned to them.  I'd bet the xfs patch itself
doesn't compile properly.

Of course, if another kernel source package already has XFS, then I wonder
at the need for xfs-sources still.

Also see if gcc-3.3.2 can compile xfs-sources.  Maybe they changed something.
Comment 4 Sascha Wuestemann 2003-10-24 09:55:50 UTC
Hi,

I synced yesterday and today, but `emerge -p sys-devel/gcc` always gives
as result gcc-3.3.1-r5

As you can see I do have ~x86 enabled. Maybe the mirrors I get, haven't themselves
synced?
Comment 5 Joshua Kinard gentoo-dev 2003-10-24 14:30:59 UTC
gcc-3.3.2 is keyword masked, that is. KEYWORDS="-*" in the ebuild.  You'll
need to manually edit the file or use the "ekeyword" command (part of gentoolkit)
to add a x86 or ~x86 keyword to the ebuild.  Then you can merge it.  Be warned
that when you make the change, it will get wiped out next 'emerge rsync'
unless the ebuild is part of your Portage overlay folder.
Comment 6 Sascha Wuestemann 2003-10-25 16:35:26 UTC
Hi,

xfs-sources linux-2.4.20-xfs-r3 don't compile with gcc-3.3.2 either.

I manually edited /usr/portage/sys-devel/gcc/gcc-3.3.2.ebuild to demask it
with KEYWORDS="~x86"

Afterwards I emerged succesfully gcc-3.3.2 and I have checked, that my console
uses it with  

# gcc-config --list-profiles
i586-pc-linux-gnu-3.2.2
i586-pc-linux-gnu-3.3.1
i586-pc-linux-gnu-3.3.2
# gcc-config --get-current-profile
i586-pc-linux-gnu-3.3.2

So I went to /usr/src, symlinked linux-2.4.20-xfs-r3 to linux, chdired to
linux and made a `make dep clean bzImage`

This stops compiling at the same point as I have reported before.
Comment 7 Joshua Kinard gentoo-dev 2003-10-25 23:45:02 UTC
Okay, so it seems xfs-sources is just broken with gcc-3.3.x.  I don't know
if there is anything that can be done.  xfs-sources I believe is unmaintained
currently, so there isn't much I can do for it right now.  Likely it needs
a new kernel release with the latest SGI XFS patch.  I recommend you stay
with ck-sources for now, or you consider giving 2.6 a shot.  2.6 has XFS
included in the tree, and they just released test9, so you're looking at
the real 2.6 coming out soon.

I'm going to hand this over to the x86-kernel team to handle once they get
someone to pickup xfs-sources and get it up to spec, or decide remove it
all together.
Comment 8 Tim Yamin (RETIRED) gentoo-dev 2003-10-26 10:22:52 UTC
It's kind of "semi-maintained". I added a GCC 3.3 patch a while ago to Portage
and I just upgraded to gcc 3.3.1 to check that it works. I used the default
.config, and everything compiled fine *including* the exec_domain.c source.

"exec_domain.c" was never patched for GCC 3.3 [and never needed to be], so
it looks like you are be having a GCC problem. Can you try the generic i586
[or no] -march flags? You're currently using -k6 and this may be a bug of
some sort in GCC...
Comment 9 Sascha Wuestemann 2003-10-26 10:54:10 UTC
Hi,

news I have to tell:

I have compiled, installed and am using linux-2.6.0-test9 with no errors
using gcc-3.3.2 with ccache-2.3

I will also build a kernel of linux-2.4.20-xfs-r3 with CONFIG_M586 FYI with
pure gcc-3.3.2 and no ccache.
Comment 10 Brian Jackson (RETIRED) gentoo-dev 2003-10-26 11:12:28 UTC
I'd also like it if you could attach kernel/exec_domain.c It almost looks
like there could be some corruption of that file.
Comment 11 Sascha Wuestemann 2003-10-26 11:24:07 UTC
Created attachment 19820 [details]
kernel/exec_domain.c from linux-2.40-xfs-r3 sources as requested

This is the kerenl/exec_domain.c file from linux-2.40-xfs-r3 sources as
requested.

Addidtionally, I have this to tell:

Hi,

with CONFIG=M586 I have a longer lasting compile but another error:

---cut-on---
make[3]: Entering directory `/usr/src/linux-2.4.20-xfs-r3/drivers/ide'
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-xfs-r3/include  -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586   -nostdinc
-iwithprefix include -DKBUILD_BASENAME=ide_taskfile  -DEXPORT_SYMTAB -c
ide-taskfile.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-xfs-r3/include  -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586   -nostdinc
-iwithprefix include -DKBUILD_BASENAME=ide  -DEXPORT_SYMTAB -c ide.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-xfs-r3/include  -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586   -nostdinc
-iwithprefix include -DKBUILD_BASENAME=ide_adma  -c -o ide-adma.o ide-adma.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-xfs-r3/include  -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586   -nostdinc
-iwithprefix include -DKBUILD_BASENAME=ide_dma	-c -o ide-dma.o ide-dma.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-xfs-r3/include  -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586   -nostdinc
-iwithprefix include -DKBUILD_BASENAME=ide_pci	-c -o ide-pci.o ide-pci.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-xfs-r3/include  -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586   -nostdinc
-iwithprefix include -DKBUILD_BASENAME=piix  -c -o piix.o piix.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-xfs-r3/include  -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586   -nostdinc
-iwithprefix include -DKBUILD_BASENAME=ide_proc  -c -o ide-proc.o ide-proc.c
ld -m elf_i386 -r -o ide-mod.o ide-taskfile.o ide.o  ide-adma.o ide-dma.o
ide-pci.o piix.o ide-proc.o
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-xfs-r3/include  -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586   -nostdinc
-iwithprefix include -DKBUILD_BASENAME=ide_probe  -DEXPORT_SYMTAB -c
ide-probe.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-xfs-r3/include  -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586   -nostdinc
-iwithprefix include -DKBUILD_BASENAME=ide_geometry  -c -o ide-geometry.o
ide-geometry.c
ld -m elf_i386 -r -o ide-probe-mod.o ide-probe.o ide-geometry.o
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-xfs-r3/include  -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586   -nostdinc
-iwithprefix include -DKBUILD_BASENAME=ide_disk  -c -o ide-disk.o ide-disk.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.20-xfs-r3/include  -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586   -nostdinc
-iwithprefix include -DKBUILD_BASENAME=ide_cd  -c -o ide-cd.o ide-cd.c
In file included from ide-cd.c:318:
ide-cd.h:441: error: long, short, signed or unsigned used invalidly for
`slot_tablelen'
make[3]: *** [ide-cd.o] Error 1
make[3]: Leaving directory `/usr/src/linux-2.4.20-xfs-r3/drivers/ide'
make[2]: *** [first_rule] Error 2
make[2]: Leaving directory `/usr/src/linux-2.4.20-xfs-r3/drivers/ide'
make[1]: *** [_subdir_ide] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.20-xfs-r3/drivers'
make: *** [_dir_drivers] Error 2
---cut-off---

Feel free to ask for more information.

cheers,
Sascha
Comment 12 Tim Yamin (RETIRED) gentoo-dev 2003-10-26 15:12:33 UTC
1) Looks like a bug in the optimizations. Brian, do you think we should pull
them out for K6's?

2) The bug you get is because you don't have the GCC 3.3 patch. Remerge xfs-sources
and it should all be OK.
Comment 13 Tim Yamin (RETIRED) gentoo-dev 2003-10-26 15:15:20 UTC
FYI, "exec_domain.c" isn't corrupt.

MD5 Hash -> attachment -> 06ee0e65edaad1adf3679437d9123193
MD5 Hash -> my copy -> 06ee0e65edaad1adf3679437d9123193
Comment 14 Bob Johnson (RETIRED) gentoo-dev 2003-10-26 16:32:10 UTC
I should have xfs-sources 2.4.22 finished and uploaded in next few
hours
Comment 15 Tim Yamin (RETIRED) gentoo-dev 2003-10-28 13:14:19 UTC
Reassigning to gcc-porting as this doesn't seem to be kernel related but
a GCC problem...
Comment 16 Joshua Kinard gentoo-dev 2003-10-29 15:13:23 UTC
Eh, I originally assigned this to x86-kernel cause it seemed more related
to needing a newer kernel ebuild, but ah well...

Sascha: There is an xfs-sources-2.4.22 in portage now.  Could you please
give that a run to see if it atleast compiles?
Comment 17 Sascha Wuestemann 2003-10-30 05:06:41 UTC
Hi, I tried yesterday and today to emerge xfs-sources-2.4.22 but it fails
on downloading patches-2.4-22-xfs.tar.bz2 The file is said to be 1245184
bytes big by the first server it is downloaded from, e.g. http://gentoo.oregonstate.edu
and the log sais it is fully downloaded "[1245184/1245184]" but then emerge
tries resuming download which fails. This breaks installing the new xfs-sources.
 I assume that the patches file is truncated because bzip2 -t suggests to
repair it. Could you please verify that and repair it?  I will give the xfs-2.4.22
a compile as soon as I can emerge them. What gcc version do you like to be
used? I still have gcc-3.3.2
Comment 18 Tim Yamin (RETIRED) gentoo-dev 2003-10-30 10:17:35 UTC
Hmm. It's still corrupted -> Not Good <tm>

48693a2b90dfd4e21b3e8ca4dd7ee4a1  patches-2.4.22-xfs-OSU.tar.bz2
6940c38612564f9e03736fde8f79c4d3  patches-2.4.22-xfs.tar.bz2

There's a copy of the patches tarball at http://dev.gentoo.org/~plasmaroo/patches-2.4-22-xfs.tar.bz2

[ klieber ] : should be fixed in about an hour, on OSU
[ klieber ] : it will take up to 24 for it to fully propogate out from there
Comment 19 Sascha Wuestemann 2003-10-30 14:30:14 UTC
Hi,

I have wgeted patches-2.4.22-xfs.tar.bz2 from the friendly given url and
copied it to  /usr/portage/distfiles/patches-2.4.22-xfs.tar.bz2. Afterwards
I was able to emerge xfs-sources-2.4.22

I compiled it successfully with "make clean dep bzImage modules" using gcc-v3.3.2

Do you want me to give it another try with gcc-<what-ever-version>?

greetings,
Sascha
Comment 20 Brian Jackson (RETIRED) gentoo-dev 2004-02-17 16:38:22 UTC
reopen if this is still a problem with newer versions