diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-03-01 08:53:02 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-03-01 08:53:02 +0100 |
| commit | edc661ccfcba5f7aa5b3582db6295d109f69e381 (patch) | |
| tree | 96e3a400b13395c23ae4cda78c5b056e5d78e2d8 /dev/LibC++ | |
| parent | 00ccc4cfdd391e2f37e601c55af7a55081ac73d9 (diff) | |
LCRT: Update symbol of __libcompiler_unreachable and implement it.
Diffstat (limited to 'dev/LibC++')
| -rw-r--r-- | dev/LibC++/lc_runtime+unreachable.cc | 13 | ||||
| -rw-r--r-- | dev/LibC++/lc_runtime.h | 4 | ||||
| -rw-r--r-- | dev/LibC++/power64.inc | 58 |
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 |
