Added bugreport on gcc bugzilla #36124
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36124
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
Florian Weimer a écrit :
* Cyprien LAPLACE:
Hum, well .. another sample test:
/* c.c */
extern void func(void*);
void test()
{
register char (*foo)[32] = (typeof(foo))0-1024;
register int index;
for(index=0;index<1024;index++) {
func(foo++);
}
}
This
Arthur Loiret a écrit :
severity 472867 normal
thanks
On Wed, Mar 26, 2008 at 11:38:53PM +0100, Cyprien LAPLACE wrote:
Severity: grave
Justification: renders package unusable
Not that much.
that was breaking one of mine (arm tlb flushing loop)... but I recog it
should be rare
Hum, well .. another sample test:
/* c.c */
extern void func(void*);
void test()
{
register char (*foo)[32] = (typeof(foo))0-1024;
register int index;
for(index=0;index<1024;index++) {
func(foo++);
}
}
gives, in x86_32:
$ gcc-4.3 -c c.c -O3 && objdump -d c.o
c.o: f
/* b.c */
int main()
{
register long foo = 0;
do {
asm volatile("nop"::"r"(foo));
} while(++foo);
return 0;
}
which gives with gcc-4.3 -O2 -c b.c:
b.o: file format elf64-x86-64
Disassembly of section .text:
:
0: 31 c0 xor%eax,%eax
2
/* b.c */
int main()
{
register long foo = 0;
do {
asm volatile("nop"::"r"(foo));
} while(++foo);
return 0;
}
which gives with gcc-4.3 -O2 -c b.c:
b.o: file format elf64-x86-64
Disassembly of section .text:
:
0: b8 00 00 00 00 mov$0x0,%eax
5:
Package: gcc-4.3
Version: 4.3.0-2
Severity: grave
Justification: renders package unusable
gcc-4.3 forgets some checks in -O2 and -O3, tested on x86_64 and arm
(cross-compiler) targets.
the following is an exemple code with disassembled generated code by
gcc for 4.2 and 4.3 versions:
/* a.c */
7 matches
Mail list logo