Patent ID: 8468516

Claim:
A method executed by a processor comprising: identifying individual symbols within an updated version of embedded system firmware and corresponding symbols within a prior version of the embedded system firmware, wherein the symbols specify variables or functions used within the firmware, wherein identifying comprises: reading a record from a symbol table of the prior version, wherein the record describes one of the symbols within the prior version of the embedded system firmware; and reading a record from a symbol table of the updated version, wherein the record describes one of the symbols within the updated version of the embedded system firmware that corresponds to the symbol within the prior version; determining differences between the updated version of the embedded system firmware and the prior version of the embedded system firmware by comparing the symbols within the updated version and the symbols within the prior version, wherein the updated version and the prior version of the embedded system firmware comprise executable machine instructions compiled from source code, wherein comparing comprises comparing the record of the symbol within the prior version and the record of the symbol within the updated version to determine whether the symbols have been modified; and generating a software patch based on the determined differences, wherein generating comprises: extracting specific content from source code for the updated version of the embedded system firmware that causes the determined differences, wherein the specific content comprises source code for the symbol from the updated version source code when the symbol has been modified; compiling the extracted specific content; and building the software patch from the compiled specific content.