From 9ec813a892ba2336e10f90a169b62fdbcc239f40 Mon Sep 17 00:00:00 2001
From: Virgile Prevosto <virgile.prevosto@m4x.org>
Date: Fri, 17 Feb 2023 18:13:27 +0100
Subject: [PATCH] [machdep] first attempt at json machdeps for standard archs

---
 share/machdeps/machdep_gcc_x86_16.json | 32 ++++++++++++++++++++++++++
 share/machdeps/machdep_gcc_x86_32.json | 32 ++++++++++++++++++++++++++
 share/machdeps/machdep_gcc_x86_64.json | 32 ++++++++++++++++++++++++++
 share/machdeps/machdep_ppc_32.json     | 32 ++++++++++++++++++++++++++
 share/machdeps/machdep_x86_16.json     | 32 ++++++++++++++++++++++++++
 share/machdeps/machdep_x86_32.json     | 32 ++++++++++++++++++++++++++
 share/machdeps/machdep_x86_64.json     | 32 ++++++++++++++++++++++++++
 7 files changed, 224 insertions(+)
 create mode 100644 share/machdeps/machdep_gcc_x86_16.json
 create mode 100644 share/machdeps/machdep_gcc_x86_32.json
 create mode 100644 share/machdeps/machdep_gcc_x86_64.json
 create mode 100644 share/machdeps/machdep_ppc_32.json
 create mode 100644 share/machdeps/machdep_x86_16.json
 create mode 100644 share/machdeps/machdep_x86_32.json
 create mode 100644 share/machdeps/machdep_x86_64.json

diff --git a/share/machdeps/machdep_gcc_x86_16.json b/share/machdeps/machdep_gcc_x86_16.json
new file mode 100644
index 00000000000..5ec8ff10e5b
--- /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 00000000000..ac118c16125
--- /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 00000000000..40a9f3a209e
--- /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 00000000000..5e5a767911c
--- /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 00000000000..93ac4281b31
--- /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 00000000000..f0165c1d03e
--- /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 00000000000..d90f095c7ef
--- /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"
+}
-- 
GitLab