[email protected]
"Jiri Malak" <[email protected]> Sat, 8 Jan 2005 19:50:17 +0100
| Newsgroups | gmane.comp.gnu.mingw.patches |
|---|---|
| Message-ID | <002501c4f5b2$e5e63670$0100a8c0@jirkaml> |
This is a multi-part message in MIME format. ------=_NextPart_000_0020_01C4F5BB.47011800 Content-Type: text/plain; charset="iso-8859-2" Content-Transfer-Encoding: 7bit Enclosed patch fix windows DirectX import library source code for Open Watcom C compiler. There is problem with section attributes which are compiler specific. I add two macros EMIT_CODE_SECTION() and EMIT_CONST_SECTION(). Regards Jiri Malak 2005-02-08 Jiri Malak <[email protected]> * lib/directx/(dinput_joy.c, dinput_joy2.c, dinput_kbd.c, dinput_mouse.c, dinput_mouse2.c, dinput_private.h) : fix for Open Watcom compiler. ------=_NextPart_000_0020_01C4F5BB.47011800 Content-Type: text/plain; name="patch_w32api.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="patch_w32api.txt" --- dinput_joy.c 27 Mar 2004 02:25:37 -0000 1.1 +++ dinput_joy.c 8 Jan 2005 17:54:57 -0000 @@ -12,7 +12,7 @@ =20 #include "dinput_private.h" =20 -static DIOBJECTDATAFORMAT c_rgodfDIJoy[] __attribute__ = ((section(".text"))) =3D=20 +static DIOBJECTDATAFORMAT EMIT_CODE_SECTION( c_rgodfDIJoy[] ) =3D=20 { = {&GUID_XAxis,0x0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTI= ONAL,DIDOI_ASPECTPOSITION}, = {&GUID_YAxis,0x4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTI= ONAL,DIDOI_ASPECTPOSITION}, @@ -60,4 +60,4 @@ {NULL,0x4f,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0} }; =20 -DIDATAFORMAT c_dfDIJoystick __attribute__ ((section(".rdata"))) =3D = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_ABSAXIS,80,sizeof(c= _rgodfDIJoy)/sizeof(c_rgodfDIJoy[0]),c_rgodfDIJoy}; +DIDATAFORMAT EMIT_CONST_SECTION( c_dfDIJoystick ) =3D = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_ABSAXIS,80,sizeof(c= _rgodfDIJoy)/sizeof(c_rgodfDIJoy[0]),c_rgodfDIJoy}; --- dinput_joy2.c 27 Mar 2004 02:25:37 -0000 1.1 +++ dinput_joy2.c 8 Jan 2005 17:54:57 -0000 @@ -12,7 +12,7 @@ =20 #include "dinput_private.h" =20 -static DIOBJECTDATAFORMAT c_rgodfDIJoy2[] __attribute__ = ((section(".text"))) =3D +static DIOBJECTDATAFORMAT EMIT_CODE_SECTION( c_rgodfDIJoy2[] ) =3D { = {&GUID_XAxis,0x0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTI= ONAL,DIDOI_ASPECTPOSITION}, = {&GUID_YAxis,0x4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OPTI= ONAL,DIDOI_ASPECTPOSITION}, @@ -180,4 +180,4 @@ = {&GUID_Slider,0x1c,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE|DIDFT_OP= TIONAL,DIDOI_ASPECTFORCE} }; =20 -DIDATAFORMAT c_dfDIJoystick2 __attribute__ ((section(".rdata"))) =3D = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_ABSAXIS,272,sizeof(= c_rgodfDIJoy2)/sizeof(c_rgodfDIJoy2[0]),c_rgodfDIJoy2}; +DIDATAFORMAT EMIT_CONST_SECTION( c_dfDIJoystick2 ) =3D = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_ABSAXIS,272,sizeof(= c_rgodfDIJoy2)/sizeof(c_rgodfDIJoy2[0]),c_rgodfDIJoy2}; --- dinput_kbd.c 27 Mar 2004 02:25:37 -0000 1.1 +++ dinput_kbd.c 8 Jan 2005 17:54:57 -0000 @@ -12,7 +12,7 @@ =20 #include "dinput_private.h" =20 -static DIOBJECTDATAFORMAT c_rgodfDIKeyboard[] __attribute__ = ((section(".text"))) =3D +static DIOBJECTDATAFORMAT EMIT_CODE_SECTION( c_rgodfDIKeyboard[] ) =3D { = {&GUID_Key,0x0,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x0)|DIDFT_OPTIONAL,0x0}, = {&GUID_Key,0x1,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0x1)|DIDFT_OPTIONAL,0x0}, @@ -272,4 +272,4 @@ = {&GUID_Key,0xff,DIDFT_BUTTON|DIDFT_MAKEINSTANCE(0xff)|DIDFT_OPTIONAL,0x0}= }; =20 -DIDATAFORMAT c_dfDIKeyboard __attribute__ ((section(".rdata"))) =3D = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_RELAXIS,256,sizeof(= c_rgodfDIKeyboard)/sizeof(c_rgodfDIKeyboard[0]),c_rgodfDIKeyboard}; +DIDATAFORMAT EMIT_CONST_SECTION( c_dfDIKeyboard ) =3D = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_RELAXIS,256,sizeof(= c_rgodfDIKeyboard)/sizeof(c_rgodfDIKeyboard[0]),c_rgodfDIKeyboard}; --- dinput_mouse.c 27 Mar 2004 02:25:37 -0000 1.1 +++ dinput_mouse.c 8 Jan 2005 17:54:57 -0000 @@ -12,7 +12,7 @@ =20 #include "dinput_private.h" =20 -static DIOBJECTDATAFORMAT c_rgodfDIMouse[] __attribute__ = ((section(".text"))) =3D +static DIOBJECTDATAFORMAT EMIT_CODE_SECTION( c_rgodfDIMouse[] ) =3D { {&GUID_XAxis,0x0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE,0x0}, {&GUID_YAxis,0x4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE,0x0}, @@ -23,4 +23,4 @@ {NULL,0xf,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0} }; =20 -DIDATAFORMAT c_dfDIMouse __attribute__ ((section(".rdata"))) =3D = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_RELAXIS,16,sizeof(c= _rgodfDIMouse)/sizeof(c_rgodfDIMouse[0]),c_rgodfDIMouse}; +DIDATAFORMAT EMIT_CONST_SECTION( c_dfDIMouse ) =3D = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_RELAXIS,16,sizeof(c= _rgodfDIMouse)/sizeof(c_rgodfDIMouse[0]),c_rgodfDIMouse}; --- dinput_mouse2.c 27 Mar 2004 02:25:37 -0000 1.1 +++ dinput_mouse2.c 8 Jan 2005 17:54:57 -0000 @@ -12,7 +12,7 @@ =20 #include "dinput_private.h" =20 -static DIOBJECTDATAFORMAT c_rgodfDIMouse2[] __attribute__ = ((section(".text"))) =3D +static DIOBJECTDATAFORMAT EMIT_CODE_SECTION( c_rgodfDIMouse2[] ) =3D { {&GUID_XAxis,0x0,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE,0x0}, {&GUID_YAxis,0x4,DIDFT_ABSAXIS|DIDFT_RELAXIS|DIDFT_ANYINSTANCE,0x0}, @@ -27,4 +27,4 @@ {NULL,0x13,DIDFT_BUTTON|DIDFT_ANYINSTANCE|DIDFT_OPTIONAL,0x0} }; =20 -DIDATAFORMAT c_dfDIMouse2 __attribute__ ((section(".rdata"))) =3D = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_RELAXIS,20,sizeof(c= _rgodfDIMouse2)/sizeof(c_rgodfDIMouse2[0]),c_rgodfDIMouse2}; +DIDATAFORMAT EMIT_CONST_SECTION( c_dfDIMouse2 ) =3D = {sizeof(DIDATAFORMAT),sizeof(DIOBJECTDATAFORMAT),DIDF_RELAXIS,20,sizeof(c= _rgodfDIMouse2)/sizeof(c_rgodfDIMouse2[0]),c_rgodfDIMouse2}; --- dinput_private.h 27 Mar 2004 02:25:37 -0000 1.1 +++ dinput_private.h 8 Jan 2005 17:54:57 -0000 @@ -70,4 +70,12 @@ extern GUID GUID_Key; extern GUID GUID_POV; =20 +#if defined( __WATCOMC__ ) +#define EMIT_CODE_SECTION(x) __based( __segname( "_CODE" ) ) x +#define EMIT_CONST_SECTION(x) __based( __segname( "_CONST" ) ) x +#else +#define EMIT_CODE_SECTION(x) x __attribute__ ((section(".text"))) +#define EMIT_CONST_SECTION(x) x __attribute__ ((section(".rdata"))) +#endif + #endif ------=_NextPart_000_0020_01C4F5BB.47011800-- ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt