Skip to content

Instantly share code, notes, and snippets.

@jperkin
Last active September 10, 2019 14:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jperkin/9b207d39c521d5baae89234d7a7f18a4 to your computer and use it in GitHub Desktop.
Save jperkin/9b207d39c521d5baae89234d7a7f18a4 to your computer and use it in GitHub Desktop.

Diff between 32-bit and 64-bit glibconfig.h (SmartOS, 2018Q4 multiarch, glib2-2.56.2)

--- /opt/local/lib/glib-2.0/include/glibconfig.h	Tue Jun 11 23:18:33 2019
+++ /opt/local/lib/amd64/glib-2.0/include/glibconfig.h	Tue Jun 11 23:17:25 2019
@@ -48,30 +48,30 @@
 #define G_GUINT32_FORMAT "u"
 #define G_HAVE_GINT64 1          /* deprecated, always true */
 
-G_GNUC_EXTENSION typedef signed long long gint64;
-G_GNUC_EXTENSION typedef unsigned long long guint64;
+typedef signed long gint64;
+typedef unsigned long guint64;
 
-#define G_GINT64_CONSTANT(val)	(G_GNUC_EXTENSION (val##LL))
-#define G_GUINT64_CONSTANT(val)	(G_GNUC_EXTENSION (val##ULL))
-#define G_GINT64_MODIFIER "ll"
-#define G_GINT64_FORMAT "lli"
-#define G_GUINT64_FORMAT "llu"
+#define G_GINT64_CONSTANT(val)	(val##L)
+#define G_GUINT64_CONSTANT(val)	(val##UL)
+#define G_GINT64_MODIFIER "l"
+#define G_GINT64_FORMAT "li"
+#define G_GUINT64_FORMAT "lu"
 
-#define GLIB_SIZEOF_VOID_P 4
-#define GLIB_SIZEOF_LONG   4
-#define GLIB_SIZEOF_SIZE_T 4
-#define GLIB_SIZEOF_SSIZE_T 4
+#define GLIB_SIZEOF_VOID_P 8
+#define GLIB_SIZEOF_LONG   8
+#define GLIB_SIZEOF_SIZE_T 8
+#define GLIB_SIZEOF_SSIZE_T 8
 
-typedef signed int gssize;
-typedef unsigned int gsize;
-#define G_GSIZE_MODIFIER ""
-#define G_GSSIZE_MODIFIER ""
-#define G_GSIZE_FORMAT "u"
-#define G_GSSIZE_FORMAT "i"
+typedef signed long gssize;
+typedef unsigned long gsize;
+#define G_GSIZE_MODIFIER "l"
+#define G_GSSIZE_MODIFIER "l"
+#define G_GSIZE_FORMAT "lu"
+#define G_GSSIZE_FORMAT "li"
 
-#define G_MAXSIZE	G_MAXUINT
-#define G_MINSSIZE	G_MININT
-#define G_MAXSSIZE	G_MAXINT
+#define G_MAXSIZE	G_MAXULONG
+#define G_MINSSIZE	G_MINLONG
+#define G_MAXSSIZE	G_MAXLONG
 
 typedef gint64 goffset;
 #define G_MINOFFSET	G_MININT64
@@ -84,18 +84,18 @@
 #define G_POLLFD_FORMAT "%d"
 
 
-#define GPOINTER_TO_INT(p)	((gint)  (gint) (p))
-#define GPOINTER_TO_UINT(p)	((guint) (guint) (p))
+#define GPOINTER_TO_INT(p)	((gint)  (glong) (p))
+#define GPOINTER_TO_UINT(p)	((guint) (gulong) (p))
 
-#define GINT_TO_POINTER(i)	((gpointer) (gint) (i))
-#define GUINT_TO_POINTER(u)	((gpointer) (guint) (u))
+#define GINT_TO_POINTER(i)	((gpointer) (glong) (i))
+#define GUINT_TO_POINTER(u)	((gpointer) (gulong) (u))
 
-typedef signed int gintptr;
-typedef unsigned int guintptr;
+typedef signed long gintptr;
+typedef unsigned long guintptr;
 
-#define G_GINTPTR_MODIFIER      ""
-#define G_GINTPTR_FORMAT        "i"
-#define G_GUINTPTR_FORMAT       "u"
+#define G_GINTPTR_MODIFIER      "l"
+#define G_GINTPTR_FORMAT        "li"
+#define G_GUINTPTR_FORMAT       "lu"
 #ifndef G_DISABLE_DEPRECATED
 #define g_ATEXIT(proc)	(atexit (proc))
 #define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END
@@ -109,6 +109,7 @@
 
 
 #define G_VA_COPY	va_copy
+#define G_VA_COPY_AS_ARRAY 1
 
 #ifndef __cplusplus
 # define G_HAVE_ISO_VARARGS 1
@@ -156,18 +157,18 @@
 #define GUINT64_TO_LE(val)	((guint64) (val))
 #define GINT64_TO_BE(val)	((gint64) GUINT64_SWAP_LE_BE (val))
 #define GUINT64_TO_BE(val)	(GUINT64_SWAP_LE_BE (val))
-#define GLONG_TO_LE(val)	((glong) GINT32_TO_LE (val))
-#define GULONG_TO_LE(val)	((gulong) GUINT32_TO_LE (val))
-#define GLONG_TO_BE(val)	((glong) GINT32_TO_BE (val))
-#define GULONG_TO_BE(val)	((gulong) GUINT32_TO_BE (val))
+#define GLONG_TO_LE(val)	((glong) GINT64_TO_LE (val))
+#define GULONG_TO_LE(val)	((gulong) GUINT64_TO_LE (val))
+#define GLONG_TO_BE(val)	((glong) GINT64_TO_BE (val))
+#define GULONG_TO_BE(val)	((gulong) GUINT64_TO_BE (val))
 #define GINT_TO_LE(val)		((gint) GINT32_TO_LE (val))
 #define GUINT_TO_LE(val)	((guint) GUINT32_TO_LE (val))
 #define GINT_TO_BE(val)		((gint) GINT32_TO_BE (val))
 #define GUINT_TO_BE(val)	((guint) GUINT32_TO_BE (val))
-#define GSIZE_TO_LE(val)	((gsize) GUINT32_TO_LE (val))
-#define GSSIZE_TO_LE(val)	((gssize) GINT32_TO_LE (val))
-#define GSIZE_TO_BE(val)	((gsize) GUINT32_TO_BE (val))
-#define GSSIZE_TO_BE(val)	((gssize) GINT32_TO_BE (val))
+#define GSIZE_TO_LE(val)	((gsize) GUINT64_TO_LE (val))
+#define GSSIZE_TO_LE(val)	((gssize) GINT64_TO_LE (val))
+#define GSIZE_TO_BE(val)	((gsize) GUINT64_TO_BE (val))
+#define GSSIZE_TO_BE(val)	((gssize) GINT64_TO_BE (val))
 #define G_BYTE_ORDER G_LITTLE_ENDIAN
 
 #define GLIB_SYSDEF_POLLIN =1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment