4.6 branch does not build

2012-03-05 Thread Khem Raj
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

2012-03-05 Thread Khem Raj
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

2012-03-05 Thread Khem Raj

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

2012-10-05 Thread Khem Raj

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

2014-02-17 Thread Khem Raj
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

2014-02-19 Thread Khem Raj
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

2014-02-19 Thread Khem Raj

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

2014-02-19 Thread Khem Raj
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

2014-02-19 Thread Khem Raj
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