Date: Fri, 18 Jul 2003 14:40:29 -0500 From: "Jacques A. Vidrine" <nectar@FreeBSD.org> To: Nate Lawson <nate@root.org> Cc: current@freebsd.org Subject: Re: warning: inlining failed Message-ID: <20030718194029.GC70721@madman.celabo.org> In-Reply-To: <20030718121511.I26395@root.org> References: <20030718121511.I26395@root.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jul 18, 2003 at 12:18:14PM -0700, Nate Lawson wrote: > Warner mentioned this was due to the gcc import. Nearly every part of the > kernel that uses newbus or buf.h prints out lots of warnings. Can someone > see about fixing this, whether it's by fixing our headers or build flags > or gcc itself? I've already wasted a few reboot cycles because valid > warnings were lost in the crowd. > > cc -O -pipe -mcpu=pentiumpro -D_KERNEL -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -DKLD_MODULE -nostdinc -I- -I. -I@ -I@/dev -I@/../include -I/usr/include -fno-common -mno-align-long-strings -mpreferred-stack-boundary=2 -ffreestanding -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -std=c99 -c > /home/src/sys/modules/ext2fs/../../gnu/ext2fs/ext2_vfsops.c > /home/src/sys/gnu/ext2fs/ext2_vfsops.c: In function `compute_sb_data': > @/sys/buf.h:281: warning: inlining failed in call to `BUF_LOCK' > /home/src/sys/gnu/ext2fs/ext2_vfsops.c:496: warning: called from here > /home/src/sys/gnu/ext2fs/ext2_vfsops.c: In function `ext2_unmount': > @/sys/buf.h:281: warning: inlining failed in call to `BUF_LOCK' > /home/src/sys/gnu/ext2fs/ext2_vfsops.c:774: warning: called from here > @/sys/buf.h:281: warning: inlining failed in call to `BUF_LOCK' > /home/src/sys/gnu/ext2fs/ext2_vfsops.c:780: warning: called from here > @/sys/buf.h:281: warning: inlining failed in call to `BUF_LOCK' > /home/src/sys/gnu/ext2fs/ext2_vfsops.c:784: warning: called from here Does `-finline-limit=1200' (or bigger) help? I think GCC 3.3 added a warning for when inline functions generated `a lot' of instructions. In such a case, the function is not inlined. I believe this also happened with GCC 3.2, but it just didn't normally tell you about it. Cheers, -- Jacques Vidrine . NTT/Verio SME . FreeBSD UNIX . Heimdal nectar@celabo.org . jvidrine@verio.net . nectar@freebsd.org . nectar@kth.se
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030718194029.GC70721>