Re: Android Native GCC 4.9.2 Build Fails at Dynamic libgcc

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

 



On Tue, Dec 23, 2014 at 3:30 AM, Andrew Haley <aph@xxxxxxxxxx> wrote:
> On 22/12/14 20:55, Cyd Haselton wrote:
>> On Mon, Dec 22, 2014 at 1:09 PM, Cyd Haselton <chaselton@xxxxxxxxx> wrote:
>>> On Mon, Dec 22, 2014 at 1:05 PM, Andrew Haley <aph@xxxxxxxxxx> wrote:
>>>> On 12/22/2014 06:40 PM, Cyd Haselton wrote:
>>>>>> What does your /usr/lib/libc.so look like?  I'd expect to see
>>>>>>> something like this:
>>>>>>>
>>>>>>> /* GNU ld script
>>>>>>>    Use the shared library, but some functions are only in
>>>>>>>    the static library, so try that secondarily.  */
>>>>>>> OUTPUT_FORMAT(elf64-x86-64)
>>>>>>> GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a  AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) )
>>>>>
>>>>> I'm not quite sure what you're asking; I'm using a sysroot with the
>>>>> build compiler and the libc.so is not a script but an actual library.
>>>>> Were you asking about the build link script or the stage1 link script?
>>>>
>>>> I'm asking about the file /usr/lib/libc.so.
>>>>
>>>> If it's a script which looks like the file above you'll get
>>>> the function definitions you need when you link against libc,
>>>> even though dlopen is defined in ld-blah.so.
>>>
>>> There's no /usr/lib/libc.so in the environment in which I'm working on
>>> my Android device.
>>>
>>> The script excerpt you included in your original email looks familiar
>>> though.  Is it possible the script is located elsewhere, with a
>>> different name?
>>
>> Or, if not, is there a workaround?  I'm assuming there is as I've
>> built versions previous to 4.8.x on-device...
>
> You said "when bootstrapping 4.8.0 I was able to get around this by
> specifying -ldl in LDFLAGS and LIBS when running configure" which
> tells me that 4.8.0 was also broken.  Either Android needs a linker
> script like GNU/Linux or you need to actually get in there and edit
> GCC's build scripts to link against libdl.
>
> Andrew.

There might already be a linker script on Android...just not one that
I've found.  I'll try to locate it and post the results back to this
thread.

Last additional questions:
1) Why did the 4.8.3 on-device build pick up the necessary -ldl from
LIBS, while the 4.9.2 build does not?
   (I've been working on this problem for a while...including going
through the Changelogs for GCC, libgcc, etc...I've not found what
changed between 4.8.x and 4.9.x that would cause this)

2) Are the linker script specs visible by gcc -dumpspecs, and editable
by modifying linux-android.h and gnu-user.h?
   (I've modified both to add -ldl, with no results...i.e. same error)

Thanks for your help...



[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