+//__ASM_GLOBAL_FUNC( NtCurrentTeb, ".byte 0x64\n\tmovl 0x18,%eax\n\tret" ); -__ASM_GLOBAL_FUNC( wine_get_fs, "movw %fs,%ax\n\tret" ) +//__ASM_GLOBAL_FUNC( wine_get_fs, "movw %fs,%ax\n\tret" ) __ASM_GLOBAL_FUNC( wine_get_gs, "movw %gs,%ax\n\tret" ) __ASM_GLOBAL_FUNC( wine_get_ss, "movw %ss,%ax\n\tret" ) -__ASM_GLOBAL_FUNC( wine_set_fs, "movl 4(%esp),%eax\n\tmovw %ax,%fs\n\tret" ) +//__ASM_GLOBAL_FUNC( wine_set_fs, "movl 4(%esp),%eax\n\tmovw %ax,%fs\n\tret" )
0x40b5b7d8 (DefResolution [xfont.c] in X11DRV.DLL): addb %al,%fs:0x0(%eax)
No surprise it crashes, this code is setting something in the TEB which you commented out. Wine won't get anywhere when missing such critical functions: being able to set and access the TEB is vital for nearly all Wine functions. For Wine on ICC to be useful that must be fixed.
thanks -mike