--as-needed is disabled for glibc since the early 2.3.4 ebuilds over a year ago but it doesn't seem nessecary anymore. A glibc build with --as-needed enabled has no problems boostraping on x86 and amd64 and likely other arches too. Perhaps this can be reconsidered?
Created attachment 70444 [details, diff] Ebuild patch
just wanted to add my non-technical 'me too'. ;p i've been running various versions of glibc 2.3.5 w/ binutils 2.16 with --as-needed enabled since around March, and have yet to hit any issues with it. Portage 2.0.53_rc5 (default-linux/x86/2005.1, gcc-4.0.3-beta20051013, glibc-2.3.5.20050722-r0, 2.6.13-ck8 i686) ================================================================= System uname: 2.6.13-ck8 i686 Mobile Intel(R) Pentium(R) 4 CPU 3.06GHz Gentoo Base System version 1.12.0_pre9 ccache version 2.4 [enabled] dev-lang/python: 2.4.2 sys-apps/sandbox: 1.2.13 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-r1 sys-devel/binutils: 2.16.1, 2.16.91.0.3 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=prescott -fomit-frame-pointer -pipe -fno-ident" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=prescott -fomit-frame-pointer -pipe -fno-ident -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo/" LDFLAGS="-Wl,-O1" LINGUAS="en" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/home/dirtyepic/overlay /home/dirtyepic/gentopia" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X aac acpi alsa avi bash-completion berkdb bzip2 cdr crypt curl dbus dts dvd dvdr dvdread exif ffmpeg firefox flac gdbm gif gnutls gphoto2 gtk gtk2 hal imagemagick imlib java jpeg kde mad mmap mmx mng motif mp3 mpeg mpi ncurses nntp nptl nsplugin ogg oggvorbis opengl pcmcia perl pic png python qt quicktime readline ruby sdl sqlite sse sse2 ssl svg tcpd threads tiff truetype usb vcd vorbis wifi win32codecs xml xml2 xv xvid zlib linguas_en userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LANG, LC_ALL
might as well enable as-needed for gcc-3.4.4+ too
FYI i've patched toolchain.eclass and glibc-2.3.5.20050722.ebuild to use --as-needed and rebuilt world with gcc-3.4.4 with no compile or runtime issues whatsoever.
fixed in glibc-2.3.5-r3
While I am building glibc-2.3.5-r3 I see -Wl,--as-needed -Wl,--no-as-needed. Do these not cancel each other out?