I have a suggestion for a capdis feature:When disassembling a function partially, it would be nice if capdis could (optionally) add an LDR PC instruction at the end that would point to the next instruction at the routine's original location.

I added an option -jfw which does this in r5134 (yeah, I'm a slacker )

Thanks.While working on a completely unsupported dump, I've noticed that an unrecognized function listed in find_generic_funcs() prevents the rest of the functions from being used. Did not go as far as finding the piece of code that does this (the code is rather convoluted), but making add_generic_sig_match() return immediately when the first get_saved_sig_val() fails does seem to help.

edit:patch below does what I wrote above plus fixes two possible memory leaks

While working on a completely unsupported dump, I've noticed that an unrecognized function listed in find_generic_funcs() prevents the rest of the functions from being used. Did not go as far as finding the piece of code that does this (the code is rather convoluted), but making add_generic_sig_match() return immediately when the first get_saved_sig_val() fails does seem to help.

edit:patch below does what I wrote above plus fixes two possible memory leaks

Oops, I downloaded this when it was posted but neglected to apply it Feel free to prod me if it seems like I'm ignoring something, it usually just means I forgot.

Having add_generic_sig_match bail if the reference function doesn't exist makes sense. Unrelated to that, I added a generic match to find PTP handlers in r5207. They aren't useful directly as stubs, but can be for analysis and finding other functions.

A couple notes:* Canon sometimes registers the same handler for different opcodes, which creates duplicate addresses in the funcs_by... CSV files. There are already duplicates for _FW, so this doesn't seem like a big deal. It would be kind of nice to prefer the standard name where they are registered for both a standard opcode and Canon extension.* The names for the Canon extensions come from libgphoto2. I don't know how reliable they are.