Re: Undefined __aeabi_uidiv references in blobs with 4.8 toolchain
On 7 May 2013 10:37, Matthew Gretton-Dann wrote: > On 04/05/13 00:21, Bernhard Rosenkränzer wrote: > > How did you diff gcc-4.7/libgcc and gcc-4.8/libgcc? Checked out the sources and looked at the output of diff -urN gcc-4.7/libgcc gcc-4.8/libgcc > What does readelf give as the symbol types and visibility? Symbol visibility does seem to have changed (even though I didn't spot it in the source)... 4.7: File: libgcc.a(_udivsi3.o) 16: 0 FUNCGLOBAL DEFAULT1 __aeabi_uidiv 4.8: File: libgcc.a(_udivsi3.o) 16: 0 FUNCGLOBAL HIDDEN 1 __aeabi_uidiv Will take another look to see where it changed... Either I missed it or it's a default setting outside of the libgcc directory. ttyl bero ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: Undefined __aeabi_uidiv references in blobs with 4.8 toolchain
Bero, So looking at how I build GCC __aeabi_uidiv is HIDDEN for 4.7 and 4.8. Looking at the source for libgcc one way the use of the hidden attribute is determined at configure time with an assembler test. So can you you post your libgcc/config.log somewhere for 4.7 & 4.8, and point us to them? (To save time I'm also probably going to want the complete build log at some stage for libgcc - so it is probably worth posting those as well). In particular I am interested in the values of vs_hide and libgcc_cv_hidden_visibility_attribute. Thanks, Matt On 08/05/13 10:10, Bernhard Rosenkränzer wrote: On 7 May 2013 10:37, Matthew Gretton-Dann wrote: On 04/05/13 00:21, Bernhard Rosenkränzer wrote: How did you diff gcc-4.7/libgcc and gcc-4.8/libgcc? Checked out the sources and looked at the output of diff -urN gcc-4.7/libgcc gcc-4.8/libgcc What does readelf give as the symbol types and visibility? Symbol visibility does seem to have changed (even though I didn't spot it in the source)... 4.7: File: libgcc.a(_udivsi3.o) 16: 0 FUNCGLOBAL DEFAULT1 __aeabi_uidiv 4.8: File: libgcc.a(_udivsi3.o) 16: 0 FUNCGLOBAL HIDDEN 1 __aeabi_uidiv Will take another look to see where it changed... Either I missed it or it's a default setting outside of the libgcc directory. ttyl bero -- Matthew Gretton-Dann Toolchain Working Group, Linaro ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
LLVM @ IBM
Talking about Ulrich's presentation at EuroLLVM 2013: http://www.phoronix.com/scan.php?page=news_item&px=MTM2NjU One less thing I have to write about, yay! ;) --renato ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: Undefined __aeabi_uidiv references in blobs with 4.8 toolchain
Hi, On 8 May 2013 12:41, Matthew Gretton-Dann wrote: So looking at how I build GCC __aeabi_uidiv is HIDDEN for 4.7 and 4.8. > Odd... I always get DEFAULT __aeabi_uidiv with 4.7 and HIDDEN with 4.8. > So can you you post your libgcc/config.log somewhere for 4.7 & 4.8, and > point us to them? (To save time I'm also probably going to want the > complete build log at some stage for libgcc - so it is probably worth > posting those as well). > I've attached the config logs - full builds are still running. > In particular I am interested in the values of vs_hide and > libgcc_cv_hidden_visibility_attribute. > vs_hide isn't set in either config.log, libgcc_cv_hidden_visibility_attribute is yes in both. ttyl bero config-log-4.7.xz Description: Binary data config-log-4.8.xz Description: Binary data ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: Undefined __aeabi_uidiv references in blobs with 4.8 toolchain
On 8 May 2013 15:29, Bernhard Rosenkränzer wrote: > I've attached the config logs - full builds are still running. > I've figured out what's going on. In libgcc/Makefile.in, lines 368+ (in 4.8)/lines 375+ (in 4.7), there's some AWK trickery to add .hidden to asm code. The difference is that in 4.7, that code is inside ifeq ($(enable_shared),yes) while 4.8 moved it outside of that block. The result is that on regular Linux, you'd have the symbols hidden in both 4.7 and 4.8 -- but on Android (where for whatever reason the decision was not to have a libgcc_s), it gets hidden only in 4.8. The problematic upstream commit is svn 190588. I think for now I'll just revert that change in Android toolchain builds to keep the hack in Bionic working - but I wonder what a proper fix could look like (or rather, a proper fix that we can do - meaning one that doesn't involve fixing up blobs we don't have the source to or getting Android upstream to introduce libgcc_s). ttyl bero ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: Undefined __aeabi_uidiv references in blobs with 4.8 toolchain
On 08/05/13 20:53, Bernhard Rosenkränzer wrote: On 8 May 2013 15:29, Bernhard Rosenkränzer wrote: I've attached the config logs - full builds are still running. I've figured out what's going on. In libgcc/Makefile.in, lines 368+ (in 4.8)/lines 375+ (in 4.7), there's some AWK trickery to add .hidden to asm code. The difference is that in 4.7, that code is inside ifeq ($(enable_shared),yes) while 4.8 moved it outside of that block. The result is that on regular Linux, you'd have the symbols hidden in both 4.7 and 4.8 -- but on Android (where for whatever reason the decision was not to have a libgcc_s), it gets hidden only in 4.8. The problematic upstream commit is svn 190588. I think for now I'll just revert that change in Android toolchain builds to keep the hack in Bionic working - but I wonder what a proper fix could look like (or rather, a proper fix that we can do - meaning one that doesn't involve fixing up blobs we don't have the source to or getting Android upstream to introduce libgcc_s). The original discussion about this patch is here: http://gcc.gnu.org/ml/gcc-patches/2012-08/msg01462.html Thanks, Matt -- Matthew Gretton-Dann Toolchain Working Group, Linaro ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: Undefined __aeabi_uidiv references in blobs with 4.8 toolchain
On 8 May 2013 22:07, Matthew Gretton-Dann wrote: > On 08/05/13 20:53, Bernhard Rosenkränzer wrote: > >> The problematic upstream commit is svn 190588. >> > > The original discussion about this patch is here: > > http://gcc.gnu.org/ml/gcc-patches/2012-08/msg01462.html > Bug report and patch here: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57221 Not too optimistic about getting the patch accepted though, since the proper fix really would be to just rebuild the *ing blobs. ttyl bero ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain