ошибка при компиляции glibc-2.4 [SOLVED]

Вот решил обновить систему с gcc-3.3.6 до gcc-4.4.1. Вродебы все начинал делать http://www.gentoo.org/doc/en/gcc-upgrading.xml?style=printable, но начались грабли уже на стадии компиляции glibc.
Во время
# emerge -uav gcc
glibc отказались компилироваться вообще, перезапуск emerge glibc не помог - ошибка была похожа, что ему не нравится gcc.

Пришлось обновить профайл до gcc-4.1.1 + fix_libtool_files.sh 3.4.6, после чего emerge glibc поехал.

Проблема в том, что его выбивает при компиляции fork.c с ntpl с разными ошибками при разных CFLAGS.

Например, при
CFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer -falign-functions=64 -ftree-vectorize -fPIC -DPIC"
было

Цитата:
In file included from ../nptl/sysdeps/unix/sysv/linux/fork.c:25,
from ../nptl/sysdeps/unix/sysv/linux/i386/fork.c:31:
../libio/libioP.h: In function `_IO_acquire_lock_fct':
../libio/libioP.h:1002: warning: implicit declaration of function `__builtin_offsetof'
../libio/libioP.h:1002: error: syntax error before "tcbhead_t"
In file included from ../nptl/sysdeps/unix/sysv/linux/i386/fork.c:31:
../nptl/sysdeps/unix/sysv/linux/fork.c: In function `__libc_fork':
../nptl/sysdeps/unix/sysv/linux/fork.c:117: error: syntax error before "struct"
../nptl/sysdeps/unix/sysv/linux/fork.c:117: error: syntax error before "struct"
../nptl/sysdeps/unix/sysv/linux/fork.c:117: error: syntax error before "struct"
../nptl/sysdeps/unix/sysv/linux/fork.c:123: error: syntax error before "struct"
../nptl/sysdeps/unix/sysv/linux/fork.c:123: error: syntax error before "struct"
../nptl/sysdeps/unix/sysv/linux/fork.c:123: error: syntax error before "struct"
../nptl/sysdeps/unix/sysv/linux/fork.c:124: error: syntax error before "struct"
../nptl/sysdeps/unix/sysv/linux/fork.c:124: error: syntax error before "struct"
../nptl/sysdeps/unix/sysv/linux/fork.c:124: error: `__self' undeclared (first use in this function)
../nptl/sysdeps/unix/sysv/linux/fork.c:124: error: (Each undeclared identifier is reported only once
../nptl/sysdeps/unix/sysv/linux/fork.c:124: error: for each function it appears in.)
../nptl/sysdeps/unix/sysv/linux/fork.c:124: error: syntax error before "struct"
../nptl/sysdeps/unix/sysv/linux/fork.c:124: error: invalid type argument of `->'
../nptl/sysdeps/unix/sysv/linux/fork.c:124: error: syntax error before ')' token
../nptl/sysdeps/unix/sysv/linux/fork.c:124: error: syntax error before "struct"
../nptl/sysdeps/unix/sysv/linux/fork.c: At top level:
../nptl/sysdeps/unix/sysv/linux/fork.c:124: error: syntax error before ')' token
../nptl/sysdeps/unix/sysv/linux/fork.c:127: warning: type defaults to `int' in declaration of `pid'
../nptl/sysdeps/unix/sysv/linux/fork.c:127: confused by earlier errors, bailing out
make[2]: *** [/var/tmp/portage/glibc-2.4-r3/work/build-default-i686-pc-linux-gnu-nptl/posix/fork.o] Error 1
m

а при
CFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer -fPIC -DPIC"
ругается на какой-то asm: can't find a register in class 'BREG'

Кто-нибудь сталкивался с такой проблемой и в чем причина такого поведения?

Цитата:
pipe etc # gcc-config -c
i686-pc-linux-gnu-4.1.1
pipe etc # emerge -pv glibc

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild U ] sys-libs/glibc-2.4-r3 [2.3.5-r3] USE="nls nptl* nptlonly* -build -glibc-compat20 -glibc-omitfp -hardened (-multilib) -profile (-selinux) (-erandom%) (-linuxthreads-tls%) (-pic%) (-userlocales%)" 0 kB

Цитата:

pipe etc # emerge -pv gcc

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild R ] sys-devel/gcc-4.1.1 USE="doc fortran nls (-altivec) -bootstrap -build -gcj -gtk (-hardened) -ip28 -ip32r10k -mudflap (-multilib) -multislot (-n32) (-n64) -nocxx -objc -objc++ -objc-gc -test -vanilla" 0 kB
[ebuild U ] sys-libs/glibc-2.4-r3 [2.3.5-r3] USE="nls nptl* nptlonly* -build -glibc-compat20 -glibc-omitfp -hardened (-multilib) -profile (-selinux) (-erandom%) (-linuxthreads-tls%) (-pic%) (-userlocales%)" 0 kB

P.S.

Цитата:
pipe etc # emerge --info
Portage 2.1.1 (default-linux/x86/2006.1/server, gcc-4.1.1, glibc-2.3.5-r3, 2.6.15-gentoo-r1 i686)
=================================================================
System uname: 2.6.15-gentoo-r1 i686 Intel(R) Pentium(R) 4 CPU 1.80GHz
Gentoo Base System version 1.12.5
Last Sync: Mon, 02 Oct 2006 13:00:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: [Not Present]
dev-lang/python: 2.3.5, 2.4.3-r4
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache: 2.3
dev-util/confcache: [Not Present]
sys-apps/sandbox: 1.2.17
sys-devel/autoconf: 2.13, 2.59-r7
sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils: 2.16.1-r3
sys-devel/gcc-config: 1.3.13-r4
sys-devel/libtool: 1.5.22
virtual/os-headers: 2.6.17-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer -ftree-vectorize"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib/X11/xkb /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo"
CXXFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer -ftree-vectorize"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://gentoo.pipe.home http://distfiles.gentoo.org http://mirror.aiya.ru/pub/gentoo/ http://gentoo.osuosl.org/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/ http://gentoo.binarycompass.org http://ftp.linux.ee/pub/gentoo/distfiles/ http://trumpetti.atm.tut.fi/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://files.gentoo.org http://gentoo.prz.rzeszow.pl http://gentoo.zie.pg.gda.pl http://gentoo.po.opole.pl http://ftp.lug.ro/gentoo/ http://ftp.roedu.net/pub/mirrors/gentoo.org/ http://ftp.romnet.org/gentoo/ http://ftp.citkit.ru/pub/Linux/gentoo http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/ "
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LINGUAS="uk ru en"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 7zip acl alsa apache2 berkdb bitmap-fonts cairo cdr chm cli crypt curl dlloader doc dri dvd dvdr dynagraph elibc_glibc examples fam ffmpeg flac fontconfig fortran gd gdbm glitz gnome gnomedb gpm input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog kernel_linux ldap libg++ linguas_en linguas_ru linguas_uk live logrotate mailwrapper mbox mikmod motif mp3 mysql ncurses nls nptl nptlonly ntpl ntplonly odbc oggvorbis oss pam pcre perl php postfix postgres ppds pppd python qt readline reflection samba session sndfile snmp spell spl sse sse2 ssl svg tcltk tcpd tetex truetype truetype-fonts type1-fonts udev unicode userland_GNU video_cards_dummy video_cards_fbdev video_cards_fglrx video_cards_radeon video_cards_vesa video_cards_vga xml xorg zlib"
Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Попробуй в

Попробуй в gcc-config выставить правильный компилятор (даже если он уже правильно настроен)

В gcc-config стояла

В gcc-config стояла правильная версия - без этого emerge glibc вообще не начинал компиляцию...

Но похоже проблема решилась, когда я убрал -fPIC из CFLAGS.

Нашел потом в самом конце http://gentoo-wiki.com/HOWTO_gcc4 :
"04.06.2006 (Comment by spmsrh _AT_ gmail ) Do not add -fPIC to your CFLAGS as this ensures that glibc does not compile at all for any other comibation of CFLAGs compiler etc."

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".