aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLaytan Laats <laytanlaats@hotmail.com>2024-08-12 17:05:51 +0200
committerLaytan Laats <laytanlaats@hotmail.com>2024-08-12 17:05:51 +0200
commitf22ff21039a7b0e8dc3165faa86105b9519c2256 (patch)
tree15423b1ee0cc750b5c915b70a9badf3e90c81568 /src
parentb71e0c2e3673b5b712847cf67e9a196a4d2d136b (diff)
fix max alignments
Diffstat (limited to 'src')
-rw-r--r--src/build_settings.cpp47
1 files changed, 26 insertions, 21 deletions
diff --git a/src/build_settings.cpp b/src/build_settings.cpp
index f7ff0ea09..82523d736 100644
--- a/src/build_settings.cpp
+++ b/src/build_settings.cpp
@@ -518,113 +518,118 @@ gb_internal isize MAX_ERROR_COLLECTOR_COUNT(void) {
#define AMD64_MAX_ALIGNMENT 8
#endif
+#if LLVM_VERSION_MAJOR >= 18
+ #define I386_MAX_ALIGNMENT 16
+#else
+ #define I386_MAX_ALIGNMENT 4
+#endif
+
gb_global TargetMetrics target_windows_i386 = {
TargetOs_windows,
TargetArch_i386,
- 4, 4, 4, 8,
+ 4, 4, I386_MAX_ALIGNMENT, 16,
str_lit("i386-pc-windows-msvc"),
};
gb_global TargetMetrics target_windows_amd64 = {
TargetOs_windows,
TargetArch_amd64,
- 8, 8, AMD64_MAX_ALIGNMENT, 16,
+ 8, 8, AMD64_MAX_ALIGNMENT, 32,
str_lit("x86_64-pc-windows-msvc"),
};
gb_global TargetMetrics target_linux_i386 = {
TargetOs_linux,
TargetArch_i386,
- 4, 4, 4, 8,
+ 4, 4, I386_MAX_ALIGNMENT, 16,
str_lit("i386-pc-linux-gnu"),
-
};
gb_global TargetMetrics target_linux_amd64 = {
TargetOs_linux,
TargetArch_amd64,
- 8, 8, AMD64_MAX_ALIGNMENT, 16,
+ 8, 8, AMD64_MAX_ALIGNMENT, 32,
str_lit("x86_64-pc-linux-gnu"),
};
gb_global TargetMetrics target_linux_arm64 = {
TargetOs_linux,
TargetArch_arm64,
- 8, 8, 16, 16,
+ 8, 8, 16, 32,
str_lit("aarch64-linux-elf"),
};
gb_global TargetMetrics target_linux_arm32 = {
TargetOs_linux,
TargetArch_arm32,
- 4, 4, 4, 8,
+ 4, 4, 8, 16,
str_lit("arm-unknown-linux-gnueabihf"),
};
gb_global TargetMetrics target_darwin_amd64 = {
TargetOs_darwin,
TargetArch_amd64,
- 8, 8, AMD64_MAX_ALIGNMENT, 16,
+ 8, 8, AMD64_MAX_ALIGNMENT, 32,
str_lit("x86_64-apple-macosx"), // NOTE: Changes during initialization based on build flags.
};
gb_global TargetMetrics target_darwin_arm64 = {
TargetOs_darwin,
TargetArch_arm64,
- 8, 8, 16, 16,
+ 8, 8, 16, 32,
str_lit("arm64-apple-macosx"), // NOTE: Changes during initialization based on build flags.
};
gb_global TargetMetrics target_freebsd_i386 = {
TargetOs_freebsd,
TargetArch_i386,
- 4, 4, 4, 8,
+ 4, 4, I386_MAX_ALIGNMENT, 16,
str_lit("i386-unknown-freebsd-elf"),
};
gb_global TargetMetrics target_freebsd_amd64 = {
TargetOs_freebsd,
TargetArch_amd64,
- 8, 8, AMD64_MAX_ALIGNMENT, 16,
+ 8, 8, AMD64_MAX_ALIGNMENT, 32,
str_lit("x86_64-unknown-freebsd-elf"),
};
gb_global TargetMetrics target_freebsd_arm64 = {
TargetOs_freebsd,
TargetArch_arm64,
- 8, 8, 16, 16,
+ 8, 8, 16, 32,
str_lit("aarch64-unknown-freebsd-elf"),
};
gb_global TargetMetrics target_openbsd_amd64 = {
TargetOs_openbsd,
TargetArch_amd64,
- 8, 8, AMD64_MAX_ALIGNMENT, 16,
+ 8, 8, AMD64_MAX_ALIGNMENT, 32,
str_lit("x86_64-unknown-openbsd-elf"),
};
gb_global TargetMetrics target_netbsd_amd64 = {
TargetOs_netbsd,
TargetArch_amd64,
- 8, 8, AMD64_MAX_ALIGNMENT, 16,
+ 8, 8, AMD64_MAX_ALIGNMENT, 32,
str_lit("x86_64-unknown-netbsd-elf"),
};
gb_global TargetMetrics target_netbsd_arm64 = {
TargetOs_netbsd,
TargetArch_arm64,
- 8, 8, 16, 16,
+ 8, 8, 16, 32,
str_lit("aarch64-unknown-netbsd-elf"),
};
gb_global TargetMetrics target_haiku_amd64 = {
TargetOs_haiku,
TargetArch_amd64,
- 8, 8, AMD64_MAX_ALIGNMENT, 16,
+ 8, 8, AMD64_MAX_ALIGNMENT, 32,
str_lit("x86_64-unknown-haiku"),
};
gb_global TargetMetrics target_essence_amd64 = {
TargetOs_essence,
TargetArch_amd64,
- 8, 8, AMD64_MAX_ALIGNMENT, 16,
+ 8, 8, AMD64_MAX_ALIGNMENT, 32,
str_lit("x86_64-pc-none-elf"),
};
@@ -685,7 +690,7 @@ gb_global TargetMetrics target_wasi_wasm64p32 = {
gb_global TargetMetrics target_freestanding_amd64_sysv = {
TargetOs_freestanding,
TargetArch_amd64,
- 8, 8, AMD64_MAX_ALIGNMENT, 16,
+ 8, 8, AMD64_MAX_ALIGNMENT, 32,
str_lit("x86_64-pc-none-gnu"),
TargetABI_SysV,
};
@@ -693,7 +698,7 @@ gb_global TargetMetrics target_freestanding_amd64_sysv = {
gb_global TargetMetrics target_freestanding_amd64_win64 = {
TargetOs_freestanding,
TargetArch_amd64,
- 8, 8, AMD64_MAX_ALIGNMENT, 16,
+ 8, 8, AMD64_MAX_ALIGNMENT, 32,
str_lit("x86_64-pc-none-msvc"),
TargetABI_Win64,
};
@@ -701,14 +706,14 @@ gb_global TargetMetrics target_freestanding_amd64_win64 = {
gb_global TargetMetrics target_freestanding_arm64 = {
TargetOs_freestanding,
TargetArch_arm64,
- 8, 8, 16, 16,
+ 8, 8, 16, 32,
str_lit("aarch64-none-elf"),
};
gb_global TargetMetrics target_freestanding_arm32 = {
TargetOs_freestanding,
TargetArch_arm32,
- 4, 4, 4, 8,
+ 4, 4, 8, 16,
str_lit("arm-unknown-unknown-gnueabihf"),
};