[AD] Electricfence positive with 4.0.3-rc2 stretch_blit |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
Hi.
The attached program cores when I compile with "gcc -o a test.c -g
`allegro-config --static debug` -lefence -DDEBUGMODE=1". The core
happens with both release and debug builds. Here's a backtrace from
a debug build:
(gdb) bt#0 0x40c17dc0 in ?? ()
#1 0x0807e2a3 in do_stretch_blit (source=0x40bfeca0, dest=0x40c11840, source_x=0, source_y=0, source_width=320,
source_height=200, dest_x=0, dest_y=0, dest_width=640, dest_height=480, masked=0) at ./src/i386/istretch.c:423
#2 0x0807e3e0 in stretch_blit (s=0x40bfeca0, d=0x40c11840, s_x=0, s_y=0, s_w=320, s_h=200, d_x=0, d_y=0, d_w=640, d_h=480)
at ./src/i386/istretch.c:447
#3 0x08058563 in _mangled_main () at test.c:13
#4 0x0807322f in main (argc=1, argv=0xbffffca4) at ./src/unix/umain.c:39
#5 0x4015914f in __libc_start_main () from /lib/libc.so.6
(gdb) f 1
#1 0x0807e2a3 in do_stretch_blit (source=0x40bfeca0, dest=0x40c11840, source_x=0, source_y=0, source_width=320,
source_height=200, dest_x=0, dest_y=0, dest_width=640, dest_height=480, masked=0) at ./src/i386/istretch.c:423
423 _do_stretch(source, dest, _scratch_mem, sx>>16, sy, syd,
(gdb) list
418 #endif /* ifdef GFX_MODEX */
419
420 COMPILER_RET();
421
422 /* call the stretcher */
423 _do_stretch(source, dest, _scratch_mem, sx>>16, sy, syd,
424 dest_x, dest_y, dest_height, dest->vtable->color_depth);
425
426 /* and store it in the cache */
427 stretcher_info[best].sx = sx;
(gdb)
If I compile without electric fence, everything goes fine. Also,
exscale.c runs perfectly with and without electric fence. I'm
using electric-fence 2.1.13 and gcc 2.95.4. Can somebody duplicate
this apparently false positive?
#include <allegro.h>
int main(void)
{
BITMAP *src, *bmp;
ASSERT(!allegro_init());
ASSERT(!install_timer());
ASSERT(!install_keyboard());
ASSERT(!set_gfx_mode(GFX_AUTODETECT, 640, 480, 640, 480));
ASSERT(src = create_bitmap(320, 200));
ASSERT(bmp = create_bitmap(640, 480));
stretch_blit(src, bmp, 0, 0, src->w, src->h, 0, 0, bmp->w, bmp->h);
readkey();
return 0;
}
END_OF_MAIN();