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: Mon, 29 Dec 2014 11:42:14 -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> <54986B89 dot 3080002 at redhat dot com> <CAHu5PraqcyjeoNQBJWK5QpY1=keheSjqY20UbpBTmLJqS4jW6w at mail dot gmail dot com> <CAHu5Prb0KTMAg7cOZo-pMRxqbYHcuGCSMMK1nU9DFWkP8TM_6A at mail dot gmail dot com> <54993642 dot 2010609 at redhat dot com> <CAHu5PrYsL8_BiyKKZ=VugqOfHYam3_mVXRcjL9Pb8ezOCHMgtQ at mail dot gmail dot com> <549979E7 dot 9020002 at redhat dot com> <CAHu5PrZ6w0D4ko7cGx9q_0FQKw8SxB+BQDB+h76Y4CvncPbvPA at mail dot gmail dot com> <549A821F dot 1080208 at redhat dot com> <CAHu5PrYKd+-KkODuh0_VMuV03b4H+Lg1rMPUNJPX7CcecywxSA at mail dot gmail dot com> <CAHu5PrYBVudZnMnEfLS3T7e9tRreXFBn6f_gEvgAXmpDYSJCiw at mail dot gmail dot com> <549BCA5C dot 6080708 at redhat dot com> <CAHu5PrY0MUt--KbNCCbQ+4z8jwVHTVaRrE9d+TBwubs3dTzP5Q at mail dot gmail dot com> <CAHu5PrZ1QVLAPyexbqpSafcRuepVfxZdHv3avgFVqXKubC0jug at mail dot gmail dot com> <CAHu5PrYWjwmC7VtqsNSwezvYVvFcuj6EB9UUP_=RKxau5t+kNQ at mail dot gmail dot com> <549DDADB dot 4020707 at redhat dot com> <CAHu5PraJcUxrKcs36uc=njbbs7HLRr4+ozL04OzMEPVyZCDBUw at mail dot gmail dot com> <549EEEF6 dot 9030506 at redhat dot com>
On Sat, Dec 27, 2014 at 11:40 AM, Andrew Haley <aph@redhat.com> wrote:
> On 26/12/14 23:54, Cyd Haselton wrote:
>> Just to make sure I'm on the same page:
>> Rebuild 4.8.3 and/or upgrade to 4.8.4 and keep build directory
>> Compare 4.8.4 build dir (or build dir of component that failed) to
>> corresponding 4.9.2 location.
>>
>> That about right?
>
> No. Keep a log of the entire build:
>
> make | tee make.log
>
> and look at how the dynamic libgcc is linked. Look at the makefile
> to see where that lib comes from. Look at the 4.9 makefile to see
> where it is different.
>
> Andrew.
>
I did as suggested and combed through the libgcc build portion of both
logs. Configure was exactly the same for both.
I then went through both build logs, line by line. Excluding the
parts where one build made build subdirs as needed, there were a few
differences that appeared to possibly be relevant
For the libiberty configure, 4.9 ran the following checks (4.8 did not):
checking whether to install libiberty headers and static library... no
configure: target_header_dir =
For the lto-plugin configure, 4.9 ran the following check (4.8 did not):
checking for -static-libgcc... yes
For the lto-plugin build, 4.9 used the following option for the
libtool link gcc command (4.8. did not):
-Wc,-static-libgcc
Full libtool link gcc command for the lto-plugin build for both 4.9 and 4.8:
4.9
/android_root/system/bin/sh ./libtool --tag=CC --tag=disable-static
--mode=link gcc --sysroot=/usr/gcc-4.9.2/sysroot -Wall -Wall -O
-mandroid -mbionic -Wc,-static-libgcc -module -bindir
/usr/gcc-4.9.2/libexec/gcc/arm-linux-androideabi/4.9.2
-static-libstdc++ -static-libgcc
-Wl,--dynamic-linker=/system/bin/linker -lc -ldl -lgcc -lm -o
liblto_plugin.la -rpath
/usr/gcc-4.9.2/libexec/gcc/arm-linux-androideabi/4.9.2 lto-plugin.lo
-Wc,../libiberty/pic/libiberty.a
4.8
/android_root/system/bin/sh ./libtool --tag=CC --tag=disable-static
--mode=link gcc --sysroot=/usr/gcc-4.8.4/sysroot -Wall -Wall -O
-mandroid -mbionic -module -bindir
/usr/gcc-4.8.4/libexec/gcc/arm-linux-androideabi/4.8.4
-static-libstdc++ -static-libgcc
-Wl,--dynamic-linker=/system/bin/linker -lc -ldl -lgcc -lm -o
liblto_plugin.la -rpath
/usr/gcc-4.8.4/libexec/gcc/arm-linux-androideabi/4.8.4 lto-plugin.lo
-Wc,../libiberty/pic/libiberty.a
There were others, but I'll hold off including them unless the above
are not relevant to my issue.