Add `--keep-symbols` flag
Created by: athei
In order to properly analyze a contract binary we need to keep the wasm name section alive so that we can see what is going on. Using the non post processed wasm file is of no use because we are interested in the fully optimized binary when doing an analysis. To that end I added a new --keep-symbols
flag to the build
command which prevents wasm-opt
from removing the debug section.
I needed to make some other changes to make this work, too. Most notable I removed the call to pwasm_utils::optimize
which unconditionally removes all custom sections. We don't need this anyways because wasm-opt
does the same optimizations and more. It sufficed to remove all exports from the module (but call
and deploy
) to have the same result without pwasm_utils::optimize
. I argue that having one less pass involved is a good thing.