Index: libcfa/prelude/Makefile.am
===================================================================
--- libcfa/prelude/Makefile.am	(revision ef9f11cd3af63b99ea71ab41489d4e9eab7c075a)
+++ libcfa/prelude/Makefile.am	(revision b3ad342cebcf0570df8c80ad802450c7444caf9b)
@@ -11,6 +11,6 @@
 ## Created On       : Sun May 31 08:54:01 2015
 ## Last Modified By : Peter A. Buhr
-## Last Modified On : Wed Nov  1 21:09:25 2023
-## Update Count     : 221
+## Last Modified On : Sat Feb 15 12:17:19 2025
+## Update Count     : 233
 ###############################################################################
 
@@ -47,5 +47,5 @@
 
 gcc-builtins.c : ${srcdir}/builtins.def ${srcdir}/prototypes.awk ${srcdir}/sync-builtins.cfa ${srcdir}/prototypes.c
-	${AM_V_GEN}gcc -I${srcdir} -E ${srcdir}/prototypes.c | awk -f ${srcdir}/prototypes.awk > ${@}
+	${AM_V_GEN}gcc -I${srcdir} -E ${srcdir}/prototypes.c | awk -v wordsize="${AM_CFLAGS}" -f ${srcdir}/prototypes.awk > ${@}
 
 prelude.cfa : prelude-gen.cc
Index: libcfa/prelude/prototypes.awk
===================================================================
--- libcfa/prelude/prototypes.awk	(revision ef9f11cd3af63b99ea71ab41489d4e9eab7c075a)
+++ libcfa/prelude/prototypes.awk	(revision b3ad342cebcf0570df8c80ad802450c7444caf9b)
@@ -10,6 +10,6 @@
 # Created On       : Sat May 16 07:57:37 2015
 # Last Modified By : Peter A. Buhr
-# Last Modified On : Wed Nov  1 20:44:04 2023
-# Update Count     : 37
+# Last Modified On : Sat Feb 15 13:16:28 2025
+# Update Count     : 60
 #
 
@@ -30,7 +30,7 @@
 	types[i+=1] = "WINT";						vtypes[i] = "unsigned int"
 	types[i+=1] = "INT";						vtypes[i] = "int"
-	types[i+=1] = "ULONGLONG";					vtypes[i] = "unsigned long long"
-	types[i+=1] = "ULONG";						vtypes[i] = "unsigned long"
-	types[i+=1] = "UNSIGNED";					vtypes[i] = "unsigned"
+	types[i+=1] = "ULONGLONG";					vtypes[i] = "unsigned long long int"
+	types[i+=1] = "ULONG";						vtypes[i] = "unsigned long int"
+	types[i+=1] = "UNSIGNED";					vtypes[i] = "unsigned int"
 	types[i+=1] = "COMPLEX_LONGDOUBLE";			vtypes[i] = "_Complex long double"
 	types[i+=1] = "COMPLEX_DOUBLE";				vtypes[i] = "_Complex double"
@@ -38,6 +38,6 @@
 	types[i+=1] = "LONGDOUBLEPTR";				vtypes[i] = "long double *"
 	types[i+=1] = "LONGDOUBLE";					vtypes[i] = "long double"
-	types[i+=1] = "LONGLONG";					vtypes[i] = "long long"
-	types[i+=1] = "LONG";						vtypes[i] = "long"
+	types[i+=1] = "LONGLONG";					vtypes[i] = "long long int"
+	types[i+=1] = "LONG";						vtypes[i] = "long int"
 	types[i+=1] = "DFLOAT32";					vtypes[i] = "__Unsupported"
 	types[i+=1] = "DFLOAT64";					vtypes[i] = "__Unsupported"
@@ -67,5 +67,6 @@
 	types[i+=1] = "STRING";						vtypes[i] = "char *"
 	types[i+=1] = "FILEPTR";					vtypes[i] = "struct _IO_FILE *"
-	types[i+=1] = "SIZE";						vtypes[i] = "unsigned long"
+	types[i+=1] = "SIZE";						vtypes[i] = "unsigned long int"
+	size_t = i;
 	types[i+=1] = "VAR";						vtypes[i] = "..."
 	types[i+=1] = "VALIST_ARG";					vtypes[i] = "__builtin_va_list"
@@ -74,9 +75,10 @@
 	types[i+=1] = "WORD";						vtypes[i] = ""
 	types[i+=1] = "SSIZE";						vtypes[i] = "long int"
+	ssize_t = i;
 	types[i+=1] = "PID";						vtypes[i] = "int"
 	types[i+=1] = "I16";						vtypes[i] = "__int128"
 	types[i+=1] = "I8";							vtypes[i] = "long long int"
 	types[i+=1] = "I4";							vtypes[i] = "int"
-	types[i+=1] = "I2";							vtypes[i] = "short"
+	types[i+=1] = "I2";							vtypes[i] = "short int"
 	types[i+=1] = "I1";							vtypes[i] = "char"
 	N = i + 1
@@ -92,4 +94,10 @@
 
 END {
+	# variable wordsize passed from Makefile
+	if ( index( wordsize, "-m32" ) != 0 ) {		# adjust size_t/ssize_t for 32-bit build
+		vtypes[size_t] = "unsigned int"
+		vtypes[ssize_t] = "signed int"
+	} # if
+
 	printf( "#define DEF_BUILTIN(ENUM, NAME, CLASS, TYPE, LIBTYPE, BOTH_P, FALLBACK_P, NONANSI_P, ATTRS, IMPLICIT, COND) TYPE(NAME)\n" );
 	printf( "#define FUNC_SIMPLE(RETURN, NAME, ARGS...) RETURN NAME(ARGS);\n" );
