mirror of
https://github.com/SerenityOS/serenity.git
synced 2026-11-07 04:29:30 -10:00
While `pc` is not particularly wrong on x86_64, it's nonsensical on other supported platforms, namely aarch64 and riscv64. For consistency, we now don't use this vendor anymore, regardless of the platform. Within the LLVM project, we now build as `$arch-serenity`. This is enough in most cases, the only place where we have to specify a vendor is the target .cfg file where we use `$arch-unknown-serenity`. When building GCC and friends, again we simply identify as `$arch-serenity` and this is enough. As a result, the tools in Toolchain/Local/$arch/bin are now named after this pattern: `$arch-serenity-$tool`. These changes affect the toolchain build scripts, serenity's build scripts and the Ports. The last place where we should see `x86_64-pc-serenity` is the output of `config.sub`, which assume the vendor is `pc` on vendor-less `x86*` triples. So `x86_64-serenity` is expanded to `x86_64-pc-serenity`, luckily enough and AFAICT, the whole GNU ecosystem considers `pc`, `unknown` and vendor-less target triples the same. So `configure` shouldn't have an issue finding the right tools anyway. The gn files were edited with sed and are not tested. This commit also includes a check in `Meta/serenity.sh` to give a nicer error message when trying to build the system with an old toolchain. ---- To test this patch, on a clean tree I: - Ran `./Meta/serenity.sh x86_64 GNU` - Ran `./Toolchain/BuildJakt.sh` - Tested these ports: python3(configure based), libjxl(cmake based) and rizin(meson based) - Also booted on aarch64 and risv64 I also repeated the steps above with a Clang toolchain. On a working tree I tested all the affected ports, the results are: - tinycc build fine but can't compile programs, I observed the same on master. - gdb and epsilon don't build but report the same errors as on master. - I manually edited the libgpg-error, and it builds fine. - The gcc port works fine.
34 lines
1.0 KiB
Diff
34 lines
1.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Gunnar Beutner <[email protected]>
|
|
Date: Wed, 14 Apr 2021 04:32:34 +0200
|
|
Subject: [PATCH] Stub out the gpgrt lock impl
|
|
|
|
---
|
|
.../lock-obj-pub.x86_64-unknown-serenity.h | 17 +++++++++++++++++
|
|
1 file changed, 17 insertions(+)
|
|
create mode 100644 src/syscfg/lock-obj-pub.x86_64-unknown-serenity.h
|
|
|
|
diff --git a/src/syscfg/lock-obj-pub.x86_64-unknown-serenity.h b/src/syscfg/lock-obj-pub.x86_64-unknown-serenity.h
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..390b9dd12afc823e35f940085e43218393d9955b
|
|
--- /dev/null
|
|
+++ b/src/syscfg/lock-obj-pub.x86_64-unknown-serenity.h
|
|
@@ -0,0 +1,17 @@
|
|
+## lock-obj-pub.x86_64-unknown-serenity.h - NO LOCK SUPPORT
|
|
+## File created by gen-posix-lock-obj - DO NOT EDIT
|
|
+## To be included by mkheader into gpg-error.h
|
|
+
|
|
+/* Dummy object - no locking available. */
|
|
+typedef struct
|
|
+{
|
|
+ long _vers;
|
|
+} gpgrt_lock_t;
|
|
+
|
|
+#define GPGRT_LOCK_INITIALIZER {-1}
|
|
+##
|
|
+## Local Variables:
|
|
+## mode: c
|
|
+## buffer-read-only: t
|
|
+## End:
|
|
+##
|