1 |
On Mon, 30 May 2005, René Rhéaume wrote: |
2 |
|
3 |
> I found out symlinking libtool-nofpic to libtool (which produces PIC |
4 |
> binaries) eliminates most of the relocations. I am able to build on |
5 |
> Gentoo either outside Portage or using my custom ebuild. |
6 |
> |
7 |
> Just add "use x86 && has_pic && ln -sf libtool ${S}/libtool-nofpic" |
8 |
> right after econf. You can also comment RESTRICT="nostrip" in the |
9 |
> ebuild and add "strict" to your FEATURES to get the list of the |
10 |
> remaining TEXTREL binaries, which are on my system: |
11 |
|
12 |
Better yet, add --enable-fpic to econf. The change proposed above w/ the |
13 |
link is allowed conditionally, if use has_pic && use x86 (probably amd64 |
14 |
too) |
15 |
|
16 |
> $(get-libdir)/xine/plugins/${PV}/post/xineplug_post_{planar,tvtime}.so |
17 |
> $(get-libdir)/xine/plugins/${PV}/xineplug_decode_{ff,w32dll,qt}.so |
18 |
|
19 |
xineplug_decode_ff.so is clean as of 1.0.1, I remove the rest from the |
20 |
system, else xine-lib fails to load (see original bug-report, failure on |
21 |
planar) |
22 |
|
23 |
> |
24 |
> Feedback from other architectures is appreciated. |
25 |
> |
26 |
> Also, it seems that "use x86 && has_pic && append-flags -UHAVE_MMX" is |
27 |
> not needed. I can build fine either with or without. |
28 |
|
29 |
it disables mmx/asm code for any case |
30 |
|
31 |
> |
32 |
> *This paragraph is more a note to myself, but can be interesting for |
33 |
> those with older gcc versions* |
34 |
> I also tried this symlinking trick on my half-Mandr* install and got |
35 |
> two build errors (make -k). It is probably a bug from that old |
36 |
> gcc-3.2-1mdk I get as I already have to patch xine-lib to disable SIMD |
37 |
> code generation in FAAD code even when I generate non-PIC code. |
38 |
> Faulty files are: |
39 |
> ${S}/src/libffmpeg/libavcodec/i386/mpegvideo_mmx_template.c |
40 |
> ${S}/src/libffmpeg/libavcodec/libpostproc/postprocess_template.c |
41 |
> Error message: can't find a register in class `GENERAL_REGS' while |
42 |
> reloading `asm' |
43 |
|
44 |
see how this is solved in the ffmpeg ebuild, important is to disable |
45 |
mmx/asm code. |
46 |
|
47 |
Peter |
48 |
|
49 |
-- |
50 |
Peter S. Mazinger <ps dot m at gmx dot net> ID: 0xA5F059F2 |
51 |
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08 BB6E C389 975E A5F0 59F2 |
52 |
|
53 |
-- |
54 |
gentoo-hardened@g.o mailing list |