commit 562935d7a2ac40ec6ea07672fb3081bc94e8069441e6495240bc8d2cc6adda80 Author: Adrian Schröter Date: Fri May 3 11:30:08 2024 +0200 Sync from SUSE:SLFO:Main capstone revision 17c79ee95d4fdf4decf6b33d6525674a diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/capstone-4.0.2.tar.gz b/capstone-4.0.2.tar.gz new file mode 100644 index 0000000..5d5a0ab --- /dev/null +++ b/capstone-4.0.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7c81d798022f81e7507f1a60d6817f63aa76e489aa4e7055255f21a22f5e526a +size 3439542 diff --git a/capstone.changes b/capstone.changes new file mode 100644 index 0000000..e431d80 --- /dev/null +++ b/capstone.changes @@ -0,0 +1,132 @@ +------------------------------------------------------------------- +Tue Jan 3 15:28:46 UTC 2023 - Martin Wilck + +- Enable static library, and add libcapstone-devel-static subpackage + (this is helpful for qemu-linux-user) + +------------------------------------------------------------------- +Sun Aug 16 02:42:12 UTC 2020 - Dirk Mueller + +- update to 4.0.2 + Windows kernel-mode driver support + - Add armv8, ppc32 & thumbv8 modes + - Print instruction ID + - Support CS_OPT_UNSIGNED for ATT syntax + - Fix operand size for some instructions + - Fix LOCK prefixes + - Recognize xacquire/xrelease prefix + - Fix call/jmp access mode of mem operand + - Add ENDBR32, ENDBR64 to reduce mode + - Other minor fixes + - Support CS_OPT_UNSIGNED + - Fix register access flags for memory instructions + - Fix UMOV vess + - Update writeback for STR_POST_REG + - Store correct register value in op.reg_pair + - BDZLA is absolute branch + - Fix truncated 64bit imm operand + - Fix base/index printing + - Fix skipdata struct being destroyed + - Add __repr__ for capstone.CsInsn + - Fix Java bindings to use pointers instead of longs + - Fix x86_op record + +------------------------------------------------------------------- +Mon May 25 10:08:22 UTC 2020 - Jan Engelhardt + +- Rename -docs subpackage to -doc to follow openSUSE practices. +- Descriptions: say what the package is, not what it wants to be. + +------------------------------------------------------------------- +Thu Apr 9 16:46:25 UTC 2020 - Luigi Baldoni + +- Update to version 4.0.1 + [ Core ] + * Fix some issues for packaging (Debian, Gentoo). + * Better support for building with Mingw. + * cstool has new option -s to turn on skipdata mode. + * cstool -v now report build settings of the core. + * Add suite/capstone_get_setup.c so users can integrate with + their own code + * to retrieve Capstone settings at build time. + [ Arm ] + * Fix 4.0 regression: the tbh [r0, r1, lsl #1] instruction + sets the operand.shift.value back again. + * Remove ARM_REG_PC group for BX instruction. + [ X86 ] + * Fix: endbr32 and endbr64 instructions are now properly + decoded in both CS_MODE_32 and CS_MODE_64. + [ M680X ] + * Fix some issues reported by clang-analyzer. + [ Python ] + * Fix skipdata setup. + * Add getter/setter for skipdata_mnem, skipdata_callback. + version 4.0: + [ Core ] + * New APIs: cs_regs_access() + * Add new options for cs_option(): CS_OPT_MNEMONIC & + CS_OPT_UNSIGNED & CS_OPT_SYNTAX_MASM. + * Various updates & bugfixes for all architectures. + * Add 4 new architectures: EVM, M68K, M680X & TMS320C64x. + * Add new group types: CS_GRP_PRIVILEGE & + CS_GRP_BRANCH_RELATIVE. + * Add new error types: CS_ERR_X86_MASM. + [ X86 ] + * Add XOP code condition type in x86_xop_cc. + * Add some info on encoding to cs_x86 in cs_x86_encoding. + * Add register flags update in cs_x86.{eflags, fpu_flags} + * Change cs_x86.disp type from int32_t to int64_t. + * Add new groups: X86_GRP_VM & X86_GRP_FPU. + * Lots of new instructions (AVX) + [ ARM64 ] + * Add instruction ARM64_INS_NEGS & ARM64_INS_NGCS. + [ Mips ] + * Add mode CS_MODE_MIPS2. + [ PPC ] + * Change cs_ppc_op.imm type from int32_t to int64_t. + * Add new groups: PPC_GRP_ICBT, PPC_GRP_P8ALTIVEC, + PPC_GRP_P8VECTOR & PPC_GRP_QPX. + * Lots of new instructions (QPX among them) + [ Sparc ] + * Change cs_sparc_op.imm type from int32_t to int64_t. + [ Binding ] + * New bindings: PowerShell & VB6 + +- Bumped sover to 4 + +- Spec cleanup + +------------------------------------------------------------------- +Wed Aug 15 19:18:09 UTC 2018 - brogers@suse.com + +- Update to 3.0.5 + * build static library (but still don't install), since build + explicitly links cstool against it + +------------------------------------------------------------------- +Sun Apr 15 00:22:20 UTC 2018 - afaerber@suse.de + +- Update to 3.0.5-rc2 + * Package cstool +- Adopt %license + +------------------------------------------------------------------- +Mon Feb 12 04:42:33 UTC 2018 - stefan.bruens@rwth-aachen.de + +- Correct the license tag, Capstone is BSD-3-Clause +- Provide python3 bindings +- Rename bindings subpackage to docs, it does not contain any + bindings but documentation +- Package some more documentation +- Build with %{optflags} + +------------------------------------------------------------------- +Thu Dec 28 20:25:35 UTC 2017 - mardnh@gmx.de + +- Specfile cleanup + +------------------------------------------------------------------- +Thu Apr 16 14:06:08 UTC 2015 - duwe@suse.com + +- initial version + diff --git a/capstone.spec b/capstone.spec new file mode 100644 index 0000000..5193843 --- /dev/null +++ b/capstone.spec @@ -0,0 +1,139 @@ +# +# spec file for package capstone +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define sover 4 +Name: capstone +Version: 4.0.2 +Release: 0 +Summary: A multi-platform, multi-architecture disassembly framework +License: BSD-3-Clause +Group: Development/Tools/Building +URL: https://www.capstone-engine.org +Source: https://github.com/aquynh/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +BuildRequires: fdupes +BuildRequires: pkgconfig +BuildRequires: python-rpm-macros +BuildRequires: python3-devel +BuildRequires: python3-setuptools + +%description +Capstone is a disassembly framework. +disasm engine for binary analysis and reversing in the security community. + +%package -n libcapstone%{sover} +Summary: A multi-platform, multi-architecture disassembly framework +Group: System/Libraries + +%description -n libcapstone%{sover} +Capstone is a disassembly framework. + +%package -n libcapstone-devel +Summary: Development files to build upon libcapstone +Group: Development/Libraries/C and C++ +Requires: libcapstone%{sover} = %{version} + +%description -n libcapstone-devel +Development files to build upon libcapstone, C language only. + +%package -n libcapstone-devel-static +Summary: Static library for capstone +Group: Development/Libraries/C and C++ +Requires: libcapstone-devel = %{version} + +%description -n libcapstone-devel-static +Statically linked libcapstone. + +%package doc +Summary: Documentation for capstone, a disassembly framework +Group: Documentation/Other +BuildArch: noarch + +%description doc +Capstone is a multi-architecture disassembly framework. + +%package -n python3-capstone +Summary: Python bindings for the Capstone disassembly framework +Group: Development/Languages/Python +BuildArch: noarch + +%description -n python3-capstone +Capstone is a multi-architecture disassembly framework. + +This package contains the Capstone bindings for Python. + +%prep +%autosetup + +%build +CAPSTONE_ARCHS="arm aarch64 mips powerpc sparc systemz x86" CAPSTONE_STATIC="yes" \ + CFLAGS="%{optflags}" ./make.sh + +pushd bindings/python/ +%python3_build +popd + +%install +CAPSTONE_ARCHS="arm aarch64 mips powerpc sparc systemz x86" \ + LIBDIRARCH="%{_lib}" INCDIR="%{_includedir}" \ + DESTDIR=%{buildroot} V=1 CAPSTONE_STATIC="yes" ./make.sh install + +install -m 755 -d %{buildroot}%{_docdir}/%{name}-doc/docs +install -m 644 -t %{buildroot}%{_docdir}/%{name}-doc/docs docs/README docs/*.pdf + +# Available bindings: Java, OCaml, Python2 and Python3 (pure/C) +# Python3 bindings only for now +pushd bindings/python/ +%python3_install +rm -rf %{buildroot}%{python3_sitelib}/%{name}/include +rm -rf %{buildroot}%{python3_sitelib}/%{name}/lib +popd + +# fix pkgconfig file +sed -e '/^archive/d' -e 's|^libdir=.*|libdir=%{_libdir}|' \ + -i %{buildroot}%{_libdir}/pkgconfig/%{name}.pc + +%fdupes %{buildroot} + +%post -n libcapstone%{sover} -p /sbin/ldconfig +%postun -n libcapstone%{sover} -p /sbin/ldconfig + +%files +%license LICENSE*.TXT +%{_bindir}/cstool + +%files -n libcapstone%{sover} +%{_libdir}/lib%{name}.so.%{sover}* + +%files -n libcapstone-devel +%{_includedir}/%{name} +%{_libdir}/lib%{name}.so +%{_libdir}/pkgconfig/%{name}.pc + +%files -n libcapstone-devel-static +%{_libdir}/lib%{name}.a + +%files -n python3-capstone +%{python3_sitelib}/%{name}/ +%{python3_sitelib}/%{name}*.egg-info + +%files doc +%license LICENSE*.TXT +%doc ChangeLog README.md +%{_docdir}/%{name}-doc/docs/ + +%changelog