US2004049667A1PendingUtilityA1

Method of patching compiled and linked program code comprising instructions which are grouped into bundles

Priority: Feb 22, 2000Filed: Sep 4, 2003Published: Mar 11, 2004
Est. expiryFeb 22, 2020(expired)· nominal 20-yr term from priority
G06F 9/3844G06F 9/324G06F 9/3853G06F 9/328G06F 9/3806G06F 9/30054G06F 9/323G06F 9/30061G06F 9/322
46
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Compiled and linked program code having instructions grouped into bundles, wherein the instructions of each bundle are sequentially ordered, is patched by forming a patch bundle and one or more patch code bundles. This is done by writing a long IP-relative branch instruction into multiple syllables of the patch bundle, with the long IP-relative branch instruction providing a means of branching to patch code. Instructions which are similarly located in a bundle to be patched, and which precede the long IP-relative branch instruction, are copied into syllables of the patch bundle. Other instructions of the bundle to be patched are copied into ones of the one or more patch code bundles. The bundle to be patched is overwritten with the patch bundle, and the one or more patch code bundles are written into the patch code.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . For compiled and linked program code comprising instructions which are grouped into bundles, wherein the instructions of each bundle are sequentially ordered, a method of patching the compiled and linked program code, comprising: 
 a) forming a patch bundle and one or more patch code bundles by: 
 i) writing a long IP-relative branch instruction into multiple syllables of the patch bundle, the long IP-relative branch instruction providing a means of branching to patch code; and  
 ii) copying into syllables of the patch bundle, which syllables precede the long IP-relative branch instruction, instructions which are similarly located in a bundle to be patched, and copying other instructions of the bundle to be patched into ones of the one or more patch code bundles;  
   b) overwriting the bundle to be patched with the patch bundle; and    c) writing the one or more patch code bundles into said patch code.    
     
     
         2 . A method as in  claim 1 , wherein each instruction bundle consists of three instruction syllables, and wherein long IP-relative branch instructions can only be written into the sequentially last syllables of an instruction bundle.  
     
     
         3 . A method as in  claim 2 , wherein each patch bundle which is used to patch the compiled and linked program code assumes an MLB template form, wherein M is indicative of a memory instruction held in the first syllable of the template, B is indicative of a branch instruction held in the third syllable of the template, and L is indicative of additional offsets bits held in the L syllable of the template, which additional offset bits are associated with the branch instruction held in the B syllable of the template, the L and B syllables together holding said long IP-relative branch instruction.  
     
     
         4 . A method as in  claim 2 , further comprising, when the bundle to be patched comprises three branch instructions: 
 a) writing a “no operation” instruction into the first syllable of the patch bundle; and    b) writing the first syllable of the bundle to be patched into one of the one or more patch code bundles.

Join the waitlist — get patent alerts

Track US2004049667A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.