From 98868203d1acbb06f0a645b8b14de2198f71f646 Mon Sep 17 00:00:00 2001 From: Evan Teran Date: Fri, 28 Nov 2025 00:17:25 -0500 Subject: [PATCH 1/6] updating workflows to be slightly more modern --- .github/workflows/build.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 7ad55cdf3..663bb5196 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -11,8 +11,8 @@ env: BUILD_TYPE: Debug jobs: - build_ubuntu_20: - runs-on: ubuntu-20.04 + build_ubuntu_24: + runs-on: ubuntu-24.04 steps: - name: Install Dependencies run: sudo apt-get install -y libcapstone-dev libgraphviz-dev @@ -22,7 +22,7 @@ jobs: submodules: true - name: Install Qt - uses: jurplel/install-qt-action@v3 + uses: jurplel/install-qt-action@v4 with: version: "5.12.8" @@ -34,7 +34,6 @@ jobs: - name: Build # Build your program with the given configuration run: cmake --build ${{github.workspace}}/build --parallel 4 --config ${{env.BUILD_TYPE}} - # Disabled until both aqinstall and install-qt-action support the fixes… # build_windows: # runs-on: windows-latest From c2dc3416d8581abe64abd02c327697bc423a54c9 Mon Sep 17 00:00:00 2001 From: Evan Teran Date: Fri, 28 Nov 2025 00:22:24 -0500 Subject: [PATCH 2/6] unused functions --- src/Configuration.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Configuration.cpp b/src/Configuration.cpp index b3302036d..5378876a2 100644 --- a/src/Configuration.cpp +++ b/src/Configuration.cpp @@ -20,6 +20,7 @@ namespace { +#if 0 QDataStream &operator<<(QDataStream &s, const IBreakpoint::TypeId &id) { return s << static_cast(id); } @@ -30,6 +31,7 @@ QDataStream &operator>>(QDataStream &s, IBreakpoint::TypeId &id) { id = static_cast(value); return s; } +#endif //------------------------------------------------------------------------------ // Name: getDefaultPluginPath @@ -86,7 +88,7 @@ void Configuration::readSettings() { #ifdef Q_OS_WIN32 const QString default_font = QFont("Courier New", 8).toString(); #elif defined(Q_OS_MACX) - const QString default_font = QFont("Courier New", 10).toString(); + const QString default_font = QFont("Courier New", 10).toString(); #else const QString default_font = QFont("Monospace", 8).toString(); #endif From b3837084c2bea81a20f836658f951ce90dfaef6a Mon Sep 17 00:00:00 2001 From: Evan Teran Date: Fri, 28 Nov 2025 00:28:41 -0500 Subject: [PATCH 3/6] trying to fix CI/CD build --- src/Configuration.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Configuration.cpp b/src/Configuration.cpp index 5378876a2..65a37ab9a 100644 --- a/src/Configuration.cpp +++ b/src/Configuration.cpp @@ -5,6 +5,7 @@ */ #include "Configuration.h" +#include "IBreakpoint.h" #include "edb.h" #include @@ -20,7 +21,6 @@ namespace { -#if 0 QDataStream &operator<<(QDataStream &s, const IBreakpoint::TypeId &id) { return s << static_cast(id); } @@ -31,7 +31,6 @@ QDataStream &operator>>(QDataStream &s, IBreakpoint::TypeId &id) { id = static_cast(value); return s; } -#endif //------------------------------------------------------------------------------ // Name: getDefaultPluginPath From 876a38f9539a0c1119ab6af69fdc7c85a12e00f6 Mon Sep 17 00:00:00 2001 From: Evan Teran Date: Fri, 28 Nov 2025 00:34:26 -0500 Subject: [PATCH 4/6] is the issue the Qt version? --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 663bb5196..4552b8466 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -24,7 +24,7 @@ jobs: - name: Install Qt uses: jurplel/install-qt-action@v4 with: - version: "5.12.8" + version: "5.15.13" - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. From 1c9489715b9c2729406ef38e7117958af4e48409 Mon Sep 17 00:00:00 2001 From: Evan Teran Date: Fri, 28 Nov 2025 00:35:47 -0500 Subject: [PATCH 5/6] can i provide a slightly vague version? --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 4552b8466..a98377e0f 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -24,7 +24,7 @@ jobs: - name: Install Qt uses: jurplel/install-qt-action@v4 with: - version: "5.15.13" + version: "5.15" - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. From bedc2bedd3fbb4a1410a332415898b458cbe75a4 Mon Sep 17 00:00:00 2001 From: Evan Teran Date: Fri, 28 Nov 2025 00:41:49 -0500 Subject: [PATCH 6/6] simpler method of casting between breakpoint abstract type and int for settings --- .github/workflows/build.yaml | 5 ++++- src/Configuration.cpp | 18 +++--------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a98377e0f..da59c74b0 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -13,6 +13,9 @@ env: jobs: build_ubuntu_24: runs-on: ubuntu-24.04 + strategy: + matrix: + QT_VERSION: [5.12.8, 5.15.2] steps: - name: Install Dependencies run: sudo apt-get install -y libcapstone-dev libgraphviz-dev @@ -24,7 +27,7 @@ jobs: - name: Install Qt uses: jurplel/install-qt-action@v4 with: - version: "5.15" + version: ${{matrix.QT_VERSION}} - name: Configure CMake # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. diff --git a/src/Configuration.cpp b/src/Configuration.cpp index 65a37ab9a..711344af8 100644 --- a/src/Configuration.cpp +++ b/src/Configuration.cpp @@ -21,17 +21,6 @@ namespace { -QDataStream &operator<<(QDataStream &s, const IBreakpoint::TypeId &id) { - return s << static_cast(id); -} - -QDataStream &operator>>(QDataStream &s, IBreakpoint::TypeId &id) { - int value = 0; - s >> value; - id = static_cast(value); - return s; -} - //------------------------------------------------------------------------------ // Name: getDefaultPluginPath // Desc: return default path for plugins @@ -82,8 +71,6 @@ void Configuration::sendChangeNotification() { //------------------------------------------------------------------------------ void Configuration::readSettings() { - qRegisterMetaTypeStreamOperators("IBreakpoint::TypeId"); - #ifdef Q_OS_WIN32 const QString default_font = QFont("Courier New", 8).toString(); #elif defined(Q_OS_MACX) @@ -127,7 +114,8 @@ void Configuration::readSettings() { disableASLR = settings.value("debugger.disableASLR.enabled", false).toBool(); disableLazyBinding = settings.value("debugger.disableLazyBinding.enabled", false).toBool(); break_on_library_load = settings.value("debugger.break_on_library_load_event.enabled", false).toBool(); - default_breakpoint_type = settings.value("debugger.default_breakpoint_type", QVariant::fromValue(IBreakpoint::TypeId::Automatic)).value(); + default_breakpoint_type = static_cast(settings.value("debugger.default_breakpoint_type", static_cast(IBreakpoint::TypeId::Automatic)).value()); + settings.endGroup(); settings.beginGroup("Disassembly"); @@ -243,7 +231,7 @@ void Configuration::writeSettings() { settings.setValue("debugger.disableASLR.enabled", disableASLR); settings.setValue("debugger.disableLazyBinding.enabled", disableLazyBinding); settings.setValue("debugger.break_on_library_load_event.enabled", break_on_library_load); - settings.setValue("debugger.default_breakpoint_type", QVariant::fromValue(default_breakpoint_type)); + settings.setValue("debugger.default_breakpoint_type", static_cast(default_breakpoint_type)); settings.endGroup(); settings.beginGroup("Disassembly");