mirror of
https://github.com/radareorg/radare2.git
synced 2025-02-13 10:24:45 +00:00
b703dfbf17
* 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>
58 lines
1.2 KiB
Makefile
58 lines
1.2 KiB
Makefile
include ../config.mk
|
|
|
|
EXTRA_TARGETS+=do
|
|
EXTRA_CLEAN=doclean
|
|
|
|
NAME=r_anal
|
|
DEPS=r_util r_reg r_syscall r_search r_cons r_flag
|
|
CFLAGS+=-DCORELIB -Iarch -I$(TOP)/shlr
|
|
CFLAGS+=-I$(LTOP)/asm/arch/include
|
|
|
|
LDFLAGS+=${BN_LIBS}
|
|
|
|
CURDIR=p/
|
|
|
|
include p/capstone.mk
|
|
LDFLAGS+=$(CS_LDFLAGS)
|
|
include $(STOP)/java/deps.mk
|
|
LDFLAGS+=$(LINK)
|
|
|
|
.PHONY: all plugins libs ${EXTRA_CLEAN}
|
|
|
|
all: plugins
|
|
|
|
plugins: ${LIBSO} ${LIBAR}
|
|
@${MAKE} -C p all
|
|
|
|
include ${STATIC_ANAL_PLUGINS}
|
|
|
|
STATIC_OBJS=$(addprefix $(LTOP)/anal/p/,$(STATIC_OBJ))
|
|
OBJLIBS=meta.o reflines.o op.o fcn.o bb.o var.o
|
|
OBJLIBS+=cond.o value.o cc.o diff.o types.o
|
|
OBJLIBS+=hint.o anal.o data.o xrefs.o esil.o sign.o
|
|
OBJLIBS+=anal_ex.o switch.o state.o cycles.o
|
|
OBJLIBS+=esil_stats.o esil_trace.o flirt.o labels.o
|
|
OBJLIBS+=esil2reil.o pin.o session.o vtable.o rtti.o
|
|
OBJLIBS+=rtti_msvc.o rtti_itanium.o
|
|
ASMOBJS+=$(LTOP)/asm/arch/xtensa/gnu/xtensa-modules.o
|
|
ASMOBJS+=$(LTOP)/asm/arch/xtensa/gnu/xtensa-isa.o
|
|
ASMOBJS+=$(LTOP)/asm/arch/xtensa/gnu/elf32-xtensa.o
|
|
|
|
OBJS=${STATIC_OBJS} ${OBJLIBS} ${ASMOBJS}
|
|
|
|
test tests: tests-esil
|
|
|
|
tests-esil:
|
|
cd ../../radare2-regressions ; \
|
|
sh run_tests.sh t.esil
|
|
|
|
.PHONY: do doclean
|
|
|
|
do:
|
|
${MAKE} -C d
|
|
|
|
doclean:
|
|
${MAKE} -C d clean
|
|
|
|
include $(LTOP)/rules.mk
|