Set CI buildtypes to highest opt level possible and set default buildtype to debugoptimized (#260)
* Set default meson buildtype to debugoptimized * Add separate Codecov build and remove linux-meson-gcc-build build * Set test buildtypes to highest optimization level possible * Run Codecov build only on dev branch
This commit is contained in:
parent
b37d6fbe0e
commit
7a4f9b3201
8 changed files with 125 additions and 90 deletions
34
.github/workflows/ci.yml
vendored
34
.github/workflows/ci.yml
vendored
|
|
@ -52,10 +52,10 @@ jobs:
|
|||
matrix:
|
||||
name: [
|
||||
linux-meson-clang-tests,
|
||||
linux-meson-gcc-build,
|
||||
linux-meson-gcc-tests,
|
||||
macos-meson-clang-tests,
|
||||
linux-gcc-tests-asan,
|
||||
linux-gcc-tests-codecov,
|
||||
capstone-v3,
|
||||
capstone-next
|
||||
]
|
||||
|
|
@ -65,32 +65,24 @@ jobs:
|
|||
build_system: meson
|
||||
compiler: clang
|
||||
run_tests: true
|
||||
meson_options: -Dbuildtype=release
|
||||
enabled: ${{ github.event_name != 'pull_request' && needs.changes.outputs.edited == 'true' }}
|
||||
timeout: 45
|
||||
- name: linux-meson-gcc-build
|
||||
os: ubuntu-20.04
|
||||
build_system: meson
|
||||
compiler: gcc
|
||||
enabled: ${{ github.event_name == 'pull_request' && needs.changes.outputs.edited == 'true' }}
|
||||
timeout: 45
|
||||
cflags: '-Wno-cpp'
|
||||
meson_options: --werror
|
||||
- name: linux-meson-gcc-tests
|
||||
os: ubuntu-20.04
|
||||
build_system: meson
|
||||
compiler: gcc
|
||||
run_tests: true
|
||||
meson_options: -Db_coverage=true -Duse_webui=true --werror
|
||||
coverage: true
|
||||
meson_options: -Dbuildtype=release --werror
|
||||
enabled: ${{ needs.changes.outputs.edited == 'true' }}
|
||||
timeout: 60
|
||||
timeout: 45
|
||||
cflags: '-Wno-cpp'
|
||||
- name: macos-meson-clang-tests
|
||||
os: macos-latest
|
||||
build_system: meson
|
||||
compiler: clang
|
||||
run_tests: true
|
||||
meson_options: -Duse_webui=true
|
||||
meson_options: -Dbuildtype=release -Duse_webui=true
|
||||
enabled: ${{ needs.changes.outputs.edited == 'true' }}
|
||||
timeout: 60
|
||||
- name: linux-gcc-tests-asan
|
||||
|
|
@ -98,17 +90,27 @@ jobs:
|
|||
build_system: meson
|
||||
compiler: gcc
|
||||
cflags: '-DRZ_ASSERT_STDOUT=1 -Wno-cpp'
|
||||
meson_options: -Db_sanitize=address,undefined -Duse_webui=true --werror
|
||||
meson_options: -Dbuildtype=debugoptimized -Db_sanitize=address,undefined -Duse_webui=true --werror
|
||||
asan: true
|
||||
asan_options: 'detect_leaks=0,detect_odr_violation=0,allocator_may_return_null=1'
|
||||
run_tests: true
|
||||
enabled: ${{ (github.event_name != 'pull_request' || contains(github.head_ref, 'asan') || contains(github.head_ref, 'import')) && needs.changes.outputs.edited == 'true' }}
|
||||
timeout: 100
|
||||
- name: linux-gcc-tests-codecov
|
||||
os: ubuntu-20.04
|
||||
build_system: meson
|
||||
compiler: gcc
|
||||
run_tests: true
|
||||
meson_options: -Dbuildtype=debug -Db_coverage=true -Duse_webui=true --werror
|
||||
coverage: true
|
||||
enabled: ${{ github.event_name != 'pull_request' && needs.changes.outputs.edited == 'true' }}
|
||||
timeout: 60
|
||||
cflags: '-Wno-cpp'
|
||||
- name: capstone-v3
|
||||
os: ubuntu-20.04
|
||||
build_system: meson
|
||||
compiler: gcc
|
||||
meson_options: -Duse_capstone_version=v3 --werror
|
||||
meson_options: -Dbuildtype=release -Duse_capstone_version=v3 --werror
|
||||
run_tests: false
|
||||
enabled: ${{ (github.event_name != 'pull_request' || contains(github.head_ref, 'capstone')) && needs.changes.outputs.edited == 'true' }}
|
||||
timeout: 45
|
||||
|
|
@ -117,7 +119,7 @@ jobs:
|
|||
os: ubuntu-20.04
|
||||
build_system: meson
|
||||
compiler: gcc
|
||||
meson_options: -Duse_capstone_version=next --werror
|
||||
meson_options: -Dbuildtype=release -Duse_capstone_version=next --werror
|
||||
run_tests: false
|
||||
enabled: ${{ (github.event_name != 'pull_request' || contains(github.head_ref, 'capstone')) && needs.changes.outputs.edited == 'true' }}
|
||||
timeout: 45
|
||||
|
|
|
|||
|
|
@ -13,7 +13,13 @@
|
|||
|
||||
extern ut32 constant_extender;
|
||||
|
||||
int hexagon_disasm_instruction(ut32 hi_u32, HexInsn *hi, ut32 addr) {
|
||||
#if ASAN
|
||||
#define NO_OPT_IF_ASAN __attribute__((optimize(0)))
|
||||
#else
|
||||
#define NO_OPT_IF_ASAN
|
||||
#endif
|
||||
|
||||
NO_OPT_IF_ASAN int hexagon_disasm_instruction(ut32 hi_u32, HexInsn *hi, ut32 addr) {
|
||||
// DUPLEXES
|
||||
if (((hi_u32 >> 14) & 0x3) == 0) {
|
||||
switch ((((hi_u32 >> 29) & 0xF) << 1) | ((hi_u32 >> 13) & 1)) {
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ project('rizin', 'c',
|
|||
license: 'LGPL3',
|
||||
meson_version: '>=0.55.0',
|
||||
default_options: [
|
||||
'buildtype=debugoptimized',
|
||||
'b_vscrt=from_buildtype',
|
||||
]
|
||||
)
|
||||
|
|
|
|||
|
|
@ -47,24 +47,30 @@ cs_files = [
|
|||
|
||||
capstone_includes = [include_directories('include')]
|
||||
|
||||
libcapstone_c_args = [
|
||||
'-DCAPSTONE_X86_ATT_DISABLE_NO',
|
||||
'-DCAPSTONE_X86_REDUCE_NO',
|
||||
'-DCAPSTONE_USE_SYS_DYN_MEM',
|
||||
'-DCAPSTONE_DIET_NO',
|
||||
'-DCAPSTONE_HAS_ARM',
|
||||
'-DCAPSTONE_HAS_ARM64',
|
||||
'-DCAPSTONE_HAS_M68K',
|
||||
'-DCAPSTONE_HAS_M680X',
|
||||
'-DCAPSTONE_HAS_MIPS',
|
||||
'-DCAPSTONE_HAS_POWERPC',
|
||||
'-DCAPSTONE_HAS_SPARC',
|
||||
'-DCAPSTONE_HAS_SYSZ',
|
||||
'-DCAPSTONE_HAS_X86',
|
||||
'-DCAPSTONE_HAS_XCORE',
|
||||
'-DCAPSTONE_HAS_TMS320C64X',
|
||||
]
|
||||
warn_trunc_flag = '-Wno-error=stringop-truncation'
|
||||
if meson.get_compiler('c').has_argument(warn_trunc_flag)
|
||||
libcapstone_c_args += warn_trunc_flag
|
||||
endif
|
||||
|
||||
libcapstone = library('capstone', cs_files,
|
||||
c_args: [
|
||||
'-DCAPSTONE_X86_ATT_DISABLE_NO',
|
||||
'-DCAPSTONE_X86_REDUCE_NO',
|
||||
'-DCAPSTONE_USE_SYS_DYN_MEM',
|
||||
'-DCAPSTONE_DIET_NO',
|
||||
'-DCAPSTONE_HAS_ARM',
|
||||
'-DCAPSTONE_HAS_ARM64',
|
||||
'-DCAPSTONE_HAS_M68K',
|
||||
'-DCAPSTONE_HAS_M680X',
|
||||
'-DCAPSTONE_HAS_MIPS',
|
||||
'-DCAPSTONE_HAS_POWERPC',
|
||||
'-DCAPSTONE_HAS_SPARC',
|
||||
'-DCAPSTONE_HAS_SYSZ',
|
||||
'-DCAPSTONE_HAS_X86',
|
||||
'-DCAPSTONE_HAS_XCORE',
|
||||
'-DCAPSTONE_HAS_TMS320C64X',
|
||||
],
|
||||
c_args: libcapstone_c_args,
|
||||
include_directories: capstone_includes,
|
||||
implicit_include_directories: false
|
||||
)
|
||||
|
|
@ -72,4 +78,4 @@ libcapstone = library('capstone', cs_files,
|
|||
capstone_dep = declare_dependency(
|
||||
link_with: libcapstone,
|
||||
include_directories: capstone_includes
|
||||
)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -57,24 +57,30 @@ cs_files = [
|
|||
|
||||
capstone_includes = [include_directories('include'), include_directories('include/capstone')]
|
||||
|
||||
libcapstone_c_args = [
|
||||
'-DCAPSTONE_X86_ATT_DISABLE_NO',
|
||||
'-DCAPSTONE_X86_REDUCE_NO',
|
||||
'-DCAPSTONE_USE_SYS_DYN_MEM',
|
||||
'-DCAPSTONE_DIET_NO',
|
||||
'-DCAPSTONE_HAS_ARM',
|
||||
'-DCAPSTONE_HAS_ARM64',
|
||||
'-DCAPSTONE_HAS_M68K',
|
||||
'-DCAPSTONE_HAS_M680X',
|
||||
'-DCAPSTONE_HAS_MIPS',
|
||||
'-DCAPSTONE_HAS_POWERPC',
|
||||
'-DCAPSTONE_HAS_SPARC',
|
||||
'-DCAPSTONE_HAS_SYSZ',
|
||||
'-DCAPSTONE_HAS_X86',
|
||||
'-DCAPSTONE_HAS_XCORE',
|
||||
'-DCAPSTONE_HAS_TMS320C64X',
|
||||
]
|
||||
warn_trunc_flag = '-Wno-error=stringop-truncation'
|
||||
if meson.get_compiler('c').has_argument(warn_trunc_flag)
|
||||
libcapstone_c_args += warn_trunc_flag
|
||||
endif
|
||||
|
||||
libcapstone = library('capstone', cs_files,
|
||||
c_args: [
|
||||
'-DCAPSTONE_X86_ATT_DISABLE_NO',
|
||||
'-DCAPSTONE_X86_REDUCE_NO',
|
||||
'-DCAPSTONE_USE_SYS_DYN_MEM',
|
||||
'-DCAPSTONE_DIET_NO',
|
||||
'-DCAPSTONE_HAS_ARM',
|
||||
'-DCAPSTONE_HAS_ARM64',
|
||||
'-DCAPSTONE_HAS_M68K',
|
||||
'-DCAPSTONE_HAS_M680X',
|
||||
'-DCAPSTONE_HAS_MIPS',
|
||||
'-DCAPSTONE_HAS_POWERPC',
|
||||
'-DCAPSTONE_HAS_SPARC',
|
||||
'-DCAPSTONE_HAS_SYSZ',
|
||||
'-DCAPSTONE_HAS_X86',
|
||||
'-DCAPSTONE_HAS_XCORE',
|
||||
'-DCAPSTONE_HAS_TMS320C64X',
|
||||
],
|
||||
c_args: libcapstone_c_args,
|
||||
include_directories: capstone_includes,
|
||||
implicit_include_directories: false
|
||||
)
|
||||
|
|
@ -82,4 +88,4 @@ libcapstone = library('capstone', cs_files,
|
|||
capstone_dep = declare_dependency(
|
||||
link_with: libcapstone,
|
||||
include_directories: capstone_includes
|
||||
)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -57,24 +57,30 @@ cs_files = [
|
|||
|
||||
capstone_includes = [include_directories('include'), include_directories('include/capstone')]
|
||||
|
||||
libcapstone_c_args = [
|
||||
'-DCAPSTONE_X86_ATT_DISABLE_NO',
|
||||
'-DCAPSTONE_X86_REDUCE_NO',
|
||||
'-DCAPSTONE_USE_SYS_DYN_MEM',
|
||||
'-DCAPSTONE_DIET_NO',
|
||||
'-DCAPSTONE_HAS_ARM',
|
||||
'-DCAPSTONE_HAS_ARM64',
|
||||
'-DCAPSTONE_HAS_M68K',
|
||||
'-DCAPSTONE_HAS_M680X',
|
||||
'-DCAPSTONE_HAS_MIPS',
|
||||
'-DCAPSTONE_HAS_POWERPC',
|
||||
'-DCAPSTONE_HAS_SPARC',
|
||||
'-DCAPSTONE_HAS_SYSZ',
|
||||
'-DCAPSTONE_HAS_X86',
|
||||
'-DCAPSTONE_HAS_XCORE',
|
||||
'-DCAPSTONE_HAS_TMS320C64X',
|
||||
]
|
||||
warn_trunc_flag = '-Wno-error=stringop-truncation'
|
||||
if meson.get_compiler('c').has_argument(warn_trunc_flag)
|
||||
libcapstone_c_args += warn_trunc_flag
|
||||
endif
|
||||
|
||||
libcapstone = library('capstone', cs_files,
|
||||
c_args: [
|
||||
'-DCAPSTONE_X86_ATT_DISABLE_NO',
|
||||
'-DCAPSTONE_X86_REDUCE_NO',
|
||||
'-DCAPSTONE_USE_SYS_DYN_MEM',
|
||||
'-DCAPSTONE_DIET_NO',
|
||||
'-DCAPSTONE_HAS_ARM',
|
||||
'-DCAPSTONE_HAS_ARM64',
|
||||
'-DCAPSTONE_HAS_M68K',
|
||||
'-DCAPSTONE_HAS_M680X',
|
||||
'-DCAPSTONE_HAS_MIPS',
|
||||
'-DCAPSTONE_HAS_POWERPC',
|
||||
'-DCAPSTONE_HAS_SPARC',
|
||||
'-DCAPSTONE_HAS_SYSZ',
|
||||
'-DCAPSTONE_HAS_X86',
|
||||
'-DCAPSTONE_HAS_XCORE',
|
||||
'-DCAPSTONE_HAS_TMS320C64X',
|
||||
],
|
||||
c_args: libcapstone_c_args,
|
||||
include_directories: capstone_includes,
|
||||
implicit_include_directories: false
|
||||
)
|
||||
|
|
@ -82,4 +88,4 @@ libcapstone = library('capstone', cs_files,
|
|||
capstone_dep = declare_dependency(
|
||||
link_with: libcapstone,
|
||||
include_directories: capstone_includes
|
||||
)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -58,24 +58,30 @@ cs_files = [
|
|||
|
||||
capstone_includes = [include_directories('include'), include_directories('include/capstone')]
|
||||
|
||||
libcapstone_c_args = [
|
||||
'-DCAPSTONE_X86_ATT_DISABLE_NO',
|
||||
'-DCAPSTONE_X86_REDUCE_NO',
|
||||
'-DCAPSTONE_USE_SYS_DYN_MEM',
|
||||
'-DCAPSTONE_DIET_NO',
|
||||
'-DCAPSTONE_HAS_ARM',
|
||||
'-DCAPSTONE_HAS_ARM64',
|
||||
'-DCAPSTONE_HAS_M68K',
|
||||
'-DCAPSTONE_HAS_M680X',
|
||||
'-DCAPSTONE_HAS_MIPS',
|
||||
'-DCAPSTONE_HAS_POWERPC',
|
||||
'-DCAPSTONE_HAS_SPARC',
|
||||
'-DCAPSTONE_HAS_SYSZ',
|
||||
'-DCAPSTONE_HAS_X86',
|
||||
'-DCAPSTONE_HAS_XCORE',
|
||||
'-DCAPSTONE_HAS_TMS320C64X',
|
||||
]
|
||||
warn_trunc_flag = '-Wno-error=stringop-truncation'
|
||||
if meson.get_compiler('c').has_argument(warn_trunc_flag)
|
||||
libcapstone_c_args += warn_trunc_flag
|
||||
endif
|
||||
|
||||
libcapstone = library('capstone', cs_files,
|
||||
c_args: [
|
||||
'-DCAPSTONE_X86_ATT_DISABLE_NO',
|
||||
'-DCAPSTONE_X86_REDUCE_NO',
|
||||
'-DCAPSTONE_USE_SYS_DYN_MEM',
|
||||
'-DCAPSTONE_DIET_NO',
|
||||
'-DCAPSTONE_HAS_ARM',
|
||||
'-DCAPSTONE_HAS_ARM64',
|
||||
'-DCAPSTONE_HAS_M68K',
|
||||
'-DCAPSTONE_HAS_M680X',
|
||||
'-DCAPSTONE_HAS_MIPS',
|
||||
'-DCAPSTONE_HAS_POWERPC',
|
||||
'-DCAPSTONE_HAS_SPARC',
|
||||
'-DCAPSTONE_HAS_SYSZ',
|
||||
'-DCAPSTONE_HAS_X86',
|
||||
'-DCAPSTONE_HAS_XCORE',
|
||||
'-DCAPSTONE_HAS_TMS320C64X',
|
||||
],
|
||||
c_args: libcapstone_c_args,
|
||||
include_directories: capstone_includes,
|
||||
implicit_include_directories: false
|
||||
)
|
||||
|
|
@ -83,4 +89,4 @@ libcapstone = library('capstone', cs_files,
|
|||
capstone_dep = declare_dependency(
|
||||
link_with: libcapstone,
|
||||
include_directories: capstone_includes
|
||||
)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -5,8 +5,10 @@ files = [
|
|||
'subprocess-interactive',
|
||||
]
|
||||
|
||||
warn_unused_flag = '-Wno-unused-result'
|
||||
foreach file : files
|
||||
executable(file, '@0@.c'.format(file),
|
||||
c_args: meson.get_compiler('c').has_argument(warn_unused_flag) ? [warn_unused_flag] : [],
|
||||
install: false
|
||||
)
|
||||
endforeach
|
||||
endforeach
|
||||
|
|
|
|||
Loading…
Reference in a new issue