On 7 January 2014 16:51, Peter Maydell <peter.mayd...@linaro.org> wrote: > configure | 4 + > disas.c | 14 +- > disas/Makefile.objs | 7 + > disas/aarch64-cxx.cc | 80 + > disas/aarch64.c | 39 + > disas/libvixl/LICENCE | 30 + > disas/libvixl/Makefile.objs | 6 + > disas/libvixl/README.md | 128 ++ > disas/libvixl/doc/changelog.md | 12 + > disas/libvixl/doc/supported-instructions.md | 1133 ++++++++++++++ > disas/libvixl/src/a64/assembler-a64.cc | 2172 > ++++++++++++++++++++++++++ > disas/libvixl/src/a64/assembler-a64.h | 1784 +++++++++++++++++++++ > disas/libvixl/src/a64/constants-a64.h | 1104 +++++++++++++ > disas/libvixl/src/a64/cpu-a64.cc | 148 ++ > disas/libvixl/src/a64/cpu-a64.h | 56 + > disas/libvixl/src/a64/debugger-a64.cc | 1511 ++++++++++++++++++ > disas/libvixl/src/a64/debugger-a64.h | 188 +++ > disas/libvixl/src/a64/decoder-a64.cc | 712 +++++++++ > disas/libvixl/src/a64/decoder-a64.h | 198 +++ > disas/libvixl/src/a64/disasm-a64.cc | 1678 ++++++++++++++++++++ > disas/libvixl/src/a64/disasm-a64.h | 109 ++ > disas/libvixl/src/a64/instructions-a64.cc | 238 +++ > disas/libvixl/src/a64/instructions-a64.h | 344 ++++ > disas/libvixl/src/a64/instrument-a64.cc | 638 ++++++++ > disas/libvixl/src/a64/instrument-a64.h | 108 ++ > disas/libvixl/src/a64/macro-assembler-a64.cc | 1108 +++++++++++++ > disas/libvixl/src/a64/macro-assembler-a64.h | 1175 ++++++++++++++ > disas/libvixl/src/a64/simulator-a64.cc | 2077 ++++++++++++++++++++++++ > disas/libvixl/src/a64/simulator-a64.h | 576 +++++++ > disas/libvixl/src/globals.h | 66 + > disas/libvixl/src/platform.h | 43 + > disas/libvixl/src/utils.cc | 120 ++ > disas/libvixl/src/utils.h | 126 ++ > include/disas/bfd.h | 1 + > rules.mak | 14 +- > target-arm/translate-a64.c | 2 +- > 36 files changed, 17743 insertions(+), 6 deletions(-)
Another option we could consider here is only pulling in the set of source files we compile plus the headers they require, not the whole library. That's 126 disas/libvixl/src/utils.h 712 disas/libvixl/src/a64/decoder-a64.cc 198 disas/libvixl/src/a64/decoder-a64.h 1678 disas/libvixl/src/a64/disasm-a64.cc 344 disas/libvixl/src/a64/instructions-a64.h 1104 disas/libvixl/src/a64/constants-a64.h 109 disas/libvixl/src/a64/disasm-a64.h 56 disas/libvixl/src/a64/cpu-a64.h 1784 disas/libvixl/src/a64/assembler-a64.h 238 disas/libvixl/src/a64/instructions-a64.cc 43 disas/libvixl/src/platform.h 66 disas/libvixl/src/globals.h 120 disas/libvixl/src/utils.cc for about 6600 lines total. That's a significant reduction in the amount of code we're carrying around; the tradeoff is that if/when we have to update to a new libvixl it's not quite such a simple drop-in replacement as it might otherwise be, since you'd need to do the trimming down of files again. On balance I think only taking the files we use is probably the best thing. thanks -- PMM