Here's the error: /bin/sh ../../../libtool --mode=link x86_64-pc-linux-gnu-gcc -DHAVE_XORG_CONFIG_H -DXFree86Server -DIN_MODULE -DXFree86Module -DXFree86LOADER -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I../../../include -I../../../include -I../../../Xext -I../../../composite -I../../../damageext -I../../../xfixes -I../../../Xi -I../../../mi -I../../../miext/shadow -I../../../miext/damage -I../../../render -I../../../randr -I../../../fb -I../../../lbx -march=nocona -O2 -pipe -m64 -fomit-frame-pointer -mmmx -msse -msse2 -msse3 -mno-3dnow -fvisibility-inlines-hidden -o libddc.la -rpath /usr/lib64/xorg/modules -avoid-version xf86DDC.lo edid.lo interpret_edid.lo print_edid.lo interpret_vdif.lo print_vdif.lo ddcProperty.lo -lm x86_64-pc-linux-gnu-gcc -shared .libs/xf86DDC.o .libs/edid.o .libs/interpret_edid.o .libs/print_edid.o .libs/interpret_vdif.o .libs/print_vdif.o .libs/ddcProperty.o -lm -march=nocona -m64 -mmmx -msse -msse2 -msse3 -mno-3dnow -Wl,-soname -Wl,libddc.so -o .libs/libddc.so /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.5/../../../../x86_64-pc-linux-gnu/bin/ld: .libs/xf86DDC.o: relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC .libs/xf86DDC.o: could not read symbols: Bad value collect2: ld returned 1 exit status emerge info: Portage 2.1_pre4-r1 (default-linux/amd64/2005.1, gcc-3.4.5, glibc-2.3.6-r3, 2.6.16-rc3 x86_64) ================================================================= System uname: 2.6.16-rc3 x86_64 Intel(R) Pentium(R) D CPU 2.80GHz Gentoo Base System version 1.12.0_pre16 dev-lang/python: 2.3.5-r2, 2.4.2-r1 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-r1 sys-devel/binutils: 2.16.1-r1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=nocona -O2 -pipe -m64 -fomit-frame-pointer -mmmx -msse -msse2 -msse3 -mno-3dnow" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib64/mozilla/defaults/pref /usr/share/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=nocona -O2 -pipe -m64 -fomit-frame-pointer -mmmx -msse -msse2 -msse3 -mno-3dnow -fvisibility-inlines-hidden" DISTDIR="/tmp/disfiles" FEATURES="autoconfig ccache digest distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.mirrors.tds.net/gentoo" MAKEOPTS="-j2" PKGDIR="/tmp/packages" PORTAGE_TMPDIR="/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="amd64 X alsa avi berkdb bitmap-fonts crypt cups eds emboss encode foomaticdb fortran gif gnome gpm gstreamer gtk gtk2 imlib ipv6 jpeg kde lzw lzw-tiff mp3 mpeg ncurses nls opengl pam pdflib perl png python qt quicktime readline sdl spell ssl tcpd tiff truetype-fonts type1-fonts usb userlocales xpm xv zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux userland_GNU video_cards_nvidia video_cards_nv video_cards_i810" Unset: ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LANG, LC_ALL, LDFLAGS, LINGUAS
What about using sane C[XX]CFLAGS, like "-march=nocona -O2 -fomit-frame-pointer -pipe"? Especially remove the stupid visibility stuff and never put things like -m64 there.
same error with your 'non-stupid' cflags/cxxflags. I was instructed by another gentoo dev to use -m64 when gcc was not outputting 64 bit binarys for my box. it evendently has been fixed in a newer version of gcc, as it it outputing proper 64 bit files without it. fvisibility-inlines-hidden is very helpful with kde stuff *strug* but in any case, no change with the xorg-server ebuild.