Re: linaro toolchain recipe updates
On 02/16/2014 06:43 AM, Khem Raj wrote: The following changes since commit aa242029aa5eecc84a27f2ba026e8fedaf925dbd: Merge "linaro-image-lng: add package lng-network-config" (2014-02-14 16:24:51 +) are available in the git repository at: git://github.com/kraj/meta-linaro master for you to fetch changes up to e4b9751778fe7772185f12cbd29453bf80460546: binutils: Rename version to linux-2.24 (2014-02-16 05:16:00 +) Khem Raj (3): gcc: Lets not override OE-Core gcc gcc-linaro-4.7: Delete binutils: Rename version to linux-2.24 I've imported them into gerrit: https://review.linaro.org/#/c/1190/ https://review.linaro.org/#/c/1192/ https://review.linaro.org/#/c/1193/ https://review.linaro.org/#/c/1194/ regards, Koen .../binutils/binutils-cross-canadian.inc | 29 - .../binutils/binutils-cross-canadian_2.24.bb |3 - .../binutils-cross-canadian_linaro-2.24.bb |3 + .../recipes-devtools/binutils/binutils-cross.inc | 27 - .../binutils/binutils-cross_2.24.bb|3 - .../binutils/binutils-cross_linaro-2.24.bb |3 + ...dk_2.24.bb => binutils-crosssdk_linaro-2.24.bb} |2 +- ...{binutils-2.24.inc => binutils-linaro-2.24.inc} |5 +- .../binutils-armv5e.patch |0 .../binutils-poison.patch |0 .../binutils-uclibc-100-uclibc-conf.patch |0 ...binutils-uclibc-300-001_ld_makefile_patch.patch |0 ...binutils-uclibc-300-006_better_file_error.patch |0 ...ils-uclibc-300-012_check_ldrunpath_length.patch |0 .../binutils-uclibc-gas-needs-libm.patch |0 .../binutils-xlp-support.patch |0 .../fix-pr15815.patch |0 .../libiberty_path_fix.patch |0 .../libtool-2.4-update.patch |0 .../libtool-rpath-fix.patch|0 .../mips64-default-ld-emulation.patch |0 .../relocatable_sdk.patch |0 .../recipes-devtools/binutils/binutils.inc | 148 -- .../{binutils_2.24.bb => binutils_linaro-2.24.bb} |4 +- .../recipes-devtools/gcc/gcc-4.7.inc | 145 - ...-vis_hide-gen-hide-list-Do-not-make-defin.patch | 93 - ...USE_PT_GNU_EH_FRAME-Define-for-systems-us.patch | 49 - .../gcc/gcc-4.7/100-uclibc-conf.patch | 39 - .../gcc/gcc-4.7/200-uclibc-locale.patch| 2810 .../gcc/gcc-4.7/203-uclibc-locale-no__x.patch | 235 -- .../gcc/gcc-4.7/204-uclibc-locale-wchar_fix.patch | 54 - .../gcc/gcc-4.7/205-uclibc-locale-update.patch | 521 .../gcc/gcc-4.7/301-missing-execinfo_h.patch | 15 - .../gcc/gcc-4.7/302-c99-snprintf.patch | 15 - .../gcc/gcc-4.7/303-c99-complex-ugly-hack.patch| 16 - .../gcc/gcc-4.7/304-index_macro.patch | 30 - .../gcc/gcc-4.7/305-libmudflap-susv3-legacy.patch | 51 - .../gcc/gcc-4.7/306-libstdc++-namespace.patch | 40 - .../recipes-devtools/gcc/gcc-4.7/64bithack.patch | 63 - .../gcc/gcc-4.7/740-sh-pr24836.patch | 31 - .../gcc/gcc-4.7/800-arm-bigendian.patch| 36 - .../gcc/gcc-4.7/COLLECT_GCC_OPTIONS.patch | 25 - .../gcc/gcc-4.7/GLIBC_DYNAMIC_LINKER.patch | 165 -- .../gcc/gcc-4.7/arm-hard-float-loader.patch| 48 - .../gcc/gcc-4.7/avoid-oob-array-access.patch | 45 - .../gcc/gcc-4.7/cpp-honor-sysroot.patch| 40 - .../gcc/gcc-4.7/define_insn_reservation.patch | 118 - .../gcc/gcc-4.7/disable-texinfo-5.patch| 107 - .../gcc/gcc-4.7/disable_relax_pic_calls_flag.patch | 48 - .../recipes-devtools/gcc/gcc-4.7/disablesdt.patch | 66 - .../gcc/gcc-4.7/fix-g++-sysroot.patch | 428 --- .../gcc/gcc-4.7/fortran-cross-compile-hack.patch | 32 - .../gcc-4.7/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch | 33 - .../gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch | 116 - .../gcc/gcc-4.7/gcc-argument-list-too-long.patch | 33 - .../gcc-4.7/gcc-armv4-pass-fix-v4bx-to-ld.patch| 31 - .../gcc/gcc-4.7/gcc-poison-dir-extend.patch| 27 - .../gcc-4.7/gcc-poison-system-directories.patch| 223 -- .../gcc-uclibc-locale-ctype_touplow_t.patch| 72 - .../gcc/gcc-4.7/libgcc-sjlj-check.patch| 61 - .../recipes-devtools/gcc/gcc-4.7/libtool.patch | 29 - .../gcc/gcc-4.7/mips64-default-n64.patch | 19 - .../gcc/gcc-4.7/optional_libstdc.patch | 86 - .../gcc/gcc-4.7/ppc_no_crtsavres.patch | 72 - .../gcc/gcc-4.7/ppc_with_cpu.patch | 752 -- .../gcc/gcc-4.7/ppce5500-e6500-support.patch | 713 - .../recipes-devtools/gcc/gcc-4.7/pr32219.patch | 7
-mfpu=softvfp+vfp in LLVM
Richard, I found some emails about you implementing softvfp back in 2003, and I'd like to know what is the expected behaviour when it conflicts with the target triple, for example: -triple arm-linux-gnueabihf + -mfpu=sofvfp+vfp In this case, in LLVM, the triple sets "-float-abi=hard" but the fpu would set "+soft-float-abi", which are contradictory flags. Is that case even possible? If so, what's the expected behaviour? Soft or hard float? Do the extra flags always override the triple behaviour? Is it expected that *every* compiler flag will work on a last-seen-sets-behaviour manner? cheers, --renato ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: linaro toolchain recipe updates
On 02/18/2014 09:54 AM, Koen Kooi wrote: On 02/16/2014 06:43 AM, Khem Raj wrote: The following changes since commit aa242029aa5eecc84a27f2ba026e8fedaf925dbd: Merge "linaro-image-lng: add package lng-network-config" (2014-02-14 16:24:51 +) are available in the git repository at: git://github.com/kraj/meta-linaro master for you to fetch changes up to e4b9751778fe7772185f12cbd29453bf80460546: binutils: Rename version to linux-2.24 (2014-02-16 05:16:00 +) Khem Raj (3): gcc: Lets not override OE-Core gcc gcc-linaro-4.7: Delete binutils: Rename version to linux-2.24 I've imported them into gerrit: https://review.linaro.org/#/c/1190/ https://review.linaro.org/#/c/1192/ https://review.linaro.org/#/c/1193/ https://review.linaro.org/#/c/1194/ With those 4 patches mariadb fails to buid: | make all-am | make[4]: Entering directory `/build/linaro/build/build/tmp-eglibc/work/aarch64-oe-linux/mariadb/5.1.67-r0/mariadb-5.1.67/libmysqld/examples' | aarch64-oe-linux-g++ --sysroot=/build/linaro/build/build/tmp-eglibc/sysroots/genericarmv8 -DEMBEDDED_LIBRARY -I. -I../../include -I../../include -I../../include -I. -I../.. -I../../client -I../../regex -I../../tests -O2 -pipe -g -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden -fno-implicit-templates -fno-exceptions -fno-rtti -c -o mysqltest.o mysqltest.cc | ../../aarch64-oe-linux-libtool --tag=CXX --mode=link aarch64-oe-linux-g++ --sysroot=/build/linaro/build/build/tmp-eglibc/sysroots/genericarmv8 -O2 -pipe -g -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden -fno-implicit-templates -fno-exceptions -fno-rtti -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -rdynamic -o mysqltest_embedded mysqltest.o ../../libmysqld/libmysqld.la -ldl ../../regex/libregex.la -lpthread -lcrypt -lnsl -lm -lpthread -lcrypt -lnsl -lm -L/build/linaro/build/build/tmp-eglibc/sysroots/genericarmv8/usr//lib -lz | aarch64-oe-linux-libtool: link: aarch64-oe-linux-g++ --sysroot=/build/linaro/build/build/tmp-eglibc/sysroots/genericarmv8 -O2 -pipe -g -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden -fno-implicit-templates -fno-exceptions -fno-rtti -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -rdynamic -o .libs/mysqltest_embedded mysqltest.o ../../libmysqld/.libs/libmysqld.so -L/build/linaro/build/build/tmp-eglibc/sysroots/genericarmv8/usr//lib /build/linaro/build/build/tmp-eglibc/sysroots/genericarmv8/usr/lib/libstdc++.so -ldl ../../regex/.libs/libregex.a -lpthread -lcrypt -lnsl -lm -lz -Wl,-rpath -Wl,/usr/lib/mysql | ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlopen' | ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlclose' | ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlerror' regards, Koen .../binutils/binutils-cross-canadian.inc | 29 - .../binutils/binutils-cross-canadian_2.24.bb |3 - .../binutils-cross-canadian_linaro-2.24.bb |3 + .../recipes-devtools/binutils/binutils-cross.inc | 27 - .../binutils/binutils-cross_2.24.bb|3 - .../binutils/binutils-cross_linaro-2.24.bb |3 + ...dk_2.24.bb => binutils-crosssdk_linaro-2.24.bb} |2 +- ...{binutils-2.24.inc => binutils-linaro-2.24.inc} |5 +- .../binutils-armv5e.patch |0 .../binutils-poison.patch |0 .../binutils-uclibc-100-uclibc-conf.patch |0 ...binutils-uclibc-300-001_ld_makefile_patch.patch |0 ...binutils-uclibc-300-006_better_file_error.patch |0 ...ils-uclibc-300-012_check_ldrunpath_length.patch |0 .../binutils-uclibc-gas-needs-libm.patch |0 .../binutils-xlp-support.patch |0 .../fix-pr15815.patch |0 .../libiberty_path_fix.patch |0 .../libtool-2.4-update.patch |0 .../libtool-rpath-fix.patch|0 .../mips64-default-ld-emulation.patch |0 .../relocatable_sdk.patch |0 .../recipes-devtools/binutils/binutils.inc | 148 -- .../{binutils_2.24.bb => binutils_linaro-2.24.bb} |4 +- .../recipes-devtools/gcc/gcc-4.7.inc | 145 - ...-vis_hide-gen-hide-list-Do-not-make-defin.patch | 93 - ...USE_PT_GNU_EH_FRAME-Define-for-systems-us.patch | 49 - .../gcc/gcc-4.7/100-uclibc-conf.patch | 39 - .../gcc/gcc-4.7/200-uclibc-locale.patch| 2810 .../gcc/gcc-4.7/203-uclibc-locale-no__x.patch | 235 -- .../gcc/gcc-4.7/204-uclibc-locale-wchar_fix.patch | 54 - .../gcc/gcc-4.7/205-uclibc-locale-update.patch | 521 .../gcc/gcc-4.7/301-missing-execinfo_h.patch | 15 - .../gcc/gcc-4.7/302-c99-snprintf.pat
Re: -mfpu=softvfp+vfp in LLVM
On 18/02/14 12:59, Renato Golin wrote: > Richard, > > I found some emails about you implementing softvfp back in 2003, and > I'd like to know what is the expected behaviour when it conflicts with > the target triple, for example: > > -triple arm-linux-gnueabihf + -mfpu=sofvfp+vfp > > In this case, in LLVM, the triple sets "-float-abi=hard" but the fpu > would set "+soft-float-abi", which are contradictory flags. > > Is that case even possible? If so, what's the expected behaviour? Soft > or hard float? > > Do the extra flags always override the triple behaviour? Is it > expected that *every* compiler flag will work on a > last-seen-sets-behaviour manner? > > cheers, > --renato > I honestly don't remember what -mfpu=softvfp+vfp is without going to look it up... you're talking about code that was written 11 years ago! I suspect it dates to the time when we were starting to phase out support for the old FPA instructions (if you don't remember those, think yourself lucky :-); where softvfp meant to use the floating-point data format that was used with the VFP; the +vfp was probably meant to imply that vfp instructions could be used as well, but didn't change the ABI (doesn't imply float-abi=hard) -- I would say the combination you describe above is probably meaningless. In the gcc world triplets are only used during configuration of the compiler to set the various defaults, they never override something given on the command line at run time. It is possible to create meaningless combinations of some options (thumb1 + hard-float ABI is currently one that GCC can't handle). R. ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: -mfpu=softvfp+vfp in LLVM
On 18 February 2014 13:55, Richard Earnshaw wrote: > I honestly don't remember what -mfpu=softvfp+vfp is without going to > look it up... you're talking about code that was written 11 years ago! I know! Sorry to bring sorrow after so many years... ;) > the +vfp was probably meant to imply > that vfp instructions could be used as well, but didn't change the ABI > (doesn't imply float-abi=hard) Yes. The meaning is soft ABI with VFP instructions, which can be particularly useful for Android, which is soft-ABI only but mostly runs on ARMv7 hardware. > -- I would say the combination you > describe above is probably meaningless. One use would be if the kernel is set up as a "hard-float platform" (for system/user code), but still uses soft-float ABI (for whatever crazy reasons). > In the gcc world triplets are only used during configuration of the > compiler to set the various defaults, they never override something > given on the command line at run time. It is possible to create > meaningless combinations of some options (thumb1 + hard-float ABI is > currently one that GCC can't handle). We're also trying to reduce the importance of the triples, so I think the most sensible thing to do is to just override and call it a day. Thanks for the input! cheers, --renato ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: linaro toolchain recipe updates
On 02/18/2014 03:30 PM, Khem Raj wrote: On Tue, Feb 18, 2014 at 5:34 AM, Koen Kooi wrote: | ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlopen' | ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlclose' | ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlerror' see 5916ffe0a19422706d1f84870adc603bad202f1c in meta-openembedded you will need something like that. Don't think its toolchain related With out the 2 binutils commits it does compile :( -- Koen Kooi Builds and Baselines | Release Manager Linaro.org | Open source software for ARM SoCs ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: linaro toolchain recipe updates
On 02/18/2014 05:13 PM, Khem Raj wrote: On Tue, Feb 18, 2014 at 6:30 AM, Khem Raj wrote: On Tue, Feb 18, 2014 at 5:34 AM, Koen Kooi wrote: | ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlopen' | ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlclose' | ../../libmysqld/.libs/libmysqld.so: undefined reference to `dlerror' see 5916ffe0a19422706d1f84870adc603bad202f1c in meta-openembedded you will need something like that. Don't think its toolchain related I bult mariadb for beaglebone to double check and it built fine using (angstrom-next) which uses latest tip of meta-openembedded so I would suggest to cherry pick above said commit into you branch of meta-openembedded which is under test. I looked into it some more and I found the following problems with my setup: 1) the mariadb patch is only for -native, so I moved that 2) the binutils reversioning makes it pick a different binutils, not the linaro one. I'm doing a build right now with 1) and will try a build with 1) and 2) after that. -- Koen Kooi Builds and Baselines | Release Manager Linaro.org | Open source software for ARM SoCs ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain