Subject: [arm] gcc-4.1: bad code and no warning for thumb assembly of arm instruction Package: gcc-4.1 Version: 4.1.1-21 Severity: normal
*** Please type your report below this line *** The assembler generates an incorrect instruction without warning when assembling this arm instruction in thumb mode: .code 16 mov r1,r0,lsr #4 // arm instruction The generated code is the thumb instruction: movs r1,r0 // .word 0x1c01 and the shift has been ignored silently. The expected behavior is to generate the equivalent thumb instruction [equivalent except that thumb mode always sets condition codes while arm mode does not]: lsrs r1,r0,#4 // .word 0x0901 Or, the assembler could complain bad syntax: unexpected ",lsr #4" But generating bad code with no warning is not acceptable. $ gcc --version gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) $ -- System Information: Debian Release: 4.0 APT prefers stable APT policy: (500, 'stable') Architecture: arm (armv5tel) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-3-ixp4xx Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages gcc-4.1 depends on: ii binutils 2.17-3 The GNU assembler, linker and bina ii cpp-4.1 4.1.1-21 The GNU C preprocessor ii gcc-4.1-base 4.1.1-21 The GNU Compiler Collection (base ii libc6 2.3.6.ds1-13 GNU C Library: Shared libraries ii libgcc1 1:4.1.1-21 GCC support library ii libssp0 4.1.1-21 GCC stack smashing protection libr Versions of packages gcc-4.1 recommends: ii libc6-dev 2.3.6.ds1-13 GNU C Library: Development Librari pn libmudflap0-dev <none> (no description available) -- no debconf information -- John Reiser, [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]