summaryrefslogtreecommitdiff
path: root/dev-libs/capstone
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-10-10 19:34:30 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-10-10 19:34:30 +0100
commit948f9476d6a417da6048d4291bf36b0507293d63 (patch)
tree794c4cb065d606084053aeadc0b6a44bce61a6f6 /dev-libs/capstone
parentbba7ed73af4fe3b333cb970dc40a9098e2d1c54b (diff)
gentoo auto-resync : 10:10:2022 - 19:34:30
Diffstat (limited to 'dev-libs/capstone')
-rw-r--r--dev-libs/capstone/Manifest2
-rw-r--r--dev-libs/capstone/capstone-5.0_rc2-r2.ebuild83
-rw-r--r--dev-libs/capstone/files/capstone-5.0_rc2-oob-mem-access.patch40
3 files changed, 125 insertions, 0 deletions
diff --git a/dev-libs/capstone/Manifest b/dev-libs/capstone/Manifest
index b7f02d00b348..bbb464765bc9 100644
--- a/dev-libs/capstone/Manifest
+++ b/dev-libs/capstone/Manifest
@@ -1,8 +1,10 @@
AUX capstone-4.0.2-libsuffix.patch 347 BLAKE2B 5478a08d072cff0873c3410ce99dcf20c7aa12594148102498c7d0ed3216af95712f0daef5e9484d1faf368b93b2b014832ead5466d60d139e9ed7bb2bd1ed02 SHA512 81ffee2dc4a406e980025402dc3f8bee886cba9f305312e03c735d4b47e69887e90240274ae1949ff9900ba2a66413d33e7ef7a9ebb83a3dc9d2769f3d008395
+AUX capstone-5.0_rc2-oob-mem-access.patch 1353 BLAKE2B 67e19e22f466d2081b5f2b3122cc2ca8eed27c3b59c9b4d5ed3f07fba66c34d67305ced9de3e4c80ae6117935a90eb4b030ec7cdbf6da1ad0d4c1ff0b24a964e SHA512 048cf06c0408eddbe994dc7f59ab086575f8b14b83857d22ad48198c75261eea218f20a8615d26b7c974914f8b494b4a05c84c8b6b273464f90a40d14d0a9b8e
AUX capstone-5.0_rc2-pkgconfig.patch 464 BLAKE2B 68727cd48eb79d43417df46312d8def40307e4120becd4e89edb88c367c02190e3174fc715a3bd593ea18a5f6b1592e958c7fa3643c164d69f3b9be882911d1d SHA512 cc6588b281257644679004baea4c722a4be88cd2510b632585036017fb8e6eddd5fab3a469c1583d0d6fee1fd1e6490d3773c7de84389f9ea3d72fddfd5add59
DIST capstone-4.0.2.tar.gz 3439542 BLAKE2B 435729a8fef2dce6495635352101b3befe563c8404efdbb0dccabecbe2bded332221665bacdbcd9043dda72b652b6f29c0e1a548cefb8c64d5b6b9dc174ed3d9 SHA512 7f93534517307b737422a8825b66b2a1f3e1cca2049465d60ab12595940154aaf843ba40ed348fce58de58b990c19a0caef289060eb72898cb008a88c470970e
DIST capstone-5.0_rc2.tar.gz 5761725 BLAKE2B 2f5074fe1881309ee2d36cdfeba10bacefbac5c994d42dd3b08c07fe8b70e298d9d18e9c061dad1a54c6368bdc296fd02f30d77f78b1ae05074764e7041aef2c SHA512 fdc4992399a2add960b12ff2495087a97fa66dce85e87375ba9d19e02b7ea5fb16a7efa93d839c2693378f6367efc9df68f192584ba624443d3b0b197d4dcd9a
EBUILD capstone-4.0.2-r2.ebuild 1535 BLAKE2B 15f3ca620f06cf18d35a0c18324dc0b61297e5479e408a7f38d42eb1b69ce7f97357057d18a9dcb970bf4b61a73c4564e4d90f5a07d22462ee1860d476b1139c SHA512 6a2cd3383a7f58183bb1fc621c756e4b78f4c3f70bb355e98339b4ffc7dd03c7ac7850be8db376fd00707403bfe4a27241d7c7d4a21eaca33be9e7f0df02de30
EBUILD capstone-5.0_rc2-r1.ebuild 1469 BLAKE2B c5279bc3457e8ea39fbda2e65f1e3a1d6f804b3bc2b05ce233bd18096de5c9b57342af01d0e36feddad9a6034138402d70e827242db4375941d97fb51bd6c0a0 SHA512 46395d96c6d311721bbcb8e1cc600bf095d72ad554c2e324a51b801c0849bff621f6a4ac8eaa1fb1a853ecf6e9ec05fbb557186fa021ebf9c197556f51f2a8ee
+EBUILD capstone-5.0_rc2-r2.ebuild 1512 BLAKE2B 8e55a682151cff0ad4466a72ecad38a42d5ea916082602740534f7abb6f6fa8004eb9b589e3c66dab06ba403a8239c3550791c06aaad42cba808f29fb9e6bb6e SHA512 421f3fad8d2d33192c07c698eef9e456f7580969617ea8762a7107e80b306140f82a077af691f6b7ae65a26e6fd5d8bdffc6d260a4457bb84aad015984206e81
EBUILD capstone-9999.ebuild 1568 BLAKE2B f5dde9abc087427f4462f82075651dedc26931d16864bec80830c70d7423663b9b9abbbc9f67980b1b08555fb61b877b05c9612d200112b32ace2857ba6f9066 SHA512 da214669d779c3500d7eccbef4cab3c23757ce6cc155d9e45dbc644474677c9cd5946adde6b03306be7872f9037d45489e0130e0c92b40db5ed14f86ec77612b
MISC metadata.xml 484 BLAKE2B 32c39bf06443ce4ca18191a4c9626cf517d5bd4f837c179e6186a68a0053217bf41d61d2c4d46c9792b1974879d22b36e4a02fa461a1b085acf5c4406bde4891 SHA512 f06dcd3133982f72cf21c5bb3d9a34207d7083233b5e70856f6a1dab60ef361cf1432659af30ea6b90fcb38cfdaec49f0792623ef841e136bc33cb5e1c40d1cf
diff --git a/dev-libs/capstone/capstone-5.0_rc2-r2.ebuild b/dev-libs/capstone/capstone-5.0_rc2-r2.ebuild
new file mode 100644
index 000000000000..854077b25d6a
--- /dev/null
+++ b/dev-libs/capstone/capstone-5.0_rc2-r2.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_OPTIONAL=1
+PYTHON_COMPAT=( python3_{8..11} )
+
+inherit cmake distutils-r1 toolchain-funcs
+
+DESCRIPTION="disassembly/disassembler framework + bindings"
+HOMEPAGE="http://www.capstone-engine.org/"
+SRC_URI="https://github.com/capstone-engine/capstone/archive/${PV/_rc/-rc}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/5" # libcapstone.so.5
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+IUSE="python test"
+RDEPEND="python? ( ${PYTHON_DEPS} )"
+DEPEND="${RDEPEND}
+ python? ( dev-python/setuptools[${PYTHON_USEDEP}] )
+"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+distutils_enable_tests setup.py
+
+S=${WORKDIR}/${P/_rc/-rc}
+
+PATCHES=(
+ "${FILESDIR}"/${P}-pkgconfig.patch
+ "${FILESDIR}"/${P}-oob-mem-access.patch
+)
+
+if [[ ${PV} == *_rc* ]]; then
+ # Upstream doesn't flag release candidates (bug 858350)
+ QA_PKGCONFIG_VERSION=""
+fi
+
+wrap_python() {
+ local phase=$1
+ shift
+
+ if use python; then
+ pushd bindings/python >/dev/null || die
+ distutils-r1_${phase} "$@"
+ popd >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ tc-export RANLIB
+ cmake_src_prepare
+
+ wrap_python ${FUNCNAME}
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCAPSTONE_BUILD_TESTS="$(usex test)"
+ )
+ cmake_src_configure
+
+ wrap_python ${FUNCNAME}
+}
+
+src_compile() {
+ cmake_src_compile
+
+ wrap_python ${FUNCNAME}
+}
+
+src_test() {
+ cmake_src_test
+
+ wrap_python ${FUNCNAME}
+}
+
+src_install() {
+ cmake_src_install
+
+ wrap_python ${FUNCNAME}
+}
diff --git a/dev-libs/capstone/files/capstone-5.0_rc2-oob-mem-access.patch b/dev-libs/capstone/files/capstone-5.0_rc2-oob-mem-access.patch
new file mode 100644
index 000000000000..4e538ef4d5fb
--- /dev/null
+++ b/dev-libs/capstone/files/capstone-5.0_rc2-oob-mem-access.patch
@@ -0,0 +1,40 @@
+Author: Mario Haustein <mario.haustein@hrz.tu-chemnitz.de>
+Date: Mon Aug 22 18:52:19 2022 +0200
+
+ PPC: fix out of bound memory access
+
+ closes #1912
+
+Bug: https://bugs.gentoo.org/865151
+Upstream: https://github.com/capstone-engine/capstone/pull/1913
+
+diff --git a/arch/PowerPC/PPCInstPrinter.c b/arch/PowerPC/PPCInstPrinter.c
+index 22eef4ee..a5a30a8b 100644
+--- a/arch/PowerPC/PPCInstPrinter.c
++++ b/arch/PowerPC/PPCInstPrinter.c
+@@ -1116,7 +1116,8 @@ static char *stripRegisterPrefix(const char *RegName)
+ char *name = cs_strdup(RegName + 2);
+
+ // also strip the last 2 letters
+- name[strlen(name) - 2] = '\0';
++ if(strlen(name) > 2)
++ name[strlen(name) - 2] = '\0';
+
+ return name;
+ }
+diff --git a/suite/cstest/issues.cs b/suite/cstest/issues.cs
+index e4fb6cfa..3183f43f 100644
+--- a/suite/cstest/issues.cs
++++ b/suite/cstest/issues.cs
+@@ -1,3 +1,11 @@
++!# issue 1912 PPC register name
++!# CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, None
++0x2d,0x03,0x00,0x80 == cmpwi cr2, r3, 0x80
++
++!# issue 1912 PPC no register name
++!# CS_ARCH_PPC, CS_MODE_BIG_ENDIAN, CS_OPT_SYNTAX_NOREGNAME
++0x2d,0x03,0x00,0x80 == cmpwi 2, 3, 0x80
++
+ !# issue 1839 AArch64 Incorrect detailed disassembly of ldr
+ !# CS_ARCH_ARM64, CS_MODE_ARM, CS_OPT_DETAIL
+ 0x41,0x00,0x40,0xf9 == ldr x1, [x2] ; operands[0].access: WRITE ; operands[1].access: READ