Your message dated Wed, 23 Jan 2008 18:48:39 +0100
with message-id <[EMAIL PROTECTED]>
and subject line Bug#448480: I've just realised that ...
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: gcc
Version: 4:4.1.1-15

GCC miscompiles the following code :-

extern void extfunc(void);
extern unsigned extvar;

static void inner(char *a, unsigned b)
{
        if (b)
                extfunc();
        else
                extvar = (unsigned) a;
}

void outer(unsigned a, unsigned b)
{
        char c;

        c = a;

        inner(&c, b);
}

/*
 * with Debian Etch gcc
 *
 * gcc -O2 -c -o test.o test.c
 *
 * objdump -d test.o
 *
 * the initialisation of "c" that is needed
 * for the assignment to "extvar" is done
 * in the wrong leg of the if() !!
 *

test.o:     file format elf32-littlearm

Disassembly of section .text:

00000000 <outer>:
   0:   e52de004        str     lr, [sp, #-4]!
   4:   e3510000        cmp     r1, #0  ; 0x0
   8:   e24dd004        sub     sp, sp, #4      ; 0x4
   c:   059f301c        ldreq   r3, [pc, #28]   ; 30 <.text+0x30>
  10:   028d2003        addeq   r2, sp, #3      ; 0x3
  14:   05832000        streq   r2, [r3]
  18:   1a000001        bne     24 <outer+0x24>
  1c:   e28dd004        add     sp, sp, #4      ; 0x4
  20:   e8bd8000        ldmia   sp!, {pc}
  24:   e5cd0003        strb    r0, [sp, #3]
  28:   ebfffffe        bl      0 <extfunc>
  2c:   eafffffa        b       1c <outer+0x1c>
  30:   00000000        andeq   r0, r0, r0

*/

/*

Using built-in specs.
Target: arm-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release arm-linux-gnu
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)

*/

/*
 * same but with Debian Etch gcc-3.4
 *
 * this one is correct
 *

test.o:     file format elf32-littlearm

Disassembly of section .text:

00000000 <outer>:
   0:   e52de004        str     lr, [sp, #-4]!
   4:   e3510000        cmp     r1, #0  ; 0x0
   8:   059f3020        ldreq   r3, [pc, #32]   ; 30 <.text+0x30>
   c:   e24dd004        sub     sp, sp, #4      ; 0x4
  10:   e28d2004        add     r2, sp, #4      ; 0x4
  14:   e5620001        strb    r0, [r2, #-1]!
  18:   05832000        streq   r2, [r3]
  1c:   1a000001        bne     28 <outer+0x28>
  20:   e28dd004        add     sp, sp, #4      ; 0x4
  24:   e8bd8000        ldmia   sp!, {pc}
  28:   ebfffffe        bl      0 <extfunc>
  2c:   eafffffb        b       20 <outer+0x20>
  30:   00000000        andeq   r0, r0, r0

*/




--- End Message ---
--- Begin Message ---
closed by upstream as invalid.


--- End Message ---

Reply via email to