FYI, I've recently added a couple more features to xtobjdis as well:
* Added --raw option to read/disassemble raw binary blobs (instead of ELF object files). It was technically possible to do something like this before using additional tools (i.e. objcopy), but it was completely undocumented and somewhat limited. This should make it a lot easier (you will probably want to use it in conjunction with the second new feature, though)
* Added --fixups option to specify a file containing defs/hints/tweaks/etc the disassembler should take into account when disassembling the file (I've been meaning to do this since very early on, but never got around to it). Most notably, this can be used to define the location of additional entrypoints/functions/strings/other-data/etc when disassembling raw files (since xtobjdis doesn't have any of the tons of useful ELF data to help with that sort of thing when processing raw files).
The fixups files are YAML, but more details on the specific format/options still need to be fully documented (that will hopefully be done soon). However, most of the main options/features can already be seen in the fixups file I've created for disassembling the ESP8266 Boot ROM which I've also uploaded to my esp8266-re-tools repo:
(So, for example, if you have a dump of the boot ROM as bootrom.bin, and you download bootrom.fixups (and a current version of xtobjdis), you should now be able to disassemble it (with full annotations) using: 'xtobjdis --raw=0x40000000 --fixups=bootrom.fixups bootrom.bin')
--Alex