Problem on x86_64 with latest CVS (Re: sdl12 with gcc-2.95)

Kirill Ponomarew wrote:>On Sun, Jan 16, 2005 at 05:53:06PM +0100, Stephane Marchesin wrote:

Except if you find out the right name mangling for gcc 3.3 and do an
#ifdef depending on the gcc version.

But how can I break inlines in 3 pieces having eg. this
part of code:

“pand %[_MMX_FF00w],%%mm2\n” // L3 0 L1 0 l3 0 l1 0

Each of the 3 pieces takes parameters in the form %0…%9, instead of
having parameters named with explicit names like _MMX_FF00w.
Also note that some of these will have to be duplicated in 2 or 3 of the
pieces.

Okey, so far I fixed the build with gcc-2.95, but I used the first
solution you proposed. Now I checked it on amd64 with gcc-3.4 and
it failed also to build:

cc -DPACKAGE_NAME="" -DPACKAGE_TARNAME=""
-DPACKAGE_VERSION="" -DPACKAGE_STRING=""
-DPACKAGE_BUGREPORT="" -DPACKAGE=“SDL” -DVERSION=“1.2.8”
-DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1
-DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1
-DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_ALLOCA=1 -I. -I. -O2
-fno-strict-aliasing -pipe -I/usr/local/include -Wall
-DENABLE_DUMMYVIDEO -DDISKAUD_SUPPORT -DUSE_DLOPEN -DOSS_SUPPORT
-I/usr/X11R6/include -DENABLE_X11 -DXTHREADS -I./include
-I./src/video -DXFREE86_VM -DXFREE86_VMGAMMA -DXFREE86_DGAMOUSE
-DDEFAULT_DGAMOUSE -DXFREE86_XV -DHAVE_XINERAMA -Isrc/video
-DENABLE_DGA -DENABLE_AALIB -DHAVE_OPENGL -D_REENTRANT
-DSDL_USE_PTHREADS -DHAVE_SEMUN -DHAVE_SIGACTION -DHAVE_USBHID_H
-DUSBHID_UCR_DATA -DUSBHID_NEW -I…/…/include -I…/…/include/SDL
-I…/…/src -I…/…/src/main/freebsd -I…/…/src/audio
-I…/…/src/video -I…/…/src/video/XFree86/extensions
-I…/…/src/events -I…/…/src/joystick -I…/…/src/cdrom
-I…/…/src/thread -I…/…/src/timer -I…/…/src/endian
-I…/…/src/file -I…/…/src/thread -MT SDL_endian.lo -MD -MP -MF
.deps/SDL_endian.Tpo -c SDL_endian.c -fPIC -DPIC -o
.libs/SDL_endian.o
{standard input}: Assembler messages:
{standard input}:144: Error: suffix or operands invalid for `xchg’
*** Error code 1

That’s a totally different problem. This was introduced in CVS 4 days ago :
http://www.libsdl.org/cgi/cvsweb.cgi/SDL12/include/SDL_endian.h.diff?r1=1.11&r2=1.12

Just revert this patch.

Stephane