mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
44 lines
2.3 KiB
Diff
44 lines
2.3 KiB
Diff
From 1cf1b2482d29ee87ca206b86f247a92c90e11b0a Mon Sep 17 00:00:00 2001
|
|
From: Ryan Schmidt <ryandesign@macports.org>
|
|
Date: Tue, 12 Apr 2022 14:27:31 -0500
|
|
Subject: [PATCH] Improve Mac PowerPC support (#631)
|
|
|
|
--- lib/doctest/doctest/doctest.h
|
|
+++ lib/doctest/doctest/doctest.h
|
|
@@ -426,6 +426,9 @@ namespace doctest { namespace detail {
|
|
#elif defined(DOCTEST_PLATFORM_MAC)
|
|
#if defined(__x86_64) || defined(__x86_64__) || defined(__amd64__) || defined(__i386)
|
|
#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT (hicpp-no-assembler)
|
|
+#elif defined(__ppc__) || defined(__ppc64__)
|
|
+// https://www.cocoawithlove.com/2008/03/break-into-debugger.html
|
|
+#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("li r0, 20\nsc\nnop\nli r0, 37\nli r4, 2\nsc\nnop\n": : : "memory","r0","r3","r4") // NOLINT (hicpp-no-assembler)
|
|
#else
|
|
#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("brk #0"); // NOLINT (hicpp-no-assembler)
|
|
#endif
|
|
|
|
--- tests/include/doctest.h
|
|
+++ tests/include/doctest.h
|
|
@@ -426,6 +426,9 @@ namespace doctest { namespace detail {
|
|
#elif defined(DOCTEST_PLATFORM_MAC)
|
|
#if defined(__x86_64) || defined(__x86_64__) || defined(__amd64__) || defined(__i386)
|
|
#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT (hicpp-no-assembler)
|
|
+#elif defined(__ppc__) || defined(__ppc64__)
|
|
+// https://www.cocoawithlove.com/2008/03/break-into-debugger.html
|
|
+#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("li r0, 20\nsc\nnop\nli r0, 37\nli r4, 2\nsc\nnop\n": : : "memory","r0","r3","r4") // NOLINT (hicpp-no-assembler)
|
|
#else
|
|
#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("brk #0"); // NOLINT (hicpp-no-assembler)
|
|
#endif
|
|
|
|
--- lib/doctest/doctest/parts/doctest_fwd.h
|
|
+++ lib/doctest/doctest/parts/doctest_fwd.h
|
|
@@ -423,6 +423,9 @@ namespace doctest { namespace detail {
|
|
#elif defined(DOCTEST_PLATFORM_MAC)
|
|
#if defined(__x86_64) || defined(__x86_64__) || defined(__amd64__) || defined(__i386)
|
|
#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT (hicpp-no-assembler)
|
|
+#elif defined(__ppc__) || defined(__ppc64__)
|
|
+// https://www.cocoawithlove.com/2008/03/break-into-debugger.html
|
|
+#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("li r0, 20\nsc\nnop\nli r0, 37\nli r4, 2\nsc\nnop\n": : : "memory","r0","r3","r4") // NOLINT (hicpp-no-assembler)
|
|
#else
|
|
#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("brk #0"); // NOLINT (hicpp-no-assembler)
|
|
#endif
|