This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Android Native GCC 4.9.2 Build Fails at Dynamic libgcc
- From: Cyd Haselton <chaselton at gmail dot com>
- To: Andrew Haley <aph at redhat dot com>
- Cc: "gcc-help at gcc dot gnu dot org" <gcc-help at gcc dot gnu dot org>
- Date: Tue, 6 Jan 2015 10:11:15 -0600
- Subject: Re: Android Native GCC 4.9.2 Build Fails at Dynamic libgcc
- Authentication-results: sourceware.org; auth=none
- References: <CAHu5PrboyVq7orESm4N3m+2aQZaQNPAkcG4AJ7rFnFu+Q=tKWQ at mail dot gmail dot com> <CAHu5PrZ2-Ts7SOqtj=ZdyFbAWpYhf5uEqMAieuJx+1SpmvV1rQ at mail dot gmail dot com> <54A660C4 dot 3030108 at redhat dot com> <CAHu5PrbjFyy83xYUdx+vSVQuVJhD-_HzEAb735o_K+dVbXDLag at mail dot gmail dot com> <54A67520 dot 6030801 at redhat dot com> <CAHu5PrZpsNYawNMacyuZMb9owEsRFf8NN6KqsZZ-zbxYf8_JrA at mail dot gmail dot com> <54A68729 dot 6080004 at redhat dot com> <CAHu5Prav-nfzfHPoKJvJgy2VDFgFJmeJur-60hO9vGrtFgeCTA at mail dot gmail dot com> <CAHu5Prag8XZ56iyGnnhy_NPO6FC_07jV76vmeqcHMc0n7kDNuA at mail dot gmail dot com> <54AA5ED4 dot 7010700 at redhat dot com> <CAHu5PraFq7odtgFsPg5wL-ESeUd9M0x9iErj0Ywd8UpvsQw=pw at mail dot gmail dot com> <54AA719A dot 3090905 at redhat dot com> <CAHu5PraQcZU=TBScUREu-uHZQHj8GUQJUQurPxeN4YbZa7-png at mail dot gmail dot com> <54AAC367 dot 8000008 at redhat dot com> <CAHu5Pra45xnUMstM0PLvHZNj2J13OBKcvaaG_CdTGj1DB-0uOA at mail dot gmail dot com> <CAHu5PrZDkb5ixJW8abXi9+uKLsdbt8onwJjirKAJqAU_am9X+A at mail dot gmail dot com> <CAHu5PrYx+KX0Yg4hFt50YJ=c+NgHFgjVDhMC9n0k1hoqRa3WDA at mail dot gmail dot com> <54ABAC12 dot 3050100 at redhat dot com> <CAHu5Prah39c32BpxdzfKhMDY78qeMhCE=U78J0hkCETd1Kwo3Q at mail dot gmail dot com>
On Tue, Jan 6, 2015 at 9:11 AM, Cyd Haselton <chaselton@gmail.com> wrote:
> On Tue, Jan 6, 2015 at 3:34 AM, Andrew Haley <aph@redhat.com> wrote:
>> On 05/01/15 20:12, Cyd Haselton wrote:
>>>>>>
>>>>>> If you run that command with the additional argument "-Wl,-Map,mapfile"
>>>>>> you'll get a link map (called "mapfile") which should tell you where
>>>>>> dlopen is linked from.
>>>>>>
>>>>>> Andrew.
>>>>>>
>>>>> Neither -Wl,-Map,mapfile, -Wl,-Map mapfile or -Wl,-Map=mapfile
>>>>> generates said link map
>>>>
>>>>
>>>> Update: The link map isn't generated in the 4.9 build dir because...I
>>>> suspect...of the original error. The link map IS generated in the 4.8
>>>> build dir, but grep "dlopen" mapfile yields zero results. I'm running
>>>> make clean && make to see if more helpfulndata is generated
>>>
>>> And nada. Zilch. To be on the safe side I cat-ed through the map
>>> file...no reference to dlopen anywhere. And, as mentioned earlier, no
>>> mapfile is generated for the 4.9 libgcc build.
>>> I'm going to go back a step and add the -Wl,-Map=mapfile flag to both
>>> the 4.9 and 4.8 gcc Makefiles and run make clean && make, but if you
>>> or anyone else watching this email thread have a better suggestion
>>> please let me know.
>>
>> Aha! So 4.8 doesn't call dlopen(), but 4.9 does.
>>
>> Which input file in 4.9 contains the call to dlopen() ? See if
>> it is different in 4.8.
>>
>> Andrew.
>>
> Assuming you're referring to the 4.8/4.9 libgcc build and not the
> 4.8/4.9 gcc build, how do I tell which input file contains the call to
> dlopen() if a mapfile isn't generated for the 49 libgcc link?
FYI, Brian suggested an answer to the above question:
>I'd start with
>nm *.o |grep dlopen
I've run
grep -r dlopen .
and Brian's command (just for kicks) and none of the libgcc input
files in either the 4.9 or 4.8 build directories contains a call to
dlopen.
So...back to the original question: If...for the libgcc build... 4.8
doesn't call dlopen but 4.9 does, and none of the libgcc input files
for either version contains a call to dlopen and it is not possible to
generate a mapfile for the 4.9 libgcc link, how do I figure out what
in 4.9 is calling dlopen?