A technique for statically linking an application process to a wrapper
library employed in intercepting one or more calls invoked by the
application process. The intercepted calls may comprise system calls or
library calls. In a first link step, the application process is statically
linked with at least the intercept library, and in one embodiment, all
libraries associated with the application process except for the wrapper
library. This first statically linking step creates a first module.
Thereafter, at least one call invoked by the application process, and to
be intercepted by the intercept library, is renamed. The renaming of the
intercepted call is from its original name to a temporary name in the
standard program library, the intercept library and the application
program. This renaming step creates a second module that no longer
contains the original name of the at least one intercepted call. The
second linking step is to statically link the second module with the
wrapper library, thereby creating an executable module wherein the
application process is statically linked to all libraries while still
providing for interception of the at least one system or library call
within the executable.
Una técnica para estáticamente ligar un proceso de uso a una biblioteca de la envoltura empleada en interceptar unas o más llamadas invocadas por el proceso de uso. Las llamadas interceptadas pueden abarcar llamadas del sistema o llamadas de la biblioteca. En un primer paso del acoplamiento, el proceso de uso se liga estáticamente por lo menos a la biblioteca de la intercepción, y en una encarnación, todas las bibliotecas asociadas al proceso de uso a excepción de la biblioteca de la envoltura. Este primer paso estáticamente que se liga crea un primer módulo. Después de eso, por lo menos una llamada invocada por el proceso de uso, y ser interceptado por la biblioteca de la intercepción, se retitula. La retitulación de la llamada interceptada es de su nombre original a un nombre temporal en la biblioteca de programas estándar, la biblioteca de la intercepción y el programa de uso. Este paso de retitulación crea un segundo módulo que contenga no más de largo el nombre original de la por lo menos una llamada interceptada. El segundo paso que se liga es ligar estáticamente el segundo módulo a la biblioteca de la envoltura, de tal modo creando un módulo ejecutable en donde el proceso de uso se liga estáticamente a todas las bibliotecas mientras que todavía preve la interceptación de la por lo menos una llamada del sistema o de la biblioteca dentro del ejecutable.