summaryrefslogtreecommitdiffhomepage
path: root/dev/LibC++
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-03-01 08:53:02 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-03-01 08:53:02 +0100
commitedc661ccfcba5f7aa5b3582db6295d109f69e381 (patch)
tree96e3a400b13395c23ae4cda78c5b056e5d78e2d8 /dev/LibC++
parent00ccc4cfdd391e2f37e601c55af7a55081ac73d9 (diff)
LCRT: Update symbol of __libcompiler_unreachable and implement it.
Diffstat (limited to 'dev/LibC++')
-rw-r--r--dev/LibC++/lc_runtime+unreachable.cc13
-rw-r--r--dev/LibC++/lc_runtime.h4
-rw-r--r--dev/LibC++/power64.inc58
3 files changed, 46 insertions, 29 deletions
diff --git a/dev/LibC++/lc_runtime+unreachable.cc b/dev/LibC++/lc_runtime+unreachable.cc
new file mode 100644
index 0000000..ca1e26d
--- /dev/null
+++ b/dev/LibC++/lc_runtime+unreachable.cc
@@ -0,0 +1,13 @@
+/* -------------------------------------------
+ \
+ Copyright (C) 2025 Amlal EL Mahrouss, all rights reserved. \
+ \
+------------------------------------------- */
+
+
+#include <LibC++/lc_runtime.h>
+
+extern "C" void __libcompiler_unreachable(void)
+{
+ while (true);
+} \ No newline at end of file
diff --git a/dev/LibC++/lc_runtime.h b/dev/LibC++/lc_runtime.h
index c98fefe..ce9151e 100644
--- a/dev/LibC++/lc_runtime.h
+++ b/dev/LibC++/lc_runtime.h
@@ -6,8 +6,8 @@
#pragma once
-#ifdef __cplusplus
+#ifdef __LIBCOMPILER__
-extern "C" void __cxx_libcompiler_unreachable(void);
+extern "C" void __libcompiler_unreachable(void);
#endif \ No newline at end of file
diff --git a/dev/LibC++/power64.inc b/dev/LibC++/power64.inc
index f3fd0ee..79dc923 100644
--- a/dev/LibC++/power64.inc
+++ b/dev/LibC++/power64.inc
@@ -2,34 +2,38 @@
# Language: LibCompiler POWER Assembly support for GNU.
# Build Date: 2024-6-4
-%ifdef __LIBCOMPILER__
+#ifdef __LIBCOMPILER__
-%define lda li
-%define sta stw
-%define ldw li
+#ifdef __ASSEMBLER__
-%define r0 0
-%define r1 1
-%define r2 2
-%define r3 3
-%define r4 4
-%define r5 5
-%define r6 6
-%define r7 7
-%define r8 8
-%define r9 9
-%define r10 10
-%define r11 11
-%define r12 12
-%define r13 13
-%define r14 14
-%define r15 15
-%define r16 16
-%define r17 17
-%define r18 18
-%define r19 19
-%define r20 20
+#define lda li
+#define sta stw
+#define ldw li
-%endif
+#define r0 0
+#define r1 1
+#define r2 2
+#define r3 3
+#define r4 4
+#define r5 5
+#define r6 6
+#define r7 7
+#define r8 8
+#define r9 9
+#define r10 10
+#define r11 11
+#define r12 12
+#define r13 13
+#define r14 14
+#define r15 15
+#define r16 16
+#define r17 17
+#define r18 18
+#define r19 19
+#define r20 20
-%define nop mr 0, 0
+#define nop mr 0, 0
+
+#endif
+
+#endif