mirror of
https://github.com/radareorg/radare2.git
synced 2025-02-09 07:42:25 +00:00
![Riccardo Schirone](/assets/img/avatar_default.png)
* several bugfixes * Fix xrefs/refs confusion with asm.cmt.refs * Also check if xref source is valid offset * Fix ax* to show type of ref * anal/xrefs: pass the right hashtable to mylistrefs * r_anal_refs_get should use anal->refs, not anal->xrefs * anal/fcn: add xref also when there's a CALL to a noreturn function * projects: use radare2 output of ax command to save/restore xrefs * core/cmd_anal: when analyzing calls, we should use REF_TYPE_CALL * core/canal: use xrefs API, because the list is a just a copy * core/canal: rename "loc." entries to "fcn." when a CALL is found * sort xrefs to make results consistent * core/canal: avoid recomputing function every time during `aan` * anal: move fcn_refs/xrefs functions to the xrefs.c file * core/canal.c: avoid iterating fcn xrefs list * anal/xrefs: compute fcn xrefs by analyzing fcn addresses * remove other unused functions * anal/xrefs: remove fcn_xrefs_add and fcn_xrefs_deln * anal/xrefs: remove old fcn->refs/xrefs * anal/xrefs: directly store RAnalRef objects in the hash table * libr: prevent memory leaks when using refs/xrefs * anal/xrefs: merge anal/ref and anal/xref and clean API Big xrefs/refs refactoring that provides a more uniform and simple API. It avoids changes to refs/xrefs except through the API and it keeps all xrefs/refs info in one single place, to improve consistency. Thanks to: Riccardo Schirone <sirmy15@gmail.com> pancake <pancake@nopcode.org> rene <rlaemmert@gmail.com>
129 lines
2.5 KiB
Meson
129 lines
2.5 KiB
Meson
files = [
|
|
'anal.c',
|
|
'anal_ex.c',
|
|
#'arch/gb/meta_gb_cmt.c',
|
|
'bb.c',
|
|
'cc.c',
|
|
'cond.c',
|
|
'cycles.c',
|
|
'data.c',
|
|
'diff.c',
|
|
'esil.c',
|
|
'esil2reil.c',
|
|
'esil_stats.c',
|
|
'esil_trace.c',
|
|
'fcn.c',
|
|
'flirt.c',
|
|
'hint.c',
|
|
'labels.c',
|
|
'meta.c',
|
|
'op.c',
|
|
'p/anal_6502.c',
|
|
'p/anal_8051.c',
|
|
'p/anal_arc.c',
|
|
'p/anal_arm_cs.c',
|
|
'p/anal_arm_gnu.c',
|
|
'p/anal_avr.c',
|
|
'p/anal_bf.c',
|
|
'p/anal_cr16.c',
|
|
'p/anal_cris.c',
|
|
'p/anal_dalvik.c',
|
|
'p/anal_ebc.c',
|
|
'p/anal_gb.c',
|
|
'p/anal_h8300.c',
|
|
'p/anal_hexagon.c',
|
|
'p/anal_i4004.c',
|
|
'p/anal_i8080.c',
|
|
'p/anal_java.c',
|
|
'p/anal_m68k_cs.c',
|
|
'p/anal_malbolge.c',
|
|
'p/anal_mips_cs.c',
|
|
'p/anal_mips_gnu.c',
|
|
'p/anal_msp430.c',
|
|
'p/anal_nios2.c',
|
|
'p/anal_null.c',
|
|
'p/anal_pic.c',
|
|
'p/anal_ppc_cs.c',
|
|
'p/anal_ppc_gnu.c',
|
|
'p/anal_propeller.c',
|
|
'p/anal_riscv.c',
|
|
#'p/anal_rsp.c',
|
|
'p/anal_sh.c',
|
|
'p/anal_snes.c',
|
|
'p/anal_sparc_cs.c',
|
|
'p/anal_sparc_gnu.c',
|
|
'p/anal_sysz.c',
|
|
'p/anal_tms320.c',
|
|
'p/anal_tms320_c55x_plus.c',
|
|
'p/anal_tms320c64x.c',
|
|
'p/anal_v810.c',
|
|
'p/anal_v850.c',
|
|
'p/anal_vax.c',
|
|
'p/anal_ws.c',
|
|
'p/anal_x86_cs.c',
|
|
'p/anal_xap.c',
|
|
'p/anal_xcore_cs.c',
|
|
'p/anal_xtensa.c',
|
|
'p/anal_z80.c',
|
|
'pin.c',
|
|
'reflines.c',
|
|
'rtti.c',
|
|
'rtti_msvc.c',
|
|
'rtti_itanium.c',
|
|
'session.c',
|
|
'sign.c',
|
|
'state.c',
|
|
'switch.c',
|
|
# 'test.c',
|
|
'types.c',
|
|
'value.c',
|
|
'var.c',
|
|
'vtable.c',
|
|
'xrefs.c',
|
|
'arch/hexagon/hexagon_anal.c',
|
|
'../asm/arch/hexagon/hexagon.c',
|
|
'../asm/arch/hexagon/hexagon_disas.c',
|
|
]
|
|
|
|
r_anal = library('r_anal', files,
|
|
include_directories: [
|
|
platform_inc,
|
|
include_directories([
|
|
'arch/gb',
|
|
'../asm/arch/8051',
|
|
'../asm/arch/cr16',
|
|
'../asm/arch/ebc',
|
|
'../asm/arch/h8300',
|
|
'../asm/arch/hexagon',
|
|
'../anal/arch/hexagon',
|
|
'../asm/arch/msp430',
|
|
'../asm/arch/propeller',
|
|
'../asm/arch/tms320',
|
|
'../asm/arch/v810',
|
|
'../asm/arch/v850',
|
|
'../asm/arch/include/',
|
|
'../../shlr/capstone/include',
|
|
'../../shlr'
|
|
])
|
|
],
|
|
c_args: ['-DCORELIB=1'],
|
|
link_with: [
|
|
r_util, r_reg, r_asm, r_syscall, r_search, r_cons, r_flag, libr_shlr
|
|
],
|
|
install: true,
|
|
implicit_include_directories: false,
|
|
soversion: r2_libversion
|
|
)
|
|
|
|
pkgconfig_mod.generate(
|
|
libraries: [r_anal],
|
|
subdirs: 'libr',
|
|
version: r2_version,
|
|
name: 'r_anal',
|
|
filebase: 'r_anal',
|
|
requires: [
|
|
'r_util', 'r_reg', 'r_asm', 'r_syscall', 'r_search', 'r_cons', 'r_flag'
|
|
],
|
|
description: 'radare foundation libraries'
|
|
)
|