Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

objdump can take an extremely long time #191

Closed
mikebentley15 opened this issue Aug 9, 2018 · 3 comments
Closed

objdump can take an extremely long time #191

mikebentley15 opened this issue Aug 9, 2018 · 3 comments
Labels
bug python Involves touching python code

Comments

@mikebentley15
Copy link
Collaborator

When doing symbol bisect, the symbol space to search over is generated using objdump --disassemble-all --line-numbers. For large object files with many symbols, especially if it is unoptimized, can take a very long time (such as minutes for a single invocation and take up 50 MB of memory or more). There should be a better way to extract the line number of functions rather than doing a full disassembly.

This is an optimization that deals with a worst case scenario. It is unknown how often this worst case scenario is encountered, and therefore, the impact on the potential community of users is unknown. If you have experienced this problem with FLiT bisect, please chime in.

@mikebentley15 mikebentley15 added bug python Involves touching python code labels Aug 9, 2018
@mikebentley15
Copy link
Collaborator Author

What about using CTags to get function line numbers instead? Yes, this increases to one more dependency, but not a big one, not a required one, and it should be much more performant.

See python-ctags for accessing the ctags information from python.

@mikebentley15
Copy link
Collaborator Author

mikebentley15 commented Aug 31, 2018

cscope is another possability

@mikebentley15
Copy link
Collaborator Author

Fixed by pull request #241

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug python Involves touching python code
Projects
None yet
Development

No branches or pull requests

1 participant