Merge pull request #2490 from blshkv/master

edb-debugger
This commit is contained in:
github-actions[bot] 2025-08-10 23:14:20 +00:00 committed by GitHub
commit 5bc18bea86
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 258 additions and 0 deletions

View file

@ -0,0 +1 @@
DIST edb-debugger-1.3.0.tgz 618227 BLAKE2B 1650e727851b629d7778c8488a464b6439f2ac4e5a72c0738cfe1ee302538b0d97dcbf9587a1108a82f8f8f4a6bec273e31ad454063f70704ffb48ca8ba5b73f SHA512 9d813bb61cdc7b61b594e63834ffb3999d3e1bb0c7a435095efea9b3b6726369a06c553ba6633df160d9456758ff54d5eee8cfbee6a1304f3a01d09fe2c7a65d

View file

@ -0,0 +1,56 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
DESCRIPTION="edb is a cross platform x86/x86-64 debugger, inspired by Ollydbg"
HOMEPAGE="https://github.com/eteran/edb-debugger"
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/eteran/edb-debugger"
inherit git-r3
else
SRC_URI="https://github.com/eteran/edb-debugger/releases/download/${PV}/edb-debugger-${PV}.tgz"
S="${WORKDIR}"/${PN}
KEYWORDS="~amd64 ~x86"
fi
LICENSE="GPL-2+"
SLOT="0"
IUSE="graphviz"
RDEPEND="dev-libs/capstone:=
dev-libs/double-conversion:=
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
dev-qt/qtxml:5
dev-qt/qtxmlpatterns:5
graphviz? ( media-gfx/graphviz )"
DEPEND="dev-libs/boost
${RDEPEND}"
BDEPEND="virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${P}-gcc12.patch
"${FILESDIR}"/${PN}-1.3.0-capstone-5.patch
"${FILESDIR}"/${PN}-1.3.0-gcc13.patch
)
src_prepare() {
# Make the desktop's entries somewhat better
sed -i -e 's/GenericName=edb debugger/GenericName=Evan\x27s Debugger/' edb.desktop || die
sed -i -e 's/Comment=edb debugger/Comment=edb is a cross platform x86\/x86-64 debugger/' edb.desktop || die
if ! use graphviz; then
sed -i -e '/pkg_check_modules(GRAPHVIZ/d' CMakeLists.txt || die
fi
cmake_src_prepare
}

View file

@ -0,0 +1,50 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
DESCRIPTION="edb is a cross platform x86/x86-64 debugger, inspired by Ollydbg"
HOMEPAGE="https://github.com/eteran/edb-debugger"
if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/eteran/edb-debugger"
inherit git-r3
else
SRC_URI="https://github.com/eteran/edb-debugger/releases/download/${PV}/edb-debugger-${PV}.tgz"
S="${WORKDIR}"/${PN}
KEYWORDS="~amd64 ~x86"
fi
LICENSE="GPL-2+"
SLOT="0"
IUSE="graphviz"
RDEPEND="dev-libs/capstone:=
dev-libs/double-conversion:=
dev-qt/qtconcurrent:5
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtnetwork:5
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
dev-qt/qtxml:5
dev-qt/qtxmlpatterns:5
graphviz? ( media-gfx/graphviz )"
DEPEND="dev-libs/boost
${RDEPEND}"
BDEPEND="virtual/pkgconfig"
src_prepare() {
# Make the desktop's entries somewhat better
sed -i -e 's/GenericName=edb debugger/GenericName=Evan\x27s Debugger/' edb.desktop || die
sed -i -e 's/Comment=edb debugger/Comment=edb is a cross platform x86\/x86-64 debugger/' edb.desktop || die
if ! use graphviz; then
sed -i -e '/pkg_check_modules(GRAPHVIZ/d' CMakeLists.txt || die
fi
cmake_src_prepare
}

View file

@ -0,0 +1,29 @@
From cb1da3fb1d2e45e279118ee8e68468373b71dbc8 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Tue, 13 Sep 2022 17:52:01 +0100
Subject: [PATCH] Fix build with Capstone 5
Capstone 5 drops X86_INS_VCVTPD2DQX and X86_INS_VCVTPD2PSX from
x86.h (happened in https://github.com/capstone-engine/capstone/commit/dd91f03fef5102492352756e2adb5972dd79a70f
but no real explanation).
Given:
1. these instructions had no wiring up;
2. other Capstone consumers have done the same
let's drop based on a macro for the Capstone version.
Bug: https://bugs.gentoo.org/843755
Signed-off-by: Sam James <sam@gentoo.org>
--- a/src/capstone-edb/Instruction.cpp
+++ b/src/capstone-edb/Instruction.cpp
@@ -880,8 +880,10 @@ bool is_SIMD_PD(const Operand &operand) {
case X86_INS_CVTPD2PI:
case X86_INS_CVTPD2PS:
case X86_INS_VCVTPD2PS:
+#if CS_API_MAJOR < 5
case X86_INS_VCVTPD2DQX: // FIXME: what's this?
case X86_INS_VCVTPD2PSX: // FIXME: what's this?
+#endif
// case X86_INS_VCVTPD2QQ: // FIXME: Capstone seems to not support it
case X86_INS_VCVTPD2UDQ:
// case X86_INS_VCVTPD2UQQ: // FIXME: Capstone seems to not support it

View file

@ -0,0 +1,88 @@
https://github.com/eteran/edb-debugger/commit/da04c339559f82257ff54ea62b1d403ee98c1ba0
https://bugs.gentoo.org/841839
From da04c339559f82257ff54ea62b1d403ee98c1ba0 Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyich@gmail.com>
Date: Sat, 2 Apr 2022 22:36:50 +0000
Subject: [PATCH] Gcc 12 includes fix (#815)
* RegisterViewModelBase.h: add <memory> for unique_ptr
Without the change gcc-12 fails to build edb-debugger as:
[ 20%] Building CXX object src/CMakeFiles/edb.dir/RegisterViewModelBase.cpp.o
In file included from edb-debugger/src/RegisterViewModelBase.cpp:18:
edb-debugger/include/RegisterViewModelBase.h:162:14: error:
'unique_ptr' in namespace 'std' does not name a template type
162 | std::unique_ptr<CategoriesHolder> rootItem;
| ^~~~~~~~~~
edb-debugger/include/RegisterViewModelBase.h:9:1: note:
'std::unique_ptr' is defined in header '<memory>';
did you forget to '#include <memory>'?
8 | #include <deque>
+++ |+#include <memory>
* State.h: add <memory> for unique_ptr
Without the change gcc-12 fails to build edb-debugger as:
[ 21%] Building CXX object src/CMakeFiles/edb.dir/State.cpp.o
In file included from edb-debugger/src/State.cpp:19:
edb-debugger/include/State.h:93:14:
error: 'unique_ptr' in namespace 'std' does not name a template type
93 | std::unique_ptr<IState> impl_;
| ^~~~~~~~~~
edb-debugger/include/State.h:24:1:
note: 'std::unique_ptr' is defined in header '<memory>';
did you forget to '#include <memory>'?
23 | #include "Types.h"
+++ |+#include <memory>
24 |
* IState.h: add <memory> for unique_ptr
Without the change gcc-12 fails to build edb-debugger as:
[ 69%] Building CXX object plugins/DebuggerCore/CMakeFiles/DebuggerCore.dir/unix/linux/arch/x86-generic/PlatformState.cpp.o
In file included from edb-debugger/plugins/DebuggerCore/unix/linux/arch/x86-generic/PlatformState.h:22,
from edb-debugger/plugins/DebuggerCore/unix/linux/arch/x86-generic/PlatformState.cpp:19:
edb-debugger/include/IState.h:33:22:
error: 'unique_ptr' in namespace 'std' does not name a template type
33 | virtual std::unique_ptr<IState> clone() const = 0;
| ^~~~~~~~~~
edb-debugger/include/IState.h:23:1:
note: 'std::unique_ptr' is defined in header '<memory>';
did you forget to '#include <memory>'?
22 | #include "Register.h"
+++ |+#include <memory>
23 | #include "Types.h"
--- a/include/IState.h
+++ b/include/IState.h
@@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef ISTATE_H_20110315_
#define ISTATE_H_20110315_
+#include <memory>
#include "Register.h"
#include "Types.h"
--- a/include/RegisterViewModelBase.h
+++ b/include/RegisterViewModelBase.h
@@ -6,6 +6,7 @@
#include "util/Integer.h"
#include <QAbstractItemModel>
#include <deque>
+#include <memory>
#include <vector>
Q_DECLARE_METATYPE(std::vector<NumberDisplayMode>)
--- a/include/State.h
+++ b/include/State.h
@@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef STATE_H_20060715_
#define STATE_H_20060715_
+#include <memory>
#include "API.h"
#include "Types.h"

View file

@ -0,0 +1,26 @@
https://github.com/eteran/edb-debugger/pull/837
From 934de81a7799f3e1d210366e0eb5ea86d172ead4 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Sat, 15 Apr 2023 10:05:11 +0100
Subject: [PATCH] Fix build with GCC 13
GCC 13 (as usual for new compiler releases) shuffles around some internal includes so some
are no longer transitively included.
See https://gnu.org/software/gcc/gcc-13/porting_to.html.
Bug: https://bugs.gentoo.org/897890
--- a/plugins/DebuggerCore/unix/linux/FeatureDetect.cpp
+++ b/plugins/DebuggerCore/unix/linux/FeatureDetect.cpp
@@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "FeatureDetect.h"
#include "edb.h"
+#include <cstdint>
#include <fcntl.h>
#include <iomanip>
#include <iostream>
--
2.40.0

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
<remote-id type="github">eteran/edb-debugger</remote-id>
</upstream>
</pkgmetadata>