[triton] Update triton (#27424)

* update Triton

* run x-add-version

* remove patches. not need them anymore

* run x-add-version

* add boost feature

* run x-add-version

* keep boost as feature

* rename as it was before

* run x-add-version

* add missing space

* run x-add-version

* delete explicit -DBOOST_INTERFACE

* run x-add-version
This commit is contained in:
Alberto Garcia Illera 2022-10-26 14:59:42 +11:00 committed by GitHub
parent 628f5e0ad0
commit 933bbb0384
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 10 additions and 129 deletions

View File

@ -1,30 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c8da1610..106fdb8b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -103,9 +103,9 @@ list(APPEND CMAKE_MODULE_PATH "${TRITON_ROOT}/CMakeModules/")
# Find Z3
if(Z3_INTERFACE)
message(STATUS "Compiling with Z3 SMT solver")
- find_package(Z3 REQUIRED)
- include_directories(${Z3_INCLUDE_DIRS})
+ find_package(Z3 CONFIG REQUIRED)
set(TRITON_Z3_INTERFACE ON)
+ set(Z3_LIBRARIES z3::libz3)
endif()
# Find bitwuzla
diff --git a/src/libtriton/Config.cmake.in b/src/libtriton/Config.cmake.in
index 90cf6bfe..33f27d23 100644
--- a/src/libtriton/Config.cmake.in
+++ b/src/libtriton/Config.cmake.in
@@ -47,8 +47,7 @@ endif()
# Z3 include directories
if (TRITON_Z3_INTERFACE)
- include_directories("@Z3_INCLUDE_DIRS@")
- link_directories(BEFORE "@Z3_LIB_DIR@")
+ find_dependency(Z3 CONFIG)
endif()
# Bitwuzla include directories

View File

@ -1,62 +0,0 @@
diff --git a/src/libtriton/arch/x86/x86Specifications.cpp b/src/libtriton/arch/x86/x86Specifications.cpp
index 0806ac3..6295c95 100644
--- a/src/libtriton/arch/x86/x86Specifications.cpp
+++ b/src/libtriton/arch/x86/x86Specifications.cpp
@@ -153,9 +153,11 @@ namespace triton {
tritonId = triton::arch::x86::ID_INS_FIADD;
break;
+#if CS_API_MAJOR < 5
case triton::extlibs::capstone::X86_INS_FADDP:
tritonId = triton::arch::x86::ID_INS_FADDP;
break;
+#endif
case triton::extlibs::capstone::X86_INS_ADOX:
tritonId = triton::arch::x86::ID_INS_ADOX;
@@ -2877,9 +2879,11 @@ namespace triton {
tritonId = triton::arch::x86::ID_INS_FUCOM;
break;
+#if CS_API_MAJOR < 5
case triton::extlibs::capstone::X86_INS_UD2B:
tritonId = triton::arch::x86::ID_INS_UD2B;
break;
+#endif
case triton::extlibs::capstone::X86_INS_UNPCKHPD:
tritonId = triton::arch::x86::ID_INS_UNPCKHPD;
@@ -3037,17 +3041,21 @@ namespace triton {
tritonId = triton::arch::x86::ID_INS_VCVTDQ2PS;
break;
+#if CS_API_MAJOR < 5
case triton::extlibs::capstone::X86_INS_VCVTPD2DQX:
tritonId = triton::arch::x86::ID_INS_VCVTPD2DQX;
break;
+#endif
case triton::extlibs::capstone::X86_INS_VCVTPD2DQ:
tritonId = triton::arch::x86::ID_INS_VCVTPD2DQ;
break;
+#if CS_API_MAJOR < 5
case triton::extlibs::capstone::X86_INS_VCVTPD2PSX:
tritonId = triton::arch::x86::ID_INS_VCVTPD2PSX;
break;
+#endif
case triton::extlibs::capstone::X86_INS_VCVTPD2PS:
tritonId = triton::arch::x86::ID_INS_VCVTPD2PS;
@@ -3093,9 +3101,11 @@ namespace triton {
tritonId = triton::arch::x86::ID_INS_VCVTSS2USI;
break;
+#if CS_API_MAJOR < 5
case triton::extlibs::capstone::X86_INS_VCVTTPD2DQX:
tritonId = triton::arch::x86::ID_INS_VCVTTPD2DQX;
break;
+#endif
case triton::extlibs::capstone::X86_INS_VCVTTPD2DQ:
tritonId = triton::arch::x86::ID_INS_VCVTTPD2DQ;

View File

@ -1,28 +0,0 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c8da1610..40ab12c1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -53,7 +53,6 @@ if(PYTHON_BINDINGS)
find_package(PythonInterp ${PYTHON_VERSION} REQUIRED)
find_package(PythonLibs ${PYTHON_VERSION} REQUIRED)
include_directories(${PYTHON_INCLUDE_DIRS})
- add_definitions("-DPYTHON_LIBRARIES=\"${PYTHON_LIBRARIES}\"")
cmake_path(GET PYTHON_LIBRARY PARENT_PATH PYTHON_LIB_DIR)
cmake_path(GET PYTHON_LIBRARY STEM LAST_ONLY PYTHON_LIB_NAME)
string(REGEX REPLACE "^lib" "" PYTHON_LIB_NAME ${PYTHON_LIB_NAME})
diff --git a/src/libtriton/CMakeLists.txt b/src/libtriton/CMakeLists.txt
index 7101cce8..a052b066 100644
--- a/src/libtriton/CMakeLists.txt
+++ b/src/libtriton/CMakeLists.txt
@@ -330,9 +330,9 @@ if(PYTHON_BINDINGS)
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "from sysconfig import get_path; print(get_path('platlib'))" OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE)
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows" AND NOT ${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/triton${PYTHON_SUFFIX} DESTINATION ${PYTHON_SITE_PACKAGES})
+ install (FILES ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_CONFIG_NAME}/triton${PYTHON_SUFFIX} DESTINATION share/triton)
else()
- install (FILES ${CMAKE_CURRENT_BINARY_DIR}/triton${PYTHON_SUFFIX} DESTINATION ${PYTHON_SITE_PACKAGES})
+ install (FILES ${CMAKE_CURRENT_BINARY_DIR}/triton${PYTHON_SUFFIX} DESTINATION share/triton)
endif()
else()
execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "from sys import version_info; print(f'lib/python{version_info[0]}.{version_info[1]}/site-packages')" OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE)

View File

@ -1,12 +1,9 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO JonathanSalwan/Triton
REF 243026c9c1e07a5ca834c4aaf628d1079f6a85ea
SHA512 9e46c500203647de545286b78a7d4ae6da1796b8eed30fe7346ae6e51865ef70de1adb858c402c3687c471ad654cc6aefdff8893196f5ef7b45e4cee6dd9c577
PATCHES
001-fix-dependency-z3.patch
002-fix-capstone-5.patch
003-fix-python.patch
REF 2b655f20528065cf70e0fa95e2d01b34a8ef6a17
SHA512 819c0c6eb9e5609240fe4be47c1f4584d2979e3b54f34c2978989ad9b3b10f73dc65ac87fca88fbfc26767f7a4df5b3a2ae70bcbda43ec89eef4c456a37bd884
HEAD_REF master
)
string(COMPARE NOTEQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" DYNAMICLIB)
@ -31,7 +28,6 @@ vcpkg_cmake_configure(
OPTIONS
${FEATURE_OPTIONS}
-DZ3_INTERFACE=ON
-DTRITON_BOOST_INTERFACE=OFF
-DBUILD_SHARED_LIBS=${DYNAMICLIB}
-DMSVC_STATIC=${STATICCRT}
-DBUILD_EXAMPLES=OFF

View File

@ -1,7 +1,7 @@
{
"name": "triton",
"version": "0.9",
"port-version": 4,
"port-version": 5,
"description": "Triton is a Dynamic Binary Analysis (DBA) framework. It provides internal components like a Dynamic Symbolic Execution (DSE) engine, a dynamic taint engine, AST representations of the x86, x86-64, ARM32 and AArch64 Instructions Set Architecture (ISA), SMT simplification passes, an SMT solver interface and, the last but not least, Python bindings.",
"homepage": "https://github.com/JonathanSalwan/Triton",
"license": "Apache-2.0",

View File

@ -7526,7 +7526,7 @@
},
"triton": {
"baseline": "0.9",
"port-version": 4
"port-version": 5
},
"trompeloeil": {
"baseline": "41",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "c3decfebbe5a1a8e132c0234074a82224a5335ce",
"version": "0.9",
"port-version": 5
},
{
"git-tree": "6b86390804efe4afb7989e40a4cf84ad7877e85a",
"version": "0.9",