Marek Benc <merku...@gmail.com> skribis:

> On 01/31/2015 11:13 PM, Marek Benc wrote:
>
>>
>> The current issue is that, when building cross-gcc, when it reaches
>> libgomp, configure fails when trying to create a dummy binary. For some
>> reason, the compiled cross-compiler needs --rpath to specify where
>> shared libraries are, as without it, it can't find libmachuser.so and
>> libhurduser.so, which causes it to fail.
>>
>
> Well, I figured out a way to solve it, however, I don't know if the
> change is acceptable, since it alters how cross-compilers work.
>
> In the attached patch, which builds upon the one from my previous
> email, I made cross compilers not use binutils' ld directly, but
> instead use the ld-wrapper script.
>
> This means that while the Hurd cross compiler now works, binaries made
> by cross compilers have their library paths hard-coded into their
> RPATH section, which means that they're less flexible, which might be
> a problem. For some reason, the hurd cross-linker can't find libraries
> without specifying a --rpath, which is strange imho.

Using RUNPATH is not a problem: it’s what we always do.  ;-)

That said, in practice we haven’t done anything special about it in
cross-compilation contexts and things have worked fine.  I believe this
is due to the fact that we’ve only built things that use Libtool, and
Libtool adds --rpath automatically.

Another thing I don’t understand is that we use "--disable-libgomp" in
‘cross-gcc-arguments’, which means that the first cross-gcc (sans libc)
does not build libgomp.  What are things going wrong here?

Thanks,
Ludo’.

Reply via email to