Cross compiling for embedded targets

2010-09-10 Thread Michael Hope
Hi there. I've always wanted to mix this: http://www.futurlec.com/ET-STM32_Stamp.shtml with some of this: http://bit.ly/cD0JPS to control my one of these: http://www.traxxas.com/products/electric/rustler2006/gallery/3705-3qrtr-Black.jpg and it sounds like a good opportunity to dogfood the

Re: Thumb2 code size improvements

2010-09-10 Thread Richard Earnshaw
On Tue, 2010-09-07 at 12:24 +0100, Julian Brown wrote: > On Tue, 7 Sep 2010 12:55:59 +0200 > Loïc Minier wrote: > > > On Tue, Sep 07, 2010, Julian Brown wrote: > > > Do > > > you still have the code fragment handy (I don't rem

Re: Thumb2 code size improvements

2010-09-10 Thread Richard Earnshaw
On Tue, 2010-09-07 at 13:09 +0100, Andrew Stubbs wrote: > On 07/09/10 13:01, Yao Qi wrote: > >> * Investigate reduced alignment constraints? > > > > Any details on this? > > No, I just know that some targets like to align functions to > cache-lines. This is a useful speed optimization, but does

gdb-linaro bzr tree

2010-09-10 Thread Yao Qi
Hi, I tried linaro gdb branch just now, $ bzr branch lp:gdb-linaro parent branch is bzr+ssh://bazaar.launchpad.net/%2Bbranch/gdb-linaro/, which looks strange. In gcc-linaro, parent branch is bzr+ssh://bazaar.launchpad.net/~linaro-toolchain-dev/gcc-linaro/4.5/ I thought parent branch of linaro

Re: Thumb2 code size improvements

2010-09-10 Thread Mark Mitchell
On 9/10/2010 2:17 AM, Dave Martin wrote: > (int)((unsigned)c << 28) >> 28 > > is invalid C, because the result of the unsigned->signed cast (needed > to get arithmetic right shift) is undefined if the argument is > > INT_MAX. True, but undefined-ness (or, in this case, implementation-defined-ne

Re: Thumb2 code size improvements

2010-09-10 Thread Dave Martin
On Fri, Sep 10, 2010 at 2:14 AM, Nicolas Pitre wrote: [...] >                lsl     r0, r0, #28 >                asr     r0, r0, #28 >                bx      lr > > But I doubt gcc could ever become that smart. Some pointed out to me that the tempting C equivalent (int)((unsigned)c << 28) >>