A linker and a method of linking object code modules using the linker is
described in which a mechanism is defined for defining and passing
relocations, termed compound relocations, in the object files, the
compound relocations being expandable by the linker into a sequence of
relocations all at the same offset. Each compound relocation has a type
field denoting a compound relocation type indicator and an offset field
indicating the offset where the compound relocation is to be expanded.
The method comprises reading a compound relocation, recalling a predefined
sequence of relocations, and executing the predefined sequence at the same
location as the compound relocation.
By defining compound relocations for frequently performed calculations
object file bloat can be avoided, as the same sequences are not repeatedly
written in the object code files.
Un linker y un método de ligar los módulos del código de objeto que usan el linker es descrito en el cual un mecanismo se define para definir y pasar relocalizaciones, llamado las relocalizaciones compuestas, en los ficheros objeto, las relocalizaciones compuestas que son extensibles por el linker en una secuencia de relocalizaciones que todo en igual compensa. Cada relocalización compuesta tiene un tipo campo el denotar de un tipo compuesto indicador y un campo compensado de la relocalización que indica la compensación donde está ser ampliado la relocalización compuesta. El método abarca la lectura de una relocalización compuesta, recordar una secuencia predefinida de relocalizaciones, y ejecutar la secuencia predefinida en la misma localización que la relocalización compuesta. Definiendo las relocalizaciones compuestas para los cálculos con frecuencia realizados que el fichero objeto hincha puede ser evitado, pues las mismas secuencias no se escriben en varias ocasiones en los archivos de código de objeto.