When manipulating object code, it's often useful to separate symbol references
from symbol definitions -- for example in conjunction with the --wrap option to
ld. Ordinarily --wrap doesn't work within the scope of a single object file,
since the assembler has already resolved references to symbols defined in the
same file. The attached patch to objcopy (current CVS) supports undoing this
binding process, by providing an --unbind-symbol operation which replaces a
single symbol entry SYMBOL with (up to) two: __def_SYMBOL and __ref_SYMBOL.
It's not been extensively tested, but seems to work. If it looks good, please
consider committing it. I'd be grateful for feedback in any case.
Created attachment 2839 [details]
Patch to objcopy adding --unbind-symbol option