facebookarchive / BOLT

Binary Optimization and Layout Tool - A linux command-line utility used for optimizing performance of binaries
2.51k stars 176 forks source link

Introduce remove-symtab option #232

Closed yota9 closed 2 years ago

yota9 commented 2 years ago

This patch introduces remove-symtab option to be able to skip emitting symtab section in the final binary. Also this patch adds ".zdebug_*" (compressed debug section) in the list of debug section names.

Vladislav Khmelevsky, Advanced Software Technology Lab, Huawei

rafaelauler commented 2 years ago

Changes look good, but we should try to commit one functional change per PR next time.

yota9 commented 2 years ago

@rafaelauler Sure, I thought it will be more convenient for you since you don't merge it through github, next time I will create more PRs :)

rafaelauler commented 2 years ago

@yota9 Thanks! Well, I wrote some scripts to automate part of this. The one thing that I can't do and is entirely manual is if there are multiple commits in a single PR.

The time it takes to merge is usually because we are waiting on tests or internal review (to commit anything in a facebook repo, it needs to be reviewed by another employee). The testing is a bit different than LLVM because they have buildbots that are testing trunk. We are actually running a bunch of tests prior to commit. Because, at the moment, the source of truth of the repo is still a facebook repo (we plan to change that once we migrate to llvm), the process is usually I run the import script, bring the changes in, we kick off tests and then it needs to be reviewed by another person other than me.

If there are multiple small PRs, I can pretty easily import all of them without much overhead. It wouldn't be more effort than kicking off the process for a single larger PR.