Hello!
yesterday I got that annoying xserver hang on R200.
XFree86 4.3.99.xx from october, DRI CVS HEAD (a few days old), Kernel 2.4.22 with v4l2.
I verified with a fresh build of XFree86 CVS HEAD (yesterday).
The strange things are the backtraces:
1. "older" XFree and current DRI CVS:
(gdb) back
#0 0x4011fd54 in ioctl () from /lib/libc.so.6
#1 0xfffffc02 in ?? ()
#2 0x0867d5c6 in ?? ()
#3 0x084744d1 in RADEONWaitForIdleCP (pScrn=0x863dd40) at radeon_accelfuncs.c:120
#4 0x086b3f70 in ?? ()
#5 0x086d567c in ?? ()
#6 0x080bab5a in ProcPolySegment (client=0xa3a6e68) at dispatch.c:1870
#7 0x080b816c in Dispatch () at dispatch.c:450
#8 0x080c912b in main (argc=5, argv=0xbffffbc4, envp=0xbffffbdc) at main.c:435
#9 0x4006b7ee in __libc_start_main () from /lib/libc.so.6
(gdb) module
....
(gdb) back
#0 0x4011fd54 in ioctl () from /lib/libc.so.6
#1 0xfffffc02 in ?? ()
#2 0x0867d5c6 in fbBresDash32 (pDrawable=0x7, pGC=0x4, dashOffset=18,
signdx=1074536654, signdy=141430640, axis=1811124
y1=0, e=595, e1=38310, e3=-1073744340, len=141246320) at fbbits.h:119
#3 0x084744d1 in RADEONWaitForIdleCP (pScrn=0x863dd40) at radeon_accelfuncs.c:120
#4 0x086b3f70 in XAAPolyRectangleFallback () at xaaInitAccel.c:1465
#5 0x086d567c in XAAPolySegment (pDrawable=0xb99bb08, pGC=0xacb8e88, nseg=1,
pSeg=0xb382770) at xaaSeg.c:92
#6 0x080bab5a in ProcPolySegment (client=0xa3a6e68) at dispatch.c:1870
#7 0x080b816c in Dispatch () at dispatch.c:450
#8 0x080c912b in main (argc=5, argv=0xbffffbc4, envp=0xbffffbdc) at main.c:435
#9 0x4006b7ee in __libc_start_main () from /lib/libc.so.6
(gdb)
isnt it strange that RADEONWaitForIdleCP somehow calls fbBresDash32() ?
killall -KILL X -> System hangs, no ping
reset
booting...
installing current XFREE CVS HEAD
2. XFree86 CVS HEAD (with the "old" radeon kernelmodul from DRI, shouldnt matter)
(triggering hang..)
(gdb) back
#0 0x4012ed54 in ioctl () from /lib/libc.so.6
#1 0xfffffc02 in ?? ()
#2 0x085d2916 in general_textured_triangle ()
#3 0x08470039 in RADEONWaitForIdleCP ()
#4 0x0847a0ab in RADEONLoadPalette ()
#5 0x080b1068 in CMapRefreshColors ()
#6 0x080b0af0 in CMapReinstallMap ()
#7 0x080b0924 in CMapInstallColormap ()
#8 0x08188f0e in miUninstallColormap ()
#9 0x085c8e72 in fbUninstallColormap ()
#10 0x080825e9 in DGAUninstallColormap ()
#11 0x080b2d43 in FreeColormap ()
#12 0x080ccfca in FreeClientResources ()
#13 0x080bf674 in CloseDownClient ()
#14 0x080b9cd4 in Dispatch ()
#15 0x080cad8d in main ()
#16 0x4007a7ee in __libc_start_main () from /lib/libc.so.6
(gdb)
strange.. general_textured_triangle() is somewhere in mesa source
Dump of assembler code for function RADEONWaitForIdleCP:
0x846ffe8 <RADEONWaitForIdleCP>: push %ebp
0x846ffe9 <RADEONWaitForIdleCP+1>: mov %esp,%ebp
0x846ffeb <RADEONWaitForIdleCP+3>: sub $0xc,%esp
0x846ffee <RADEONWaitForIdleCP+6>: push %edi
0x846ffef <RADEONWaitForIdleCP+7>: push %esi
0x846fff0 <RADEONWaitForIdleCP+8>: push %ebx
0x846fff1 <RADEONWaitForIdleCP+9>: mov 0x8(%ebp),%edi
0x846fff4 <RADEONWaitForIdleCP+12>: mov 0xf8(%edi),%esi
0x846fffa <RADEONWaitForIdleCP+18>: mov 0x24(%esi),%ebx
0x846fffd <RADEONWaitForIdleCP+21>: movl $0x0,0xfffffffc(%ebp)
0x8470004 <RADEONWaitForIdleCP+28>: cmpl $0x0,0x14dc(%esi)
0x847000b <RADEONWaitForIdleCP+35>: je 0x847013f <RADEONWaitForIdleCP+343>
0x8470011 <RADEONWaitForIdleCP+41>: cmpl $0x0,0x1548(%esi)
0x8470018 <RADEONWaitForIdleCP+48>: je 0x8470028 <RADEONWaitForIdleCP+64>
0x847001a <RADEONWaitForIdleCP+50>: add $0xfffffff8,%esp
0x847001d <RADEONWaitForIdleCP+53>: push $0x0
0x847001f <RADEONWaitForIdleCP+55>: push %edi
0x8470020 <RADEONWaitForIdleCP+56>: call 0x8472d78 <RADEONCPFlushIndirect>
0x8470025 <RADEONWaitForIdleCP+61>: add $0x10,%esp
0x8470028 <RADEONWaitForIdleCP+64>: add $0xfffffff8,%esp
0x847002b <RADEONWaitForIdleCP+67>: push $0x4
0x847002d <RADEONWaitForIdleCP+69>: mov 0x147c(%esi),%eax
0x8470033 <RADEONWaitForIdleCP+75>: push %eax
0x8470034 <RADEONWaitForIdleCP+76>: call 0x85d28f8
<general_textured_triangle+4016>
0x8470039 <RADEONWaitForIdleCP+81>: mov %eax,%ebx
0x847003b <RADEONWaitForIdleCP+83>: add $0x10,%esp
0x847003e <RADEONWaitForIdleCP+86>: test %ebx,%ebx
0x8470040 <RADEONWaitForIdleCP+88>: je 0x8470066 <RADEONWaitForIdleCP+126>
0x8470042 <RADEONWaitForIdleCP+90>: cmp $0xfffffc02,%ebx
0x8470048 <RADEONWaitForIdleCP+96>: je 0x847006e <RADEONWaitForIdleCP+134>
0x847004a <RADEONWaitForIdleCP+98>: add $0xfffffff4,%esp
0x847004d <RADEONWaitForIdleCP+101>: push %ebx
0x847004e <RADEONWaitForIdleCP+102>: push $0x8483821
0x8470053 <RADEONWaitForIdleCP+107>: push $0x8483847
0x8470058 <RADEONWaitForIdleCP+112>: push $0x5
0x847005a <RADEONWaitForIdleCP+114>: mov 0xc(%edi),%eax
0x847005d <RADEONWaitForIdleCP+117>: push %eax
0x847005e <RADEONWaitForIdleCP+118>: call 0x80870b0 <xf86DrvMsg>
0x8470063 <RADEONWaitForIdleCP+123>: add $0x20,%esp
0x8470066 <RADEONWaitForIdleCP+126>: cmp $0xfffffc02,%ebx
0x847006c <RADEONWaitForIdleCP+132>: jne 0x847007b <RADEONWaitForIdleCP+147>
0x847006e <RADEONWaitForIdleCP+134>: mov 0xfffffffc(%ebp),%eax
0x8470071 <RADEONWaitForIdleCP+137>: incl 0xfffffffc(%ebp)
0x8470074 <RADEONWaitForIdleCP+140>: cmp $0x1e847f,%eax
0x8470079 <RADEONWaitForIdleCP+145>: jle 0x8470028 <RADEONWaitForIdleCP+64>
0x847007b <RADEONWaitForIdleCP+147>: test %ebx,%ebx
0x847007d <RADEONWaitForIdleCP+149>: je 0x847023f <RADEONWaitForIdleCP+599>
0x8470083 <RADEONWaitForIdleCP+155>: add $0xfffffffc,%esp
0x8470086 <RADEONWaitForIdleCP+158>: push $0x84837b0
0x847008b <RADEONWaitForIdleCP+163>: push $0x5
0x847008d <RADEONWaitForIdleCP+165>: mov 0xc(%edi),%eax
0x8470090 <RADEONWaitForIdleCP+168>: push %eax
0x8470091 <RADEONWaitForIdleCP+169>: call 0x80870b0 <xf86DrvMsg>
0x8470096 <RADEONWaitForIdleCP+174>: add $0xfffffff4,%esp
0x8470099 <RADEONWaitForIdleCP+177>: push %edi
0x847009a <RADEONWaitForIdleCP+178>: call 0x846e898 <RADEONEngineReset>
0x847009f <RADEONWaitForIdleCP+183>: add $0x20,%esp
0x84700a2 <RADEONWaitForIdleCP+186>: add $0xfffffff4,%esp
0x84700a5 <RADEONWaitForIdleCP+189>: push %edi
0x84700a6 <RADEONWaitForIdleCP+190>: call 0x846e9f8 <RADEONEngineRestore>
0x84700ab <RADEONWaitForIdleCP+195>: add $0x10,%esp
0x84700ae <RADEONWaitForIdleCP+198>: mov 0x14e0(%esi),%eax
0x84700b4 <RADEONWaitForIdleCP+204>: cmp $0x20000000,%eax
0x84700b9 <RADEONWaitForIdleCP+209>: je 0x84700c8 <RADEONWaitForIdleCP+224>
0x84700bb <RADEONWaitForIdleCP+211>: cmp $0x40000000,%eax
0x84700c0 <RADEONWaitForIdleCP+216>: jne 0x84700fc <RADEONWaitForIdleCP+276>
0x84700c2 <RADEONWaitForIdleCP+218>: lea 0x0(%esi),%esi
0x84700c8 <RADEONWaitForIdleCP+224>: add $0xfffffff8,%esp
0x84700cb <RADEONWaitForIdleCP+227>: push $0x3
0x84700cd <RADEONWaitForIdleCP+229>: mov 0x147c(%esi),%eax
0x84700d3 <RADEONWaitForIdleCP+235>: push %eax
0x84700d4 <RADEONWaitForIdleCP+236>: call 0x85d28f8
<general_textured_triangle+4016>
0x84700d9 <RADEONWaitForIdleCP+241>: add $0x10,%esp
0x84700dc <RADEONWaitForIdleCP+244>: test %eax,%eax
0x84700de <RADEONWaitForIdleCP+246>: je 0x84700fc <RADEONWaitForIdleCP+276>
0x84700e0 <RADEONWaitForIdleCP+248>: add $0xfffffff4,%esp
0x84700e3 <RADEONWaitForIdleCP+251>: push %eax
0x84700e4 <RADEONWaitForIdleCP+252>: push $0x8483821
0x84700e9 <RADEONWaitForIdleCP+257>: push $0x848370f
0x84700ee <RADEONWaitForIdleCP+262>: push $0x5
0x84700f0 <RADEONWaitForIdleCP+264>: mov 0xc(%edi),%eax
0x84700f3 <RADEONWaitForIdleCP+267>: push %eax
0x84700f4 <RADEONWaitForIdleCP+268>: call 0x80870b0 <xf86DrvMsg>
0x84700f9 <RADEONWaitForIdleCP+273>: add $0x20,%esp
0x84700fc <RADEONWaitForIdleCP+276>: add $0xfffffff8,%esp
0x84700ff <RADEONWaitForIdleCP+279>: push $0x1
0x8470101 <RADEONWaitForIdleCP+281>: mov 0x147c(%esi),%eax
0x8470107 <RADEONWaitForIdleCP+287>: push %eax
0x8470108 <RADEONWaitForIdleCP+288>: call 0x85d28f8
<general_textured_triangle+4016>
0x847010d <RADEONWaitForIdleCP+293>: add $0x10,%esp
0x8470110 <RADEONWaitForIdleCP+296>: test %eax,%eax
0x8470112 <RADEONWaitForIdleCP+298>: je 0x8470130 <RADEONWaitForIdleCP+328>
0x8470114 <RADEONWaitForIdleCP+300>: add $0xfffffff4,%esp
0x8470117 <RADEONWaitForIdleCP+303>: push %eax
0x8470118 <RADEONWaitForIdleCP+304>: push $0x8483821
0x847011d <RADEONWaitForIdleCP+309>: push $0x8483720
0x8470122 <RADEONWaitForIdleCP+314>: push $0x5
0x8470124 <RADEONWaitForIdleCP+316>: mov 0xc(%edi),%eax
0x8470127 <RADEONWaitForIdleCP+319>: push %eax
0x8470128 <RADEONWaitForIdleCP+320>: call 0x80870b0 <xf86DrvMsg>
0x847012d <RADEONWaitForIdleCP+325>: add $0x20,%esp
0x8470130 <RADEONWaitForIdleCP+328>: movl $0x1,0x14dc(%esi)
0x847013a <RADEONWaitForIdleCP+338>: jmp 0x8470028 <RADEONWaitForIdleCP+64>
0x847013f <RADEONWaitForIdleCP+343>: add $0xfffffff8,%esp
0x8470142 <RADEONWaitForIdleCP+346>: push $0x40
0x8470144 <RADEONWaitForIdleCP+348>: push %edi
0x8470145 <RADEONWaitForIdleCP+349>: call 0x846e748 <RADEONWaitForFifoFunction>
0x847014a <RADEONWaitForIdleCP+354>: add $0x10,%esp
0x847014d <RADEONWaitForIdleCP+357>: movl $0x0,0xfffffffc(%ebp)
0x8470154 <RADEONWaitForIdleCP+364>: lea 0x0(%esi,1),%esi
0x8470158 <RADEONWaitForIdleCP+368>: mov 0xe40(%ebx),%eax
0x847015e <RADEONWaitForIdleCP+374>: test %eax,%eax
0x8470160 <RADEONWaitForIdleCP+376>: jl 0x8470170 <RADEONWaitForIdleCP+392>
0x8470162 <RADEONWaitForIdleCP+378>: add $0xfffffff4,%esp
0x8470165 <RADEONWaitForIdleCP+381>: push %edi
0x8470166 <RADEONWaitForIdleCP+382>: call 0x846e858 <RADEONEngineFlush>
0x847016b <RADEONWaitForIdleCP+387>: jmp 0x847023f <RADEONWaitForIdleCP+599>
0x8470170 <RADEONWaitForIdleCP+392>: incl 0xfffffffc(%ebp)
0x8470173 <RADEONWaitForIdleCP+395>: cmpl $0x1e847f,0xfffffffc(%ebp)
0x847017a <RADEONWaitForIdleCP+402>: jle 0x8470158 <RADEONWaitForIdleCP+368>
0x847017c <RADEONWaitForIdleCP+404>: add $0xfffffffc,%esp
0x847017f <RADEONWaitForIdleCP+407>: push $0x84837b0
0x8470184 <RADEONWaitForIdleCP+412>: push $0x5
0x8470186 <RADEONWaitForIdleCP+414>: mov 0xc(%edi),%eax
0x8470189 <RADEONWaitForIdleCP+417>: push %eax
0x847018a <RADEONWaitForIdleCP+418>: call 0x80870b0 <xf86DrvMsg>
0x847018f <RADEONWaitForIdleCP+423>: add $0xfffffff4,%esp
0x8470192 <RADEONWaitForIdleCP+426>: push %edi
0x8470193 <RADEONWaitForIdleCP+427>: call 0x846e898 <RADEONEngineReset>
0x8470198 <RADEONWaitForIdleCP+432>: add $0x20,%esp
0x847019b <RADEONWaitForIdleCP+435>: add $0xfffffff4,%esp
0x847019e <RADEONWaitForIdleCP+438>: push %edi
0x847019f <RADEONWaitForIdleCP+439>: call 0x846e9f8 <RADEONEngineRestore>
0x84701a4 <RADEONWaitForIdleCP+444>: add $0x10,%esp
0x84701a7 <RADEONWaitForIdleCP+447>: cmpl $0x0,0x1474(%esi)
0x84701ae <RADEONWaitForIdleCP+454>: je 0x847014d <RADEONWaitForIdleCP+357>
0x84701b0 <RADEONWaitForIdleCP+456>: mov 0x14e0(%esi),%eax
0x84701b6 <RADEONWaitForIdleCP+462>: cmp $0x20000000,%eax
0x84701bb <RADEONWaitForIdleCP+467>: je 0x84701c8 <RADEONWaitForIdleCP+480>
0x84701bd <RADEONWaitForIdleCP+469>: cmp $0x40000000,%eax
0x84701c2 <RADEONWaitForIdleCP+474>: jne 0x84701fc <RADEONWaitForIdleCP+532>
0x84701c4 <RADEONWaitForIdleCP+476>: lea 0x0(%esi,1),%esi
0x84701c8 <RADEONWaitForIdleCP+480>: add $0xfffffff8,%esp
0x84701cb <RADEONWaitForIdleCP+483>: push $0x3
0x84701cd <RADEONWaitForIdleCP+485>: mov 0x147c(%esi),%eax
0x84701d3 <RADEONWaitForIdleCP+491>: push %eax
0x84701d4 <RADEONWaitForIdleCP+492>: call 0x85d28f8
<general_textured_triangle+4016>
0x84701d9 <RADEONWaitForIdleCP+497>: add $0x10,%esp
0x84701dc <RADEONWaitForIdleCP+500>: test %eax,%eax
0x84701de <RADEONWaitForIdleCP+502>: je 0x84701fc <RADEONWaitForIdleCP+532>
0x84701e0 <RADEONWaitForIdleCP+504>: add $0xfffffff4,%esp
0x84701e3 <RADEONWaitForIdleCP+507>: push %eax
0x84701e4 <RADEONWaitForIdleCP+508>: push $0x8483821
0x84701e9 <RADEONWaitForIdleCP+513>: push $0x848370f
0x84701ee <RADEONWaitForIdleCP+518>: push $0x5
0x84701f0 <RADEONWaitForIdleCP+520>: mov 0xc(%edi),%eax
0x84701f3 <RADEONWaitForIdleCP+523>: push %eax
0x84701f4 <RADEONWaitForIdleCP+524>: call 0x80870b0 <xf86DrvMsg>
0x84701f9 <RADEONWaitForIdleCP+529>: add $0x20,%esp
0x84701fc <RADEONWaitForIdleCP+532>: add $0xfffffff8,%esp
0x84701ff <RADEONWaitForIdleCP+535>: push $0x1
0x8470201 <RADEONWaitForIdleCP+537>: mov 0x147c(%esi),%eax
0x8470207 <RADEONWaitForIdleCP+543>: push %eax
0x8470208 <RADEONWaitForIdleCP+544>: call 0x85d28f8
<general_textured_triangle+4016>
0x847020d <RADEONWaitForIdleCP+549>: add $0x10,%esp
0x8470210 <RADEONWaitForIdleCP+552>: test %eax,%eax
0x8470212 <RADEONWaitForIdleCP+554>: je 0x8470230 <RADEONWaitForIdleCP+584>
0x8470214 <RADEONWaitForIdleCP+556>: add $0xfffffff4,%esp
0x8470217 <RADEONWaitForIdleCP+559>: push %eax
0x8470218 <RADEONWaitForIdleCP+560>: push $0x8483821
0x847021d <RADEONWaitForIdleCP+565>: push $0x8483720
0x8470222 <RADEONWaitForIdleCP+570>: push $0x5
0x8470224 <RADEONWaitForIdleCP+572>: mov 0xc(%edi),%eax
0x8470227 <RADEONWaitForIdleCP+575>: push %eax
0x8470228 <RADEONWaitForIdleCP+576>: call 0x80870b0 <xf86DrvMsg>
0x847022d <RADEONWaitForIdleCP+581>: add $0x20,%esp
0x8470230 <RADEONWaitForIdleCP+584>: movl $0x1,0x14dc(%esi)
0x847023a <RADEONWaitForIdleCP+594>: jmp 0x847014d <RADEONWaitForIdleCP+357>
0x847023f <RADEONWaitForIdleCP+599>: lea 0xffffffe8(%ebp),%esp
0x8470242 <RADEONWaitForIdleCP+602>: pop %ebx
0x8470243 <RADEONWaitForIdleCP+603>: pop %esi
0x8470244 <RADEONWaitForIdleCP+604>: pop %edi
0x8470245 <RADEONWaitForIdleCP+605>: mov %ebp,%esp
0x8470247 <RADEONWaitForIdleCP+607>: pop %ebp
0x8470248 <RADEONWaitForIdleCP+608>: ret
0x8470249 <RADEONWaitForIdleCP+609>: jmp 0x8470258 <RADEONRestoreAccelStateCP>
0x847024b <RADEONWaitForIdleCP+611>: nop
0x847024c <RADEONWaitForIdleCP+612>: nop
0x847024d <RADEONWaitForIdleCP+613>: nop
0x847024e <RADEONWaitForIdleCP+614>: nop
0x847024f <RADEONWaitForIdleCP+615>: nop
0x8470250 <RADEONWaitForIdleCP+616>: nop
0x8470251 <RADEONWaitForIdleCP+617>: nop
0x8470252 <RADEONWaitForIdleCP+618>: nop
0x8470253 <RADEONWaitForIdleCP+619>: nop
0x8470254 <RADEONWaitForIdleCP+620>: nop
0x8470255 <RADEONWaitForIdleCP+621>: nop
0x8470256 <RADEONWaitForIdleCP+622>: nop
0x8470257 <RADEONWaitForIdleCP+623>: nop
End of assembler dump.
(gdb)
here is a dump what gets called:
0x85d28f8 <general_textured_triangle+4016>: push %ebp
0x85d28f9 <general_textured_triangle+4017>: mov %esp,%ebp
0x85d28fb <general_textured_triangle+4019>: sub $0x8,%esp
0x85d28fe <general_textured_triangle+4022>: mov 0x8(%ebp),%edx
0x85d2901 <general_textured_triangle+4025>: mov 0xc(%ebp),%eax
0x85d2904 <general_textured_triangle+4028>: add $0x40,%eax
0x85d2907 <general_textured_triangle+4031>: or $0x64,%ah
0x85d290a <general_textured_triangle+4034>: add $0xfffffffc,%esp
0x85d290d <general_textured_triangle+4037>: push $0x0
0x85d290f <general_textured_triangle+4039>: push %eax
0x85d2910 <general_textured_triangle+4040>: push %edx
0x85d2911 <general_textured_triangle+4041>: call 0x809af80 <xf86ioctl>
0x85d2916 <general_textured_triangle+4046>: test %eax,%eax
0x85d2918 <general_textured_triangle+4048>: jne 0x85d291e
<general_textured_triangle+4054>
0x85d291a <general_textured_triangle+4050>: xor %eax,%eax
0x85d291c <general_textured_triangle+4052>: jmp 0x85d2925
<general_textured_triangle+4061>
0x85d291e <general_textured_triangle+4054>: mov 0x81f18d8,%eax
0x85d2923 <general_textured_triangle+4059>: neg %eax
0x85d2925 <general_textured_triangle+4061>: mov %ebp,%esp
0x85d2927 <general_textured_triangle+4063>: pop %ebp
0x85d2928 <general_textured_triangle+4064>: ret
0x85d2929 <general_textured_triangle+4065>: jmp 0x85d2938
<general_textured_triangle+4080>
0x85d292b <general_textured_triangle+4067>: nop
0x85d292c <general_textured_triangle+4068>: nop
0x85d292d <general_textured_triangle+4069>: nop
0x85d292e <general_textured_triangle+4070>: nop
0x85d292f <general_textured_triangle+4071>: nop
0x85d2930 <general_textured_triangle+4072>: nop
0x85d2931 <general_textured_triangle+4073>: nop
0x85d2932 <general_textured_triangle+4074>: nop
0x85d2933 <general_textured_triangle+4075>: nop
0x85d2934 <general_textured_triangle+4076>: nop
0x85d2935 <general_textured_triangle+4077>: nop
---Type <return> to continue, or q <return> to quit---
(gdb) x/20 0x85d28f8
0x85d28f8 <general_textured_triangle+4016>: 0x83e58955 0x558b08ec
0x0c458b08 0x8040c083
0x85d2908 <general_textured_triangle+4032>: 0xc48364cc 0x50006afc
0x866ae852 0xc085ffac
0x85d2918 <general_textured_triangle+4048>: 0xc0310475 0xd8a107eb
0xf7081f18 0x5dec89d8
0x85d2928 <general_textured_triangle+4064>: 0x900debc3 0x90909090
0x90909090 0x90909090
0x85d2938 <general_textured_triangle+4080>: 0x83e58955 0x8b5314ec
0x4d8b085d 0x0c558b10
(gdb)
0x85d2948 <general_textured_triangle+4096>: 0x8b40c283 0xe0c11445
0x64000d10 0xc2098000
0x85d2958 <general_textured_triangle+4112>: 0x51fcc483 0x1de85352
0x85ffac86 0x310475c0
0x85d2968 <general_textured_triangle+4128>: 0xa107ebc0 0x081f18d8
0x5d8bd8f7 0x5dec89e8
0x85d2978 <general_textured_triangle+4144>: 0x900debc3 0x90909090
0x90909090 0x90909090
0x85d2988 <general_textured_triangle+4160>: 0x83e58955 0x8b5314ec
0x4d8b085d 0x0c558b10
(gdb)
it doesnt matter if I trigger the hang and disasseble then,
or if just starting a "fresh" Xserver which will work after detach.
4. heres a dump of a "running" Xserver with dri commented out in the Config:
now the call to <general_textured_triangle+4016> changed to a
call to <LoaderDefaultFunc>
Dump of assembler code for function RADEONWaitForIdleCP:
0x846ffb8 <RADEONWaitForIdleCP>: push %ebp
0x846ffb9 <RADEONWaitForIdleCP+1>: mov %esp,%ebp
0x846ffbb <RADEONWaitForIdleCP+3>: sub $0xc,%esp
0x846ffbe <RADEONWaitForIdleCP+6>: push %edi
0x846ffbf <RADEONWaitForIdleCP+7>: push %esi
0x846ffc0 <RADEONWaitForIdleCP+8>: push %ebx
0x846ffc1 <RADEONWaitForIdleCP+9>: mov 0x8(%ebp),%edi
0x846ffc4 <RADEONWaitForIdleCP+12>: mov 0xf8(%edi),%esi
0x846ffca <RADEONWaitForIdleCP+18>: mov 0x24(%esi),%ebx
0x846ffcd <RADEONWaitForIdleCP+21>: movl $0x0,0xfffffffc(%ebp)
0x846ffd4 <RADEONWaitForIdleCP+28>: cmpl $0x0,0x14dc(%esi)
0x846ffdb <RADEONWaitForIdleCP+35>: je 0x847010f <RADEONWaitForIdleCP+343>
0x846ffe1 <RADEONWaitForIdleCP+41>: cmpl $0x0,0x1548(%esi)
0x846ffe8 <RADEONWaitForIdleCP+48>: je 0x846fff8 <RADEONWaitForIdleCP+64>
0x846ffea <RADEONWaitForIdleCP+50>: add $0xfffffff8,%esp
0x846ffed <RADEONWaitForIdleCP+53>: push $0x0
0x846ffef <RADEONWaitForIdleCP+55>: push %edi
0x846fff0 <RADEONWaitForIdleCP+56>: call 0x8472d48 <RADEONCPFlushIndirect>
0x846fff5 <RADEONWaitForIdleCP+61>: add $0x10,%esp
0x846fff8 <RADEONWaitForIdleCP+64>: add $0xfffffff8,%esp
0x846fffb <RADEONWaitForIdleCP+67>: push $0x4
0x846fffd <RADEONWaitForIdleCP+69>: mov 0x147c(%esi),%eax
0x8470003 <RADEONWaitForIdleCP+75>: push %eax
0x8470004 <RADEONWaitForIdleCP+76>: call 0x80a2c80 <LoaderDefaultFunc>
0x8470009 <RADEONWaitForIdleCP+81>: mov %eax,%ebx
0x847000b <RADEONWaitForIdleCP+83>: add $0x10,%esp
0x847000e <RADEONWaitForIdleCP+86>: test %ebx,%ebx
0x8470010 <RADEONWaitForIdleCP+88>: je 0x8470036 <RADEONWaitForIdleCP+126>
0x8470012 <RADEONWaitForIdleCP+90>: cmp $0xfffffc02,%ebx
0x8470018 <RADEONWaitForIdleCP+96>: je 0x847003e <RADEONWaitForIdleCP+134>
0x847001a <RADEONWaitForIdleCP+98>: add $0xfffffff4,%esp
0x847001d <RADEONWaitForIdleCP+101>: push %ebx
0x847001e <RADEONWaitForIdleCP+102>: push $0x84837f1
0x8470023 <RADEONWaitForIdleCP+107>: push $0x8483817
0x8470028 <RADEONWaitForIdleCP+112>: push $0x5
0x847002a <RADEONWaitForIdleCP+114>: mov 0xc(%edi),%eax
0x847002d <RADEONWaitForIdleCP+117>: push %eax
0x847002e <RADEONWaitForIdleCP+118>: call 0x80870b0 <xf86DrvMsg>
0x8470033 <RADEONWaitForIdleCP+123>: add $0x20,%esp
0x8470036 <RADEONWaitForIdleCP+126>: cmp $0xfffffc02,%ebx
0x847003c <RADEONWaitForIdleCP+132>: jne 0x847004b <RADEONWaitForIdleCP+147>
0x847003e <RADEONWaitForIdleCP+134>: mov 0xfffffffc(%ebp),%eax
0x8470041 <RADEONWaitForIdleCP+137>: incl 0xfffffffc(%ebp)
0x8470044 <RADEONWaitForIdleCP+140>: cmp $0x1e847f,%eax
0x8470049 <RADEONWaitForIdleCP+145>: jle 0x846fff8 <RADEONWaitForIdleCP+64>
0x847004b <RADEONWaitForIdleCP+147>: test %ebx,%ebx
0x847004d <RADEONWaitForIdleCP+149>: je 0x847020f <RADEONWaitForIdleCP+599>
0x8470053 <RADEONWaitForIdleCP+155>: add $0xfffffffc,%esp
0x8470056 <RADEONWaitForIdleCP+158>: push $0x8483780
0x847005b <RADEONWaitForIdleCP+163>: push $0x5
0x847005d <RADEONWaitForIdleCP+165>: mov 0xc(%edi),%eax
0x8470060 <RADEONWaitForIdleCP+168>: push %eax
0x8470061 <RADEONWaitForIdleCP+169>: call 0x80870b0 <xf86DrvMsg>
0x8470066 <RADEONWaitForIdleCP+174>: add $0xfffffff4,%esp
0x8470069 <RADEONWaitForIdleCP+177>: push %edi
0x847006a <RADEONWaitForIdleCP+178>: call 0x846e868 <RADEONEngineReset>
0x847006f <RADEONWaitForIdleCP+183>: add $0x20,%esp
0x8470072 <RADEONWaitForIdleCP+186>: add $0xfffffff4,%esp
0x8470075 <RADEONWaitForIdleCP+189>: push %edi
0x8470076 <RADEONWaitForIdleCP+190>: call 0x846e9c8 <RADEONEngineRestore>
0x847007b <RADEONWaitForIdleCP+195>: add $0x10,%esp
0x847007e <RADEONWaitForIdleCP+198>: mov 0x14e0(%esi),%eax
0x8470084 <RADEONWaitForIdleCP+204>: cmp $0x20000000,%eax
0x8470089 <RADEONWaitForIdleCP+209>: je 0x8470098 <RADEONWaitForIdleCP+224>
0x847008b <RADEONWaitForIdleCP+211>: cmp $0x40000000,%eax
0x8470090 <RADEONWaitForIdleCP+216>: jne 0x84700cc <RADEONWaitForIdleCP+276>
0x8470092 <RADEONWaitForIdleCP+218>: lea 0x0(%esi),%esi
0x8470098 <RADEONWaitForIdleCP+224>: add $0xfffffff8,%esp
0x847009b <RADEONWaitForIdleCP+227>: push $0x3
0x847009d <RADEONWaitForIdleCP+229>: mov 0x147c(%esi),%eax
0x84700a3 <RADEONWaitForIdleCP+235>: push %eax
0x84700a4 <RADEONWaitForIdleCP+236>: call 0x80a2c80 <LoaderDefaultFunc>
0x84700a9 <RADEONWaitForIdleCP+241>: add $0x10,%esp
0x84700ac <RADEONWaitForIdleCP+244>: test %eax,%eax
0x84700ae <RADEONWaitForIdleCP+246>: je 0x84700cc <RADEONWaitForIdleCP+276>
0x84700b0 <RADEONWaitForIdleCP+248>: add $0xfffffff4,%esp
0x84700b3 <RADEONWaitForIdleCP+251>: push %eax
0x84700b4 <RADEONWaitForIdleCP+252>: push $0x84837f1
0x84700b9 <RADEONWaitForIdleCP+257>: push $0x84836df
0x84700be <RADEONWaitForIdleCP+262>: push $0x5
0x84700c0 <RADEONWaitForIdleCP+264>: mov 0xc(%edi),%eax
0x84700c3 <RADEONWaitForIdleCP+267>: push %eax
0x84700c4 <RADEONWaitForIdleCP+268>: call 0x80870b0 <xf86DrvMsg>
0x84700c9 <RADEONWaitForIdleCP+273>: add $0x20,%esp
0x84700cc <RADEONWaitForIdleCP+276>: add $0xfffffff8,%esp
0x84700cf <RADEONWaitForIdleCP+279>: push $0x1
0x84700d1 <RADEONWaitForIdleCP+281>: mov 0x147c(%esi),%eax
0x84700d7 <RADEONWaitForIdleCP+287>: push %eax
0x84700d8 <RADEONWaitForIdleCP+288>: call 0x80a2c80 <LoaderDefaultFunc>
0x84700dd <RADEONWaitForIdleCP+293>: add $0x10,%esp
0x84700e0 <RADEONWaitForIdleCP+296>: test %eax,%eax
0x84700e2 <RADEONWaitForIdleCP+298>: je 0x8470100 <RADEONWaitForIdleCP+328>
0x84700e4 <RADEONWaitForIdleCP+300>: add $0xfffffff4,%esp
0x84700e7 <RADEONWaitForIdleCP+303>: push %eax
0x84700e8 <RADEONWaitForIdleCP+304>: push $0x84837f1
0x84700ed <RADEONWaitForIdleCP+309>: push $0x84836f0
0x84700f2 <RADEONWaitForIdleCP+314>: push $0x5
0x84700f4 <RADEONWaitForIdleCP+316>: mov 0xc(%edi),%eax
0x84700f7 <RADEONWaitForIdleCP+319>: push %eax
0x84700f8 <RADEONWaitForIdleCP+320>: call 0x80870b0 <xf86DrvMsg>
0x84700fd <RADEONWaitForIdleCP+325>: add $0x20,%esp
0x8470100 <RADEONWaitForIdleCP+328>: movl $0x1,0x14dc(%esi)
0x847010a <RADEONWaitForIdleCP+338>: jmp 0x846fff8 <RADEONWaitForIdleCP+64>
0x847010f <RADEONWaitForIdleCP+343>: add $0xfffffff8,%esp
0x8470112 <RADEONWaitForIdleCP+346>: push $0x40
0x8470114 <RADEONWaitForIdleCP+348>: push %edi
0x8470115 <RADEONWaitForIdleCP+349>: call 0x846e718 <RADEONWaitForFifoFunction>
0x847011a <RADEONWaitForIdleCP+354>: add $0x10,%esp
0x847011d <RADEONWaitForIdleCP+357>: movl $0x0,0xfffffffc(%ebp)
0x8470124 <RADEONWaitForIdleCP+364>: lea 0x0(%esi,1),%esi
0x8470128 <RADEONWaitForIdleCP+368>: mov 0xe40(%ebx),%eax
0x847012e <RADEONWaitForIdleCP+374>: test %eax,%eax
0x8470130 <RADEONWaitForIdleCP+376>: jl 0x8470140 <RADEONWaitForIdleCP+392>
0x8470132 <RADEONWaitForIdleCP+378>: add $0xfffffff4,%esp
0x8470135 <RADEONWaitForIdleCP+381>: push %edi
0x8470136 <RADEONWaitForIdleCP+382>: call 0x846e828 <RADEONEngineFlush>
0x847013b <RADEONWaitForIdleCP+387>: jmp 0x847020f <RADEONWaitForIdleCP+599>
0x8470140 <RADEONWaitForIdleCP+392>: incl 0xfffffffc(%ebp)
0x8470143 <RADEONWaitForIdleCP+395>: cmpl $0x1e847f,0xfffffffc(%ebp)
0x847014a <RADEONWaitForIdleCP+402>: jle 0x8470128 <RADEONWaitForIdleCP+368>
0x847014c <RADEONWaitForIdleCP+404>: add $0xfffffffc,%esp
0x847014f <RADEONWaitForIdleCP+407>: push $0x8483780
0x8470154 <RADEONWaitForIdleCP+412>: push $0x5
0x8470156 <RADEONWaitForIdleCP+414>: mov 0xc(%edi),%eax
0x8470159 <RADEONWaitForIdleCP+417>: push %eax
0x847015a <RADEONWaitForIdleCP+418>: call 0x80870b0 <xf86DrvMsg>
0x847015f <RADEONWaitForIdleCP+423>: add $0xfffffff4,%esp
0x8470162 <RADEONWaitForIdleCP+426>: push %edi
0x8470163 <RADEONWaitForIdleCP+427>: call 0x846e868 <RADEONEngineReset>
0x8470168 <RADEONWaitForIdleCP+432>: add $0x20,%esp
0x847016b <RADEONWaitForIdleCP+435>: add $0xfffffff4,%esp
0x847016e <RADEONWaitForIdleCP+438>: push %edi
0x847016f <RADEONWaitForIdleCP+439>: call 0x846e9c8 <RADEONEngineRestore>
0x8470174 <RADEONWaitForIdleCP+444>: add $0x10,%esp
0x8470177 <RADEONWaitForIdleCP+447>: cmpl $0x0,0x1474(%esi)
0x847017e <RADEONWaitForIdleCP+454>: je 0x847011d <RADEONWaitForIdleCP+357>
0x8470180 <RADEONWaitForIdleCP+456>: mov 0x14e0(%esi),%eax
0x8470186 <RADEONWaitForIdleCP+462>: cmp $0x20000000,%eax
0x847018b <RADEONWaitForIdleCP+467>: je 0x8470198 <RADEONWaitForIdleCP+480>
0x847018d <RADEONWaitForIdleCP+469>: cmp $0x40000000,%eax
0x8470192 <RADEONWaitForIdleCP+474>: jne 0x84701cc <RADEONWaitForIdleCP+532>
0x8470194 <RADEONWaitForIdleCP+476>: lea 0x0(%esi,1),%esi
0x8470198 <RADEONWaitForIdleCP+480>: add $0xfffffff8,%esp
0x847019b <RADEONWaitForIdleCP+483>: push $0x3
0x847019d <RADEONWaitForIdleCP+485>: mov 0x147c(%esi),%eax
0x84701a3 <RADEONWaitForIdleCP+491>: push %eax
0x84701a4 <RADEONWaitForIdleCP+492>: call 0x80a2c80 <LoaderDefaultFunc>
0x84701a9 <RADEONWaitForIdleCP+497>: add $0x10,%esp
0x84701ac <RADEONWaitForIdleCP+500>: test %eax,%eax
0x84701ae <RADEONWaitForIdleCP+502>: je 0x84701cc <RADEONWaitForIdleCP+532>
0x84701b0 <RADEONWaitForIdleCP+504>: add $0xfffffff4,%esp
0x84701b3 <RADEONWaitForIdleCP+507>: push %eax
0x84701b4 <RADEONWaitForIdleCP+508>: push $0x84837f1
0x84701b9 <RADEONWaitForIdleCP+513>: push $0x84836df
0x84701be <RADEONWaitForIdleCP+518>: push $0x5
0x84701c0 <RADEONWaitForIdleCP+520>: mov 0xc(%edi),%eax
0x84701c3 <RADEONWaitForIdleCP+523>: push %eax
0x84701c4 <RADEONWaitForIdleCP+524>: call 0x80870b0 <xf86DrvMsg>
0x84701c9 <RADEONWaitForIdleCP+529>: add $0x20,%esp
0x84701cc <RADEONWaitForIdleCP+532>: add $0xfffffff8,%esp
0x84701cf <RADEONWaitForIdleCP+535>: push $0x1
0x84701d1 <RADEONWaitForIdleCP+537>: mov 0x147c(%esi),%eax
0x84701d7 <RADEONWaitForIdleCP+543>: push %eax
0x84701d8 <RADEONWaitForIdleCP+544>: call 0x80a2c80 <LoaderDefaultFunc>
0x84701dd <RADEONWaitForIdleCP+549>: add $0x10,%esp
0x84701e0 <RADEONWaitForIdleCP+552>: test %eax,%eax
0x84701e2 <RADEONWaitForIdleCP+554>: je 0x8470200 <RADEONWaitForIdleCP+584>
0x84701e4 <RADEONWaitForIdleCP+556>: add $0xfffffff4,%esp
0x84701e7 <RADEONWaitForIdleCP+559>: push %eax
0x84701e8 <RADEONWaitForIdleCP+560>: push $0x84837f1
0x84701ed <RADEONWaitForIdleCP+565>: push $0x84836f0
0x84701f2 <RADEONWaitForIdleCP+570>: push $0x5
0x84701f4 <RADEONWaitForIdleCP+572>: mov 0xc(%edi),%eax
0x84701f7 <RADEONWaitForIdleCP+575>: push %eax
0x84701f8 <RADEONWaitForIdleCP+576>: call 0x80870b0 <xf86DrvMsg>
0x84701fd <RADEONWaitForIdleCP+581>: add $0x20,%esp
0x8470200 <RADEONWaitForIdleCP+584>: movl $0x1,0x14dc(%esi)
0x847020a <RADEONWaitForIdleCP+594>: jmp 0x847011d <RADEONWaitForIdleCP+357>
0x847020f <RADEONWaitForIdleCP+599>: lea 0xffffffe8(%ebp),%esp
0x8470212 <RADEONWaitForIdleCP+602>: pop %ebx
0x8470213 <RADEONWaitForIdleCP+603>: pop %esi
0x8470214 <RADEONWaitForIdleCP+604>: pop %edi
0x8470215 <RADEONWaitForIdleCP+605>: mov %ebp,%esp
0x8470217 <RADEONWaitForIdleCP+607>: pop %ebp
0x8470218 <RADEONWaitForIdleCP+608>: ret
0x8470219 <RADEONWaitForIdleCP+609>: jmp 0x8470228 <RADEONRestoreAccelStateCP>
0x847021b <RADEONWaitForIdleCP+611>: nop
0x847021c <RADEONWaitForIdleCP+612>: nop
0x847021d <RADEONWaitForIdleCP+613>: nop
0x847021e <RADEONWaitForIdleCP+614>: nop
0x847021f <RADEONWaitForIdleCP+615>: nop
0x8470220 <RADEONWaitForIdleCP+616>: nop
0x8470221 <RADEONWaitForIdleCP+617>: nop
0x8470222 <RADEONWaitForIdleCP+618>: nop
0x8470223 <RADEONWaitForIdleCP+619>: nop
0x8470224 <RADEONWaitForIdleCP+620>: nop
0x8470225 <RADEONWaitForIdleCP+621>: nop
0x8470226 <RADEONWaitForIdleCP+622>: nop
0x8470227 <RADEONWaitForIdleCP+623>: nop
End of assembler dump.
(gdb)
a dump of the function that would get called when dri isnt enabled:
(gdb) disass LoaderDefaultFunc
Dump of assembler code for function LoaderDefaultFunc:
0x80a2c80 <LoaderDefaultFunc>: push %ebp
0x80a2c81 <LoaderDefaultFunc+1>: mov %esp,%ebp
0x80a2c83 <LoaderDefaultFunc+3>: sub $0x8,%esp
0x80a2c86 <LoaderDefaultFunc+6>: add $0xfffffff4,%esp
0x80a2c89 <LoaderDefaultFunc+9>: push $0x819f1a0
0x80a2c8e <LoaderDefaultFunc+14>: call 0x80e3360 <ErrorF>
0x80a2c93 <LoaderDefaultFunc+19>: call 0x80a2c70 <xf86LoaderTrap>
0x80a2c98 <LoaderDefaultFunc+24>: add $0xfffffff4,%esp
0x80a2c9b <LoaderDefaultFunc+27>: push $0x819f1e0
0x80a2ca0 <LoaderDefaultFunc+32>: call 0x80e32b0 <FatalError>
0x80a2ca5 <LoaderDefaultFunc+37>: lea 0x0(%esi,1),%esi
0x80a2ca9 <LoaderDefaultFunc+41>: lea 0x0(%edi,1),%edi
End of assembler dump.
(gdb) x/10 0x80a2c80
0x80a2c80 <LoaderDefaultFunc>: 0x83e58955 0xc48308ec 0xf1a068f4
0xcde80819
0x80a2c90 <LoaderDefaultFunc+16>: 0xe8000406 0xffffffd8 0x68f4c483
0x0819f1e0
0x80a2ca0 <LoaderDefaultFunc+32>: 0x04060be8 0x26748d00
(gdb)
0x80a2ca8 <LoaderDefaultFunc+40>: 0x27bc8d00 0x00000000 0x83e58955
0x56572cec
0x80a2cb8 <LoaderUnload+8>: 0x08758b53 0x0100fe81 0x0c760000
0xffffffb8
0x80a2cc8 <LoaderUnload+24>: 0x009ce9ff 0xf6890000
(gdb)
And here is a objdump -d of radeon_accel.o, section RADEONWaitForIdleCP
000018a0 <RADEONWaitForIdleCP>:
18a0: 55 push %ebp
18a1: 89 e5 mov %esp,%ebp
18a3: 83 ec 0c sub $0xc,%esp
18a6: 57 push %edi
18a7: 56 push %esi
18a8: 53 push %ebx
18a9: 8b 7d 08 mov 0x8(%ebp),%edi
18ac: 8b b7 f8 00 00 00 mov 0xf8(%edi),%esi
18b2: 8b 5e 24 mov 0x24(%esi),%ebx
18b5: c7 45 fc 00 00 00 00 movl $0x0,0xfffffffc(%ebp)
18bc: 83 be dc 14 00 00 00 cmpl $0x0,0x14dc(%esi)
18c3: 0f 84 2e 01 00 00 je 19f7 <RADEONWaitForIdleCP+0x157>
18c9: 83 be 48 15 00 00 00 cmpl $0x0,0x1548(%esi)
18d0: 74 0e je 18e0 <RADEONWaitForIdleCP+0x40>
18d2: 83 c4 f8 add $0xfffffff8,%esp
18d5: 6a 00 push $0x0
18d7: 57 push %edi
18d8: e8 fc ff ff ff call 18d9 <RADEONWaitForIdleCP+0x39>
18dd: 83 c4 10 add $0x10,%esp
18e0: 83 c4 f8 add $0xfffffff8,%esp
18e3: 6a 04 push $0x4
18e5: 8b 86 7c 14 00 00 mov 0x147c(%esi),%eax
18eb: 50 push %eax
18ec: e8 fc ff ff ff call 18ed <RADEONWaitForIdleCP+0x4d>
18f1: 89 c3 mov %eax,%ebx
18f3: 83 c4 10 add $0x10,%esp
18f6: 85 db test %ebx,%ebx
18f8: 74 24 je 191e <RADEONWaitForIdleCP+0x7e>
18fa: 81 fb 02 fc ff ff cmp $0xfffffc02,%ebx
1900: 74 24 je 1926 <RADEONWaitForIdleCP+0x86>
1902: 83 c4 f4 add $0xfffffff4,%esp
1905: 53 push %ebx
1906: 68 51 01 00 00 push $0x151
190b: 68 77 01 00 00 push $0x177
1910: 6a 05 push $0x5
1912: 8b 47 0c mov 0xc(%edi),%eax
1915: 50 push %eax
1916: e8 fc ff ff ff call 1917 <RADEONWaitForIdleCP+0x77>
191b: 83 c4 20 add $0x20,%esp
191e: 81 fb 02 fc ff ff cmp $0xfffffc02,%ebx
1924: 75 0d jne 1933 <RADEONWaitForIdleCP+0x93>
1926: 8b 45 fc mov 0xfffffffc(%ebp),%eax
1929: ff 45 fc incl 0xfffffffc(%ebp)
192c: 3d 7f 84 1e 00 cmp $0x1e847f,%eax
1931: 7e ad jle 18e0 <RADEONWaitForIdleCP+0x40>
1933: 85 db test %ebx,%ebx
1935: 0f 84 bc 01 00 00 je 1af7 <RADEONWaitForIdleCP+0x257>
193b: 83 c4 fc add $0xfffffffc,%esp
193e: 68 e0 00 00 00 push $0xe0
1943: 6a 05 push $0x5
1945: 8b 47 0c mov 0xc(%edi),%eax
1948: 50 push %eax
1949: e8 fc ff ff ff call 194a <RADEONWaitForIdleCP+0xaa>
194e: 83 c4 f4 add $0xfffffff4,%esp
1951: 57 push %edi
1952: e8 fc ff ff ff call 1953 <RADEONWaitForIdleCP+0xb3>
1957: 83 c4 20 add $0x20,%esp
195a: 83 c4 f4 add $0xfffffff4,%esp
195d: 57 push %edi
195e: e8 fc ff ff ff call 195f <RADEONWaitForIdleCP+0xbf>
1963: 83 c4 10 add $0x10,%esp
1966: 8b 86 e0 14 00 00 mov 0x14e0(%esi),%eax
196c: 3d 00 00 00 20 cmp $0x20000000,%eax
1971: 74 0d je 1980 <RADEONWaitForIdleCP+0xe0>
1973: 3d 00 00 00 40 cmp $0x40000000,%eax
1978: 75 3a jne 19b4 <RADEONWaitForIdleCP+0x114>
197a: 8d b6 00 00 00 00 lea 0x0(%esi),%esi
1980: 83 c4 f8 add $0xfffffff8,%esp
1983: 6a 03 push $0x3
1985: 8b 86 7c 14 00 00 mov 0x147c(%esi),%eax
198b: 50 push %eax
198c: e8 fc ff ff ff call 198d <RADEONWaitForIdleCP+0xed>
1991: 83 c4 10 add $0x10,%esp
1994: 85 c0 test %eax,%eax
1996: 74 1c je 19b4 <RADEONWaitForIdleCP+0x114>
1998: 83 c4 f4 add $0xfffffff4,%esp
199b: 50 push %eax
199c: 68 51 01 00 00 push $0x151
19a1: 68 3f 00 00 00 push $0x3f
19a6: 6a 05 push $0x5
19a8: 8b 47 0c mov 0xc(%edi),%eax
19ab: 50 push %eax
19ac: e8 fc ff ff ff call 19ad <RADEONWaitForIdleCP+0x10d>
19b1: 83 c4 20 add $0x20,%esp
19b4: 83 c4 f8 add $0xfffffff8,%esp
19b7: 6a 01 push $0x1
19b9: 8b 86 7c 14 00 00 mov 0x147c(%esi),%eax
19bf: 50 push %eax
19c0: e8 fc ff ff ff call 19c1 <RADEONWaitForIdleCP+0x121>
19c5: 83 c4 10 add $0x10,%esp
19c8: 85 c0 test %eax,%eax
19ca: 74 1c je 19e8 <RADEONWaitForIdleCP+0x148>
19cc: 83 c4 f4 add $0xfffffff4,%esp
19cf: 50 push %eax
19d0: 68 51 01 00 00 push $0x151
19d5: 68 50 00 00 00 push $0x50
19da: 6a 05 push $0x5
19dc: 8b 47 0c mov 0xc(%edi),%eax
19df: 50 push %eax
19e0: e8 fc ff ff ff call 19e1 <RADEONWaitForIdleCP+0x141>
19e5: 83 c4 20 add $0x20,%esp
19e8: c7 86 dc 14 00 00 01 movl $0x1,0x14dc(%esi)
19ef: 00 00 00
19f2: e9 e9 fe ff ff jmp 18e0 <RADEONWaitForIdleCP+0x40>
19f7: 83 c4 f8 add $0xfffffff8,%esp
19fa: 6a 40 push $0x40
19fc: 57 push %edi
19fd: e8 fc ff ff ff call 19fe <RADEONWaitForIdleCP+0x15e>
1a02: 83 c4 10 add $0x10,%esp
1a05: c7 45 fc 00 00 00 00 movl $0x0,0xfffffffc(%ebp)
1a0c: 8d 74 26 00 lea 0x0(%esi,1),%esi
1a10: 8b 83 40 0e 00 00 mov 0xe40(%ebx),%eax
1a16: 85 c0 test %eax,%eax
1a18: 7c 0e jl 1a28 <RADEONWaitForIdleCP+0x188>
1a1a: 83 c4 f4 add $0xfffffff4,%esp
1a1d: 57 push %edi
1a1e: e8 fc ff ff ff call 1a1f <RADEONWaitForIdleCP+0x17f>
1a23: e9 cf 00 00 00 jmp 1af7 <RADEONWaitForIdleCP+0x257>
1a28: ff 45 fc incl 0xfffffffc(%ebp)
1a2b: 81 7d fc 7f 84 1e 00 cmpl $0x1e847f,0xfffffffc(%ebp)
1a32: 7e dc jle 1a10 <RADEONWaitForIdleCP+0x170>
1a34: 83 c4 fc add $0xfffffffc,%esp
1a37: 68 e0 00 00 00 push $0xe0
1a3c: 6a 05 push $0x5
1a3e: 8b 47 0c mov 0xc(%edi),%eax
1a41: 50 push %eax
1a42: e8 fc ff ff ff call 1a43 <RADEONWaitForIdleCP+0x1a3>
1a47: 83 c4 f4 add $0xfffffff4,%esp
1a4a: 57 push %edi
1a4b: e8 fc ff ff ff call 1a4c <RADEONWaitForIdleCP+0x1ac>
1a50: 83 c4 20 add $0x20,%esp
1a53: 83 c4 f4 add $0xfffffff4,%esp
1a56: 57 push %edi
1a57: e8 fc ff ff ff call 1a58 <RADEONWaitForIdleCP+0x1b8>
1a5c: 83 c4 10 add $0x10,%esp
1a5f: 83 be 74 14 00 00 00 cmpl $0x0,0x1474(%esi)
1a66: 74 9d je 1a05 <RADEONWaitForIdleCP+0x165>
1a68: 8b 86 e0 14 00 00 mov 0x14e0(%esi),%eax
1a6e: 3d 00 00 00 20 cmp $0x20000000,%eax
1a73: 74 0b je 1a80 <RADEONWaitForIdleCP+0x1e0>
1a75: 3d 00 00 00 40 cmp $0x40000000,%eax
1a7a: 75 38 jne 1ab4 <RADEONWaitForIdleCP+0x214>
1a7c: 8d 74 26 00 lea 0x0(%esi,1),%esi
1a80: 83 c4 f8 add $0xfffffff8,%esp
1a83: 6a 03 push $0x3
1a85: 8b 86 7c 14 00 00 mov 0x147c(%esi),%eax
1a8b: 50 push %eax
1a8c: e8 fc ff ff ff call 1a8d <RADEONWaitForIdleCP+0x1ed>
1a91: 83 c4 10 add $0x10,%esp
1a94: 85 c0 test %eax,%eax
1a96: 74 1c je 1ab4 <RADEONWaitForIdleCP+0x214>
1a98: 83 c4 f4 add $0xfffffff4,%esp
1a9b: 50 push %eax
1a9c: 68 51 01 00 00 push $0x151
1aa1: 68 3f 00 00 00 push $0x3f
1aa6: 6a 05 push $0x5
1aa8: 8b 47 0c mov 0xc(%edi),%eax
1aab: 50 push %eax
1aac: e8 fc ff ff ff call 1aad <RADEONWaitForIdleCP+0x20d>
1ab1: 83 c4 20 add $0x20,%esp
1ab4: 83 c4 f8 add $0xfffffff8,%esp
1ab7: 6a 01 push $0x1
1ab9: 8b 86 7c 14 00 00 mov 0x147c(%esi),%eax
1abf: 50 push %eax
1ac0: e8 fc ff ff ff call 1ac1 <RADEONWaitForIdleCP+0x221>
1ac5: 83 c4 10 add $0x10,%esp
1ac8: 85 c0 test %eax,%eax
1aca: 74 1c je 1ae8 <RADEONWaitForIdleCP+0x248>
1acc: 83 c4 f4 add $0xfffffff4,%esp
1acf: 50 push %eax
1ad0: 68 51 01 00 00 push $0x151
1ad5: 68 50 00 00 00 push $0x50
1ada: 6a 05 push $0x5
1adc: 8b 47 0c mov 0xc(%edi),%eax
1adf: 50 push %eax
1ae0: e8 fc ff ff ff call 1ae1 <RADEONWaitForIdleCP+0x241>
1ae5: 83 c4 20 add $0x20,%esp
1ae8: c7 86 dc 14 00 00 01 movl $0x1,0x14dc(%esi)
1aef: 00 00 00
1af2: e9 0e ff ff ff jmp 1a05 <RADEONWaitForIdleCP+0x165>
1af7: 8d 65 e8 lea 0xffffffe8(%ebp),%esp
1afa: 5b pop %ebx
1afb: 5e pop %esi
1afc: 5f pop %edi
1afd: 89 ec mov %ebp,%esp
1aff: 5d pop %ebp
1b00: c3 ret
1b01: eb 0d jmp 1b10 <RADEONRestoreAccelStateCP>
1b03: 90 nop
1b04: 90 nop
1b05: 90 nop
1b06: 90 nop
1b07: 90 nop
1b08: 90 nop
1b09: 90 nop
1b0a: 90 nop
1b0b: 90 nop
1b0c: 90 nop
1b0d: 90 nop
1b0e: 90 nop
1b0f: 90 nop
00001b10 <RADEONRestoreAccelStateCP>:
somehow some calls get messed up during linking or is it just that old debugger?
(5.1 static, like described in the wiki)
could the old compiler (gcc 2.95.3) be the source of the problem?
any hints?
could someone attach to his Xserver to see if this bogus call to LoaderDefaultFunc
or general_textured_triangle+4016 exists in his setup, too?
best regards,
Andreas
-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
Dri-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/dri-devel