EMB2.0: Update python build scripts
Opened this issue · 1 comments
I-mikan-I commented
For embench-iot 2.0 we discussed that we would like to modernize/update the python build scripts.
@wallento wanted to take a look at it if I'm correct.
Some things that we could address:
- change the
--target-module
speed benchmarking architecture.- It might be better to use callbacks/a more flexible approach that doesn't rely on a user-constructed shell command.
- use a more declarative framework such as doit
- reduce usage of global data/variables
- update the benchmark size computation
- right now, the size is computed via hardcoded section names, however, some sections aren't accounted for: e.g.
.eh_frame, .got, .init, .plt
, maybe we should instead sum up all MemSiz fields of all segments that get loaded?
- right now, the size is computed via hardcoded section names, however, some sections aren't accounted for: e.g.
I-mikan-I commented
Quick update:
- building now uses scons and a simpler/flat configuration strucure that utilizes the command line more.
- the size benchmarks now only work on ELF (no macho on embedded devices) and instead uses section flags to associate sections with metrics.
- the speed benchmark now uses a simpler/more abstract interface to user modules
@jeremybennett i tried install lief on Ubuntu using apt install python3 python3-pip && pip3 install lief
and it seemed to work. Are you sure we need to swap out the elf parsing library? I couldn't replicate the problem with an Ubuntu install myself.