Rob D rddone@att.net writes:
I built gcc with the recommended options, but still getting similar errors from the assembler pass of winegcc:
../../tools/winegcc/winegcc -B../../tools/winebuild -shared ./d3d8.spec basetexture.o cubetexture.o d3d8_main.o device.o directx.o drawprim.o indexbuffer.o resource.o shader.o stateblock.o surface.o swapchain.o texture.o utils.o vertexbuffer.o volume.o volumetexture.o vshaderdeclaration.o d3d8.dll.dbg.o version.res -o d3d8.dll.so -L../../dlls -L../../dlls/wined3d -L../../dlls/user32 -L../../dlls/gdi32 -L../../dlls/advapi32 -L../../dlls/kernel32 -lwined3d -luser32 -lgdi32 -ladvapi32 -lkernel32 -L../../libs/wine -lwine -ldxguid -luuid -L/usr/openwin/lib -R/usr/openwin/lib -lSM -lICE -lXext -lX11 -lsocket -lnsl -lGL -L../../libs/port -lwine_port -lresolv -lsocket -lnsl /var/tmp//ccfTpCMk.s: Assembler messages: /var/tmp//ccfTpCMk.s:513: Error: unknown pseudo-op: `.half' /var/tmp//ccfTpCMk.s:514: Error: unknown pseudo-op: `.half' /var/tmp//ccfTpCMk.s:515: Error: unknown pseudo-op: `.half' /var/tmp//ccfTpCMk.s:516: Error: unknown pseudo-op: `.half' /var/tmp//ccfTpCMk.s:517: Error: unknown pseudo-op: `.half' /var/tmp//ccfTpCMk.s:518: Error: unknown pseudo-op: `.half' /var/tmp//ccfTpCMk.s:547: Error: unrecognized symbol type "" /var/tmp//ccfTpCMk.s:547: Warning: rest of line ignored; first ignored character is `2' /var/tmp//ccfTpCMk.s:556: Error: unrecognized symbol type "" /var/tmp//ccfTpCMk.s:556: Warning: rest of line ignored; first ignored character is `2' /var/tmp//ccfTpCMk.s:565: Error: unrecognized symbol type "" /var/tmp//ccfTpCMk.s:565: Warning: rest of line ignored; first ignored character is `2' winegcc: gcc failed. gmake[2]: *** [d3d8.dll.so] Error 2 gmake[2]: Leaving directory `/export/home/opt/inst/wine-20050830/dlls/d3d8' gmake[1]: *** [d3d8] Error 2 gmake[1]: Leaving directory `/export/home/opt/inst/wine-20050830/dlls' gmake: *** [dlls] Error 2
This doesnt make sense to me. Here are a few settings on the machine:
You need to tweak the functions at the end of tools/winebuild/utils.c to output the right assembly for your platform. It sounds like gas doesn't behave the same way on Solaris x86 and Solaris sparc, so you probably need to add CPU checks in there.