diff --git a/share/machdeps/machdep_gcc_x86_16.json b/share/machdeps/machdep_gcc_x86_16.json
new file mode 100644
index 0000000000000000000000000000000000000000..5ec8ff10e5b76fac0365474430217df74c6dc7ef
--- /dev/null
+++ b/share/machdeps/machdep_gcc_x86_16.json
@@ -0,0 +1,32 @@
+{
+    "alignof_aligned": 16,
+    "alignof_double": 4,
+    "alignof_float": 4,
+    "alignof_fun": 1,
+    "alignof_int": 4,
+    "alignof_long": 4,
+    "alignof_longdouble": 4,
+    "alignof_longlong": 4,
+    "alignof_ptr": 4,
+    "alignof_short": 2,
+    "alignof_str": 1,
+    "char_is_unsigned": false,
+    "compiler": "gcc",
+    "cpp_arch_flags": "-m16",
+    "has__builtin_va_list": true,
+    "little_endian": true,
+    "ptrdiff_t": "int",
+    "size_t": "unsigned int",
+    "sizeof_double": 8,
+    "sizeof_float": 4,
+    "sizeof_fun": 1,
+    "sizeof_int": 4,
+    "sizeof_long": 4,
+    "sizeof_longdouble": 12,
+    "sizeof_longlong": 8,
+    "sizeof_ptr": 4,
+    "sizeof_short": 2,
+    "sizeof_void": 1,
+    "version": "gcc (GCC) 12.2.1 20230201",
+    "wchar_t": "long"
+}
diff --git a/share/machdeps/machdep_gcc_x86_32.json b/share/machdeps/machdep_gcc_x86_32.json
new file mode 100644
index 0000000000000000000000000000000000000000..ac118c16125b327e27db9333372aa98d5f01af0a
--- /dev/null
+++ b/share/machdeps/machdep_gcc_x86_32.json
@@ -0,0 +1,32 @@
+{
+    "alignof_aligned": 16,
+    "alignof_double": 4,
+    "alignof_float": 4,
+    "alignof_fun": 1,
+    "alignof_int": 4,
+    "alignof_long": 4,
+    "alignof_longdouble": 4,
+    "alignof_longlong": 4,
+    "alignof_ptr": 4,
+    "alignof_short": 2,
+    "alignof_str": 1,
+    "char_is_unsigned": false,
+    "compiler": "gcc",
+    "cpp_arch_flags": "-m32",
+    "has__builtin_va_list": true,
+    "little_endian": true,
+    "ptrdiff_t": "int",
+    "size_t": "unsigned int",
+    "sizeof_double": 8,
+    "sizeof_float": 4,
+    "sizeof_fun": 1,
+    "sizeof_int": 4,
+    "sizeof_long": 4,
+    "sizeof_longdouble": 12,
+    "sizeof_longlong": 8,
+    "sizeof_ptr": 4,
+    "sizeof_short": 2,
+    "sizeof_void": 1,
+    "version": "gcc (GCC) 12.2.1 20230201",
+    "wchar_t": "long"
+}
\ No newline at end of file
diff --git a/share/machdeps/machdep_gcc_x86_64.json b/share/machdeps/machdep_gcc_x86_64.json
new file mode 100644
index 0000000000000000000000000000000000000000..40a9f3a209ea06ae566bf6d907b111b7b898f950
--- /dev/null
+++ b/share/machdeps/machdep_gcc_x86_64.json
@@ -0,0 +1,32 @@
+{
+    "alignof_aligned": 16,
+    "alignof_double": 8,
+    "alignof_float": 4,
+    "alignof_fun": 1,
+    "alignof_int": 4,
+    "alignof_long": 8,
+    "alignof_longdouble": 16,
+    "alignof_longlong": 8,
+    "alignof_ptr": 8,
+    "alignof_short": 2,
+    "alignof_str": 1,
+    "char_is_unsigned": false,
+    "compiler": "gcc",
+    "cpp_arch_flags": "-m64",
+    "has__builtin_va_list": false,
+    "little_endian": true,
+    "ptrdiff_t": "long",
+    "size_t": "unsigned long",
+    "sizeof_double": 8,
+    "sizeof_float": 4,
+    "sizeof_fun": 1,
+    "sizeof_int": 4,
+    "sizeof_long": 8,
+    "sizeof_longdouble": 16,
+    "sizeof_longlong": 8,
+    "sizeof_ptr": 8,
+    "sizeof_short": 2,
+    "sizeof_void": 1,
+    "version": "gcc (GCC) 12.2.1 20230201",
+    "wchar_t": "int"
+}
\ No newline at end of file
diff --git a/share/machdeps/machdep_ppc_32.json b/share/machdeps/machdep_ppc_32.json
new file mode 100644
index 0000000000000000000000000000000000000000..5e5a767911ce8c4d190b42032f15f822b0ea6389
--- /dev/null
+++ b/share/machdeps/machdep_ppc_32.json
@@ -0,0 +1,32 @@
+{
+    "alignof_aligned": 16,
+    "alignof_double": 8,
+    "alignof_float": 4,
+    "alignof_fun": 4,
+    "alignof_int": 4,
+    "alignof_long": 4,
+    "alignof_longdouble": 16,
+    "alignof_longlong": 8,
+    "alignof_ptr": 4,
+    "alignof_short": 2,
+    "alignof_str": 1,
+    "char_is_unsigned": true,
+    "compiler": "clang",
+    "cpp_arch_flags": "-target ppc32",
+    "has__builtin_va_list": true,
+    "little_endian": false,
+    "ptrdiff_t": "long",
+    "size_t": "unsigned long",
+    "sizeof_double": 8,
+    "sizeof_float": 4,
+    "sizeof_fun": 1,
+    "sizeof_int": 4,
+    "sizeof_long": 4,
+    "sizeof_longdouble": 16,
+    "sizeof_longlong": 8,
+    "sizeof_ptr": 4,
+    "sizeof_short": 2,
+    "sizeof_void": 1,
+    "version": "clang version 15.0.7",
+    "wchar_t": "int"
+}
\ No newline at end of file
diff --git a/share/machdeps/machdep_x86_16.json b/share/machdeps/machdep_x86_16.json
new file mode 100644
index 0000000000000000000000000000000000000000..93ac4281b31a76a46b9316c9330f14f83c249b44
--- /dev/null
+++ b/share/machdeps/machdep_x86_16.json
@@ -0,0 +1,32 @@
+{
+    "alignof_aligned": 16,
+    "alignof_double": 4,
+    "alignof_float": 4,
+    "alignof_fun": -1,
+    "alignof_int": 4,
+    "alignof_long": 4,
+    "alignof_longdouble": 4,
+    "alignof_longlong": 4,
+    "alignof_ptr": 4,
+    "alignof_short": 2,
+    "alignof_str": 1,
+    "char_is_unsigned": false,
+    "compiler": "gcc",
+    "cpp_arch_flags": "-m16",
+    "has__builtin_va_list": true,
+    "little_endian": true,
+    "ptrdiff_t": "int",
+    "size_t": "unsigned int",
+    "sizeof_double": 8,
+    "sizeof_float": 4,
+    "sizeof_fun": -1,
+    "sizeof_int": 4,
+    "sizeof_long": 4,
+    "sizeof_longdouble": 12,
+    "sizeof_longlong": 8,
+    "sizeof_ptr": 4,
+    "sizeof_short": 2,
+    "sizeof_void": -1,
+    "version": "gcc (GCC) 12.2.1 20230201",
+    "wchar_t": "long"
+}
diff --git a/share/machdeps/machdep_x86_32.json b/share/machdeps/machdep_x86_32.json
new file mode 100644
index 0000000000000000000000000000000000000000..f0165c1d03e36aa49b193bb29f38dc33d500f6aa
--- /dev/null
+++ b/share/machdeps/machdep_x86_32.json
@@ -0,0 +1,32 @@
+{
+    "alignof_aligned": 16,
+    "alignof_double": 4,
+    "alignof_float": 4,
+    "alignof_fun": -1,
+    "alignof_int": 4,
+    "alignof_long": 4,
+    "alignof_longdouble": 4,
+    "alignof_longlong": 4,
+    "alignof_ptr": 4,
+    "alignof_short": 2,
+    "alignof_str": 1,
+    "char_is_unsigned": false,
+    "compiler": "generic",
+    "cpp_arch_flags": "-m32",
+    "has__builtin_va_list": true,
+    "little_endian": true,
+    "ptrdiff_t": "int",
+    "size_t": "unsigned int",
+    "sizeof_double": 8,
+    "sizeof_float": 4,
+    "sizeof_fun": -1,
+    "sizeof_int": 4,
+    "sizeof_long": 4,
+    "sizeof_longdouble": 12,
+    "sizeof_longlong": 8,
+    "sizeof_ptr": 4,
+    "sizeof_short": 2,
+    "sizeof_void": -1,
+    "version": "gcc (GCC) 12.2.1 20230201",
+    "wchar_t": "long"
+}
diff --git a/share/machdeps/machdep_x86_64.json b/share/machdeps/machdep_x86_64.json
new file mode 100644
index 0000000000000000000000000000000000000000..d90f095c7ef5a781e55302d9053e97613206c671
--- /dev/null
+++ b/share/machdeps/machdep_x86_64.json
@@ -0,0 +1,32 @@
+{
+    "alignof_aligned": 16,
+    "alignof_double": 8,
+    "alignof_float": 4,
+    "alignof_fun": -1,
+    "alignof_int": 4,
+    "alignof_long": 8,
+    "alignof_longdouble": 16,
+    "alignof_longlong": 8,
+    "alignof_ptr": 8,
+    "alignof_short": 2,
+    "alignof_str": 1,
+    "char_is_unsigned": false,
+    "compiler": "generic",
+    "cpp_arch_flags": "-m64",
+    "has__builtin_va_list": true,
+    "little_endian": true,
+    "ptrdiff_t": "long",
+    "size_t": "unsigned long",
+    "sizeof_double": 8,
+    "sizeof_float": 4,
+    "sizeof_fun": -1,
+    "sizeof_int": 4,
+    "sizeof_long": 8,
+    "sizeof_longdouble": 16,
+    "sizeof_longlong": 8,
+    "sizeof_ptr": 8,
+    "sizeof_short": 2,
+    "sizeof_void": -1,
+    "version": "clang version 15.0.7",
+    "wchar_t": "int"
+}