2a362ecc3e
All of: read_symbols(), find_symbol_by_offset(), find_symbol_containing(), find_containing_func() do a linear search of the symbols. Add an RB tree to make it go faster. This about halves objtool runtime on vmlinux.o, from 34s to 18s. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Miroslav Benes <mbenes@suse.cz> Acked-by: Josh Poimboeuf <jpoimboe@redhat.com> Link: https://lkml.kernel.org/r/20200324160924.499016559@infradead.org
33 lines
744 B
Plaintext
33 lines
744 B
Plaintext
objtool-y += arch/$(SRCARCH)/
|
|
objtool-y += builtin-check.o
|
|
objtool-y += builtin-orc.o
|
|
objtool-y += check.o
|
|
objtool-y += orc_gen.o
|
|
objtool-y += orc_dump.o
|
|
objtool-y += elf.o
|
|
objtool-y += special.o
|
|
objtool-y += objtool.o
|
|
|
|
objtool-y += libstring.o
|
|
objtool-y += libctype.o
|
|
objtool-y += str_error_r.o
|
|
objtool-y += librbtree.o
|
|
|
|
CFLAGS += -I$(srctree)/tools/lib
|
|
|
|
$(OUTPUT)libstring.o: ../lib/string.c FORCE
|
|
$(call rule_mkdir)
|
|
$(call if_changed_dep,cc_o_c)
|
|
|
|
$(OUTPUT)libctype.o: ../lib/ctype.c FORCE
|
|
$(call rule_mkdir)
|
|
$(call if_changed_dep,cc_o_c)
|
|
|
|
$(OUTPUT)str_error_r.o: ../lib/str_error_r.c FORCE
|
|
$(call rule_mkdir)
|
|
$(call if_changed_dep,cc_o_c)
|
|
|
|
$(OUTPUT)librbtree.o: ../lib/rbtree.c FORCE
|
|
$(call rule_mkdir)
|
|
$(call if_changed_dep,cc_o_c)
|