Gentoo Archives: gentoo-alpha

From: kloeri@g.o
To: gentoo-alpha@l.g.o
Subject: Re: [gentoo-alpha] ebuild update for Xorg-x11
Date: Wed, 27 Oct 2004 00:36:42
Message-Id: 20041027023635.GB2649@n610c.example.org
In Reply to: RE: [gentoo-alpha] ebuild update for Xorg-x11 by Brian Parkhurst
Just to clear up any possible confusion regarding both -mieee and PIC code.

Alpha processors prior to ev6 require a little help from libc / the kernel to be IEEE compatible. Most code require this as Aron already mentioned. You need to add -mieee to CFLAGS and it's cousin CXXFLAGS as well as enable floating point completion in the kernel for this to work. Stuff like opengl will probably break without this support.

Regarding the possible PIC issues: shared libraries should be compiled -fPIC (or -fpic) or you'll get linking errors on some archs. x86 is mostly unaffected by this but you'll find that alpha complains loudly if you'll try to link PIC and non-PIC code. Usually this results in errors during the compilation aborting your emerge. Xfree and xorg-x11 is a little different as it loads the driver modules dynamically at run-time using it's own elf loader. This is also the reason that you'll see 'unsupported elf relocation type' errors - the built-in elf loader doesn't support all the relocation types that binutils does.

There's basically two ways to solve this:
1. Patch the X elf loader to support all relocation types. There's some patches floating around already that does this - at least to some extent.
2. Use dlload() instead of the built-in elf loader. You can turn on this behaviour using USE="dlloader" and remerging xfree / xorg-x11. Beware that this hasn't received as much testing yet as the built-in elf loader but it's used by the Gentoo hardened project at least.

Hope this clears up the confusion (if any).

Regards,
Bryan Østergaard
Gentoo/Alpha developer

--
gentoo-alpha@g.o mailing list

Replies

Subject Author
Re: [gentoo-alpha] ebuild update for Xorg-x11 Brian Parkhurst <brianp@×××××××.net>