[AD] further in the bug... need help ! |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
I finally reproduced my old bug (sigsegv in blit when in 16bpp and
converting a 8bpp bitmap to 16bpp).
See my old mails for the story and the listing to reproduce it.
I added some debug symbols only to the blit.o, xwin.o, iblit16.o (i386
assembly), and exmem (the modified version to trigger the crash).
Here is the result in gdb :
Program received signal SIGSEGV, Segmentation fault.
_xwin_write_line (bmp=0x0, line=1572601899) at ./src/x/xwin.c:2548
2548 int new_line = line + bmp->y_ofs;
(gdb) bt
#0 _xwin_write_line (bmp=0x0, line=1572601899) at ./src/x/xwin.c:2548
#1 0x804c9b9 in clearMMX_loop ()
#2 0x40094ed3 in _xwin_clear_to_color (dst=0x8068568, color=0)
at ./src/x/xvtable.c:251
#3 0x40059a85 in clear () from /usr/local/lib/liballeg-3.9.34.so
#4 0x7030100 in ?? ()
So it looks like something is wrong with the mmx optimisation, but
only in 16bpp... Well I am sure some people around here know this code
much better than I do. I am lost in this mmx optimisation, and I have
quite some bugs left to take care of in my own appli !
So some help would be welcome.
I can send you any part of what created this crash if you ask.
I tried 2 cpus (P2 400 & K6-350), and 2 compilers (gcc-2.95.2, and the
2.96.xxx in the latest redhat). It crashed everywhere !