This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/49335] ARM: Invalid assembler generated while compiling C++ code from 'codeblocks'


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49335

--- Comment #1 from Michael Hope <michael.hope at linaro dot org> 2011-06-08 22:33:32 UTC ---
Forgot the configuration:

Configured with: '../../gcc-4.7~/configure'
--prefix='/scratch/cbuild/slave/slaves/ursa3/gcc-4.7~svn174795/gcc/default/install'
--enable-languages=c,c++,objc,obj-c++,fortran,lto --with-mode=thumb
--with-arch=armv7-a --with-tune=cortex-a9 --with-float=softfp --with-fpu=neon
Thread model: posix
gcc version 4.7.0 20110608 (experimental) [trunk revision 174795] (GCC) 

michaelh@ursa2:~/linaro/bugs$ as -v
GNU assembler version 2.20.51 (arm-linux-gnueabi) using BFD version (GNU
Binutils for Ubuntu) 2.20.51-system.20100908

michaelh@ursa2:~/linaro/bugs$ uname -a
Linux ursa2 2.6.35.3-cbuild2+ #8 SMP Mon Apr 4 12:46:46 NZST 2011 armv7l
GNU/Linux

michaelh@ursa2:~/linaro/bugs$ lsb_release -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 10.10
Release:    10.10
Codename:    maverick

The fault also occurs at -O1 and -O3 but not at -O0.

The assembly in the region is:

.L33:
    movs    r1, #0
    movs    r2, #64
    mov    r0, sp
    mov    r9, sp
    bl    memset
    cmp    r4, #4
    beq    .L11
    add    r0, r8, r4, lsl #2
    rsb    r6, r8, #4
    lsls    r6, r6, #2
    rsb    r1, r4, #4
    rsb    r0, sp, r0, lsl #2
    mov    r4, sp
    mov    lr, #0

which matches the final lines of the function.  It looks like the code should
be using r9 instead of sp.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]