[Fwd: Re: Android Native GCC 4.9.2 Build Fails at Dynamic libgcc]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-------- Forwarded Message --------From: Cyd Haselton
<chaselton@xxxxxxxxx>
To: brian@xxxxxxxxxxxxxxxxxx
Subject: Re: Android Native GCC 4.9.2 Build Fails at Dynamic libgcc
Date: Wed, 7 Jan 2015 05:58:49 -0600

On Tue, Jan 6, 2015 at 4:17 PM, Brian Drummond <brian@xxxxxxxxxxxxxxxxxx> wrote:
> On Tue, 2015-01-06 at 15:51 -0600, Cyd Haselton wrote:
>> On Tue, Jan 6, 2015 at 2:45 PM, Brian Drummond <brian@xxxxxxxxxxxxxxxxxx> wrote:
>> > On Tue, 2015-01-06 at 14:20 -0600, Cyd Haselton wrote:
>> >> On Tue, Jan 6, 2015 at 12:08 PM, Brian Drummond
>> >> <brian@xxxxxxxxxxxxxxxxxx> wrote:
>
>> > Putting this together with Andrew's message that
>> > "fakechroot should have its own version of dlopen in libfakechroot.so."
>> > perhaps the Android version of libfakeroot doesn't? something to check.
>> >
>>
>> Actually the libfakechroot.so relies on either the dynamic Android
>> linker or the libdl.so library...I'm not sure but I do know that 'nm
>> libfakechroot.so | grep dlopen' returns 'U dlopen'
>
> I'm wondering if ld is CALLING dlopen for 4.9 (not LINKING) it) and that
> is failing in fakechroot. That would explain why there's no trace of
> dlopen in the files it's linking...
>
> Why it would call for 4.9 and not 4.8 I don't know...
>
> ... but if that IS the case, then I wonder if bulding binutils with
> static linking would work?

It could, but it would introduce more problems than it would solve.
The following is a quote from the developer who created the
environment I'm using:

   "Using libfakechroot to virtualize a root filesystem is a bit of a
hack, to be honest, and its weaknesses are easily exposed. Most
obviously, it will only filter dynamic calls to the Bionic C library
(because that was the C library it itself is linked against). If you
link a program with a different C library (glibc, for example), you
would have to revert to hard-coding file locations to match the
Android layout. The same is true if you statically link an application
against the C library, because calls never go through the LD_PRELOAD
mechanism."

I've been in contact with him regarding a number of other ports and
he's confirmed that reverting to static linking would be a pain.

Also, iIn case anyone reading this is interested:
http://kevinboone.net/kbox2_how_it_works.html





[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux