When using objdump to examine several of the executables found here:
objdump reports exhausted memory when trying to read the symbol table. Note that these executables are certainly going to be using some crazy compression techniques to keep themselves within 8 kilobytes.
Created attachment 9738 [details]
Please could you try out this patch. It only adds an extra error message,
explaining why space could not be found to allocate the symbol table. It
does not make any attempt to allow objdump to continue working after detecting
the error. I felt that doing so would likely add more bugs to objdump,
which would be bad.
I only tested one file from the repository you indicated, so there may be
others that cause objdump to run out of memory in other ways. If you find
any like this, please feel free to update this bug report with their names
and I will investigate further.
Huh, every exe I've tried said it failed because there were roughly 18.4 quintillion symbols. That... definitely doesn't seem right. :P
The master branch has been updated by Nick Clifton <firstname.lastname@example.org>:
Author: Nick Clifton <email@example.com>
Date: Mon Jan 9 09:27:46 2017 +0000
Improve objdump's behaviour when it encounters a corrupt binary with an excessively large symbol table.
* coffgen.c (_bfd_coff_get_external_symbols): Generate an error
message if there are too many symbols to load.
Yeah - whoever created those binaries is doing some funky things with the COFF/PE headers. Anyway I have now checked the patch into the sources.