On 4/11/06, n0dalus <n0dalus+redhat(a)gmail.com> wrote:
I wonder if a diff/delta creating program could be written
specifically for ELF format files.
Each .section (text,data,init,etc) of the library/program could be
analyzed. It might be able to do things such as detect the
introduction of a new symbol and record the offset that the symbol
locations after that were moved. A small bugfix may change the binary
data a lot, but if the data was analyzed properly the real changes
might only be small.
Oh yes, obviously lots of room for improvement. Diffing memory offsets, etc..
In general finding minimal deltas in a bound amount of time is a
difficult problem and one with a lot of room for improvement and
domain specific enhancements...
But for today we must use what is already there... the overall
infrastructure would be more than enough work. Once you've coded the
uber-binary-differ we can talk about using that. :)