Daryll Strauss wrote:
> On Sat, Jan 29, 2000 at 10:01:28PM +0100, Dieter Nützel wrote:
> > Hello Holger,
> >
> > I use the latest binutils-2.9.5.0.24 (beta) together with pgcc-2.95.3
> > (you know). What do you think about? Could this be the source of my
> > problems with the Open Source Glide3 stuff?
> > Now I can compile Glide3 and run but only with -O (!!!). With the GL_AMD
> > variable set it brakes like before.
> >
>
> It's not surprising to need -O in some cases. A few of the I/O headers
> in the Linux kernel require -O2 in order to operate. (Read man outb)
OK. I did it the right way and installed gcc-2.95.2. Now I can compile and
run (!!!) Glide3.
I've checked all (I hope) combinations of the optimization flags and found a
very nice one.
Without AMD 3DNow! optimizations
CNODEBUG = -O6 -ffast-math -fomit-frame-pointer \
-malign-double -mpreferred-stack-boundary=5 \
-funroll-all-loops -fexpensive-optimizations -DBIG_OPT
Very, very fast!!! Best I've ever seen:-)
But with the AMD 3DNow! optimizations enabled it crash (as expected).
Holger I hope this is helpful:
setenv GL_AMD3D 1
GNU gdb 19991004
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...(no debugging symbols
found)...
Core was generated by `./bounce'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/X11/lib/libglut.so.3...(no debugging symbols
found)...done.
Reading symbols from /usr/X11/lib/libSM.so.6...(no debugging symbols
found)...done.
Reading symbols from /usr/X11/lib/libICE.so.6...done.
Reading symbols from /usr/X11/lib/libXmu.so.6...done.
Reading symbols from /usr/X11/lib/libXext.so.6...done.
Reading symbols from /usr/X11/lib/libXi.so.6...done.
Reading symbols from /usr/X11/lib/libX11.so.6...done.
Reading symbols from /usr/X11/lib/libGLU.so.1...done.
Reading symbols from /usr/X11/lib/libGL.so.1...done.
Reading symbols from /usr/lib/libvga.so.1...done.
Reading symbols from /lib/libm.so.6...done.
Reading symbols from /lib/libc.so.6...done.
Reading symbols from /usr/X11/lib/libXt.so.6...done.
Reading symbols from
/tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3x.so...done.
Reading symbols from /lib/ld-linux.so.2...done.
#0 0x4061bf6f in L_win_cull_invalid___fifo_aligned ()
from /tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3x.so
(gdb) bt
#0 0x4061bf6f in L_win_cull_invalid___fifo_aligned ()
from /tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3x.so
#1 0xbfffeeec in ?? ()
Cannot access memory at address 0x8
*******************************************************************************
setenv GL_AMD3D 1
setenv DEBUG 1
SunWave1>ln -s libglide3.so.3.10 libglide3x.so ; ldd bounce ; l
ln: libglide3x.so: File exists
libglut.so.3 => /usr/X11/lib/libglut.so.3 (0x40015000)
libSM.so.6 => /usr/X11/lib/libSM.so.6 (0x4004a000)
libICE.so.6 => /usr/X11/lib/libICE.so.6 (0x40054000)
libXmu.so.6 => /usr/X11/lib/libXmu.so.6 (0x4006c000)
libXext.so.6 => /usr/X11/lib/libXext.so.6 (0x4007f000)
libXi.so.6 => /usr/X11/lib/libXi.so.6 (0x4008e000)
libX11.so.6 => /usr/X11/lib/libX11.so.6 (0x40097000)
libGLU.so.1 => /usr/X11/lib/libGLU.so.1 (0x40140000)
libGL.so.1 => /usr/X11/lib/libGL.so.1 (0x40168000)
libvga.so.1 => /usr/lib/libvga.so.1 (0x40462000)
libm.so.6 => /lib/libm.so.6 (0x404aa000)
libc.so.6 => /lib/libc.so.6 (0x404c8000)
libXt.so.6 => /usr/X11/lib/libXt.so.6 (0x405ac000)
libglide3x.so =>
/tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3x.so (0x405f7000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
total 2812
drwxr-xr-x 3 nuetzel users 4096 Jan 30 02:57 .
drwxr-xr-x 12 nuetzel users 4096 Jan 27 00:35 ..
drwxr-xr-x 2 nuetzel users 4096 Jan 27 00:35 CVS
-rwxr-xr-x 1 nuetzel users 12063 Jan 29 01:22 bounce
-r--r--r-- 1 nuetzel users 1682200 Jan 30 02:57 libglide3.a
lrwxrwxrwx 1 nuetzel users 58 Jan 30 02:57 libglide3.so ->
/tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3.so.3.10
lrwxrwxrwx 1 nuetzel users 58 Jan 30 02:57 libglide3.so.3 ->
/tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3.so.3.10
-r--r--r-- 1 nuetzel users 1034449 Jan 30 02:57 libglide3.so.3.10
lrwxrwxrwx 1 nuetzel users 17 Jan 30 02:57 libglide3x.so ->
libglide3.so.3.10
-r--r--r-- 1 nuetzel users 114946 Jan 30 02:56 libminihwc.a
-rw-r--r-- 1 nuetzel users 1114 Nov 24 22:45 makefile.linux
SunWave1>./bounce
gd.0: GLIDE DEBUG LIBRARY
gd.0: cpu: 0x8001000b
Segmentation fault (core dumped)
SunWave1>gdb bounce core
GNU gdb 19991004
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...(no debugging symbols
found)...
Core was generated by `./bounce'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/X11/lib/libglut.so.3...(no debugging symbols
found)...done.
Reading symbols from /usr/X11/lib/libSM.so.6...(no debugging symbols
found)...done.
Reading symbols from /usr/X11/lib/libICE.so.6...done.
Reading symbols from /usr/X11/lib/libXmu.so.6...done.
Reading symbols from /usr/X11/lib/libXext.so.6...done.
Reading symbols from /usr/X11/lib/libXi.so.6...done.
Reading symbols from /usr/X11/lib/libX11.so.6...done.
Reading symbols from /usr/X11/lib/libGLU.so.1...done.
Reading symbols from /usr/X11/lib/libGL.so.1...done.
Reading symbols from /usr/lib/libvga.so.1...done.
Reading symbols from /lib/libm.so.6...done.
Reading symbols from /lib/libc.so.6...done.
Reading symbols from /usr/X11/lib/libXt.so.6...done.
Reading symbols from
/tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3x.so...done.
Reading symbols from /lib/ld-linux.so.2...done.
#0 0x406707cf in L_win_cull_invalid___fifo_aligned ()
from /tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3x.so
(gdb) bt
#0 0x406707cf in L_win_cull_invalid___fifo_aligned ()
from /tmp/INSTALL/SOURCE/glide/glide3x/h3/lib/libglide3x.so
#1 0xbfffee4c in ?? ()
Cannot access memory at address 0x8
(gdb) info reg
eax 0x46ffff09 1191182089
ecx 0x8072434 134685748
edx 0x8072320 134685472
ebx 0x8072434 134685748
esp 0xbfffee10 -1073746416
ebp 0x8 8
esi 0x4 4
edi 0x8072320 134685472
eip 0x406707cf 1080494031
eflags 0x10202 66050
cs 0x23 35
ss 0x2b 43
ds 0x2b 43
es 0x2b 43
fs 0x2b 43
gs 0x2b 43
cwd 0x43960000 1133903872
swd 0x43610000 1130430464
twd 0xff09ffff -16121857
fip 0xc7f346ff -940357889
fcs 0xffff4392 -48238
fopo 0x4392c7f3 1133692915
fos 0x0 0
(gdb)
Daryll and Holger what are you thinking about 3DNow! prefetch(w)
optimizations for texture management (loading)? I saw that the 3dfx code use
the 3DNow! instructions for this.
Regards,
Dieter
--
Dieter Nützel
Graduate Student, Computer Science
University of Hamburg
Department of Computer Science
Cognitive Systems Group
Vogt-Kölln-Straße 30
D-22527 Hamburg, Germany
email: [EMAIL PROTECTED]
@home: [EMAIL PROTECTED]
_______________________________________________
Mesa-dev maillist - [EMAIL PROTECTED]
http://lists.mesa3d.org/mailman/listinfo/mesa-dev