4.6 branch does not build
Hi FWIW the backport from trunk in r106872 breaks the gcc build Something like attached is missing from backport -- -Khem Index: gcc-4_6-branch/gcc/config/arm/arm.c === --- gcc-4_6-branch.orig/gcc/config/arm/arm.c 2012-03-05 17:14:09.901129286 -0800 +++ gcc-4_6-branch/gcc/config/arm/arm.c 2012-03-05 17:18:23.061141606 -0800 @@ -17525,6 +17525,13 @@ } return; +case 'v': + { +gcc_assert (GET_CODE (x) == CONST_DOUBLE); +fprintf (stream, "#%d", vfp3_const_double_for_fract_bits (x)); +return; + } + /* Register specifier for vld1.16/vst1.16. Translate the S register number into a D register number and element index. */ case 'z': @@ -24925,4 +24932,26 @@ return 4; } +int +vfp3_const_double_for_fract_bits (rtx operand) +{ + REAL_VALUE_TYPE r0; + + if (GET_CODE (operand) != CONST_DOUBLE) +return 0; + + REAL_VALUE_FROM_CONST_DOUBLE (r0, operand); + if (exact_real_inverse (DFmode, &r0)) +{ + if (exact_real_truncate (DFmode, &r0)) + { + HOST_WIDE_INT value = real_to_integer (&r0); + value = value & 0x; + if ((value != 0) && ( (value & (value - 1)) == 0)) + return int_log2 (value); + } +} + return 0; +} + #include "gt-arm.h" ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: 4.6 branch does not build
On (06/03/12 14:50), Michael Hope wrote: > On Tue, Mar 6, 2012 at 2:34 PM, Khem Raj wrote: > > Hi > > > > FWIW the backport from trunk in r106872 breaks the gcc build > > Something like attached is missing from backport > > Hi Khem. The formatter and vcvt pattern were added in r106847. The > pattern was reverted in r106850 but the formatter left in. Are you > carrying 106847 and 106850 in your patch set? yes noticed that so both those patches are not there. I am getting undefined references to vfp3_const_double_for_fract_bits() so the first hunk is useless > > -- Michael -- -Khem ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: 4.6 branch does not build
On 03/05/2012 06:32 PM, Michael Hope wrote: On Tue, Mar 6, 2012 at 3:06 PM, Khem Raj wrote: On (06/03/12 14:50), Michael Hope wrote: On Tue, Mar 6, 2012 at 2:34 PM, Khem Raj wrote: Hi FWIW the backport from trunk in r106872 breaks the gcc build Something like attached is missing from backport Hi Khem. The formatter and vcvt pattern were added in r106847. The pattern was reverted in r106850 but the formatter left in. Are you carrying 106847 and 106850 in your patch set? yes noticed that so both those patches are not there. I am getting undefined references to vfp3_const_double_for_fract_bits() so the first hunk is useless vfp3_const_double_for_fract_bits() was introduced in r106847. You need that patch, r106850 (which reverts the pattern), and r106847 (which does it correctly) to complete the series. yeah I see. Thanks Michael. Thats what I did -- Michael ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: alignment faults in 3.6
On Oct 4, 2012, at 8:04 PM, Rob Herring wrote: > On 10/04/2012 09:25 PM, Mans Rullgard wrote: >> On 5 October 2012 02:56, Rob Herring wrote: >>> On 10/04/2012 08:26 PM, Mans Rullgard wrote: On 5 October 2012 01:58, Michael Hope wrote: > On 5 October 2012 12:10, Rob Herring wrote: >> I've been scratching my head with a "scheduling while atomic" bug I >> started seeing on 3.6. I can easily reproduce this problem when doing a >> wget on my system. It ultimately seems to be a combination of factors. >> The "scheduling while atomic" bug is triggered in do_alignment which >> gets triggered by this code in net/ipv4/af_inet.c, line 1356: >> >> id = ntohl(*(__be32 *)&iph->id); >> flush = (u16)((ntohl(*(__be32 *)iph) ^ skb_gro_len(skb)) | (id ^ IP_DF)); >> id >>= 16; >> >> This code compiles into this using "gcc version 4.6.3 (Ubuntu/Linaro >> 4.6.3-1ubuntu5)": >> >> c02ac020: e8920840ldm r2, {r6, fp} >> c02ac024: e6bfbf3brev fp, fp >> c02ac028: e6bf6f36rev r6, r6 >> c02ac02c: e22bc901eor ip, fp, #16384 ; 0x4000 >> c02ac030: e0266008eor r6, r6, r8 >> c02ac034: e18c6006orr r6, ip, r6 >> >> which generates alignment faults on the ldm. These are silent until this >> commit is applied: > > Hi Rob. I assume that iph is something like: > > struct foo { >u32 x; >char id[8]; > }; > > struct foo *iph; > > GCC merged the two adjacent loads of x and id into one ldm. This is > an ARM specific optimisation done in load_multiple_sequence() and > enabled with -fpeephole2. > > I think the assembly is correct - GCC knows that iph is aligned and > knows the offsets of both x and id. Happy to be corrected if I'm > wrong, but I think the assembly is valid given the C code. The struct looks like this: struct iphdr { #if defined(__LITTLE_ENDIAN_BITFIELD) __u8ihl:4, version:4; #elif defined (__BIG_ENDIAN_BITFIELD) __u8version:4, ihl:4; #else #error"Please fix " #endif __u8tos; __be16 tot_len; __be16 id; __be16 frag_off; __u8ttl; __u8protocol; __sum16 check; __be32 saddr; __be32 daddr; /*The options start here. */ }; In a normal build (there's some magic for special checkers) __be32 is a plain __u32 so the struct should be at least 4-byte aligned. If somehow it is not, that is the real bug. >>> >>> This struct is the IP header, so a struct ptr is just set to the >>> beginning of the received data. Since ethernet headers are 14 bytes, >>> often the IP header is not aligned unless the NIC can place the frame at >>> a 2 byte offset (which is something I need to investigate). So this >>> function cannot make any assumptions about the alignment. Does the ABI >>> define structs have some minimum alignment? Does the struct need to be >>> declared as packed or something? >> >> The ABI defines the alignment of structs as the maximum alignment of its >> members. Since this struct contains 32-bit members, the alignment for the >> whole struct becomes 32 bits as well. Declaring it as packed tells gcc it >> might be unaligned (in addition to removing any holes within). > > Unfortunately, declaring the struct or __be32* cast as packed have no > effect. I still get an ldm emitted. what is value of r2 ? and can you pastebin the .i file somewhere ? > > Rob > > ___ > linux-arm-kernel mailing list > linux-arm-ker...@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
linaro toolchain recipe updates
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 .../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 | 72 - .../gcc/gcc-4.7/rs6000-tables.patch| 135 - .../gcc/gcc-4.7/use-defaults.h-and-t-oe-in-B.patch | 77 - .../gcc/gcc-4.7/use-ml-conf-files-from-B.patch | 87 - .../gcc/gcc-4.7/wcast-qual-PR55383.patch | 43 - .../recipes-devtools/gcc/gcc-cross-can
Re: linaro toolchain recipe updates
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. ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: linaro toolchain recipe updates
On Feb 18, 2014, at 11:17 PM, Koen Kooi wrote: > 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 OK, another patch I submitted to OE-Core changed binutils-native to use GNU ld always even when ld-is-gold is used. so if you are using that in distro feature then you will have impact because now it won’t use gold for native builds. > 2) the binutils reversioning makes it pick a different binutils, not the > linaro one. > thats right. you have to now override the BINUTILS_VERSIONS appropriately. like I did in angstrom-next > 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 signature.asc Description: Message signed with OpenPGP using GPGMail ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Re: linaro toolchain recipe updates
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 ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
linaro/eglibc 2.19
Hi Linaro'ites We have upgraded eglibc to 2.19 in OpenEmbedded and I started to notice WARNING: No recipes available for: /home/kraj/angstrom/sources/meta-linaro/meta-linaro-toolchain/recipes-core/eglibc/eglibc_2.18.bbappend NOTE: Resolving any missing task queue dependencies And it seems in this bbappend the SRC_URIs are overridden to point to a Linaro release of eglibc I wanted to know if there is a 2.19 head for linaro eglibc being created ? in that case that bbappend needs fixing too. Thanks -Khem ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain