Files
MINGW-packages/mingw-w64-libgpg-error/09-fix-generating-union.patch
2014-09-27 01:12:43 +04:00

32 lines
951 B
Diff

--- libgpg-error-1.16/src/gen-w32-lock-obj.c.orig 2014-01-15 18:53:55.000000000 +0300
+++ libgpg-error-1.16/src/gen-w32-lock-obj.c 2014-09-26 23:30:41.184111000 +0300
@@ -39,17 +39,23 @@
unsigned char *p;
int i;
- printf ("sizeof CRITICAL_SECTION = %u\n", (int)sizeof (CRITICAL_SECTION));
- printf ("sizeof _gpgrt_lock_t = %u\n", (int)sizeof lk);
-
+ printf ("#pragma pack(push, 8)\n"
+ "typedef struct\n"
+ "{\n"
+ " volatile char _priv[%d];\n"
+ "} gpgrt_lock_t;\n"
+ "#pragma pack(pop)\n",
+ sizeof lk);
+
memset (&lk, 0, sizeof lk);
lk.vers = LOCK_ABI_VERSION;
lk.started = -1;
- printf ("#define GPGRT_LOCK_INITIALIZER {");
+
+ printf ("#define GPGRT_LOCK_INITIALIZER {{");
p = (unsigned char *)&lk;
for (i=0; i < sizeof lk - 1; i++)
printf ("%u,", p[i]);
- printf ("%u}\n", p[sizeof(lk)-1]);
+ printf ("%u}}\n", p[sizeof(lk)-1]);
return 0;
}