1 |
Just to clear up any possible confusion regarding both -mieee and PIC code. |
2 |
|
3 |
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. |
4 |
|
5 |
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. |
6 |
|
7 |
There's basically two ways to solve this: |
8 |
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. |
9 |
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. |
10 |
|
11 |
Hope this clears up the confusion (if any). |
12 |
|
13 |
Regards, |
14 |
Bryan Østergaard |
15 |
Gentoo/Alpha developer |
16 |
|
17 |
-- |
18 |
gentoo-alpha@g.o mailing list |