Índice
- %LD_LIBRARY_PATH%,
Rutas de búsqueda
- %PLATFORM%,
Sintaxis
- .dynsym,
Irix sobre MIPS
- .fini,
La librería liblink.so,
Variante de C usada,
Inicialización y finalización
- .init,
La librería libhook.so,
La librería liblink.so,
Variante de C usada,
Inicialización y finalización
- _DYNAMIC,
GNU/Linux sobre INTEL 386,
Solaris sobre SPARC
- _pdi_arch_callback(),
API de un Elf Backend
- _pdi_arch_deactivateRedefinition(),
API de un Elf Backend
- _pdi_arch_defaultMaxStubs(),
API de un Elf Backend,
Límites,
pdiconfig.h - Gestión de la configuración
- _pdi_arch_fini(),
API de un Elf Backend
- _pdi_arch_finiCallback(),
API de un Elf Backend
- _pdi_arch_finiObjectList(),
API de un Elf Backend
- _pdi_arch_freeElfObj(),
API de un Elf Backend
- _pdi_arch_freeInterposition(),
API de un Elf Backend
- _pdi_arch_init(),
API de un Elf Backend
- _pdi_arch_initCallback(),
API de un Elf Backend
- _pdi_arch_initObjectList(),
API de un Elf Backend,
Ficheros de cabecera de pDI-Tools
- _pdi_arch_initSafeFuncs(),
API de un Elf Backend
- _pdi_arch_newElfObj(),
API de un Elf Backend
- _pdi_arch_newInterposition(),
API de un Elf Backend
- _pdi_arch_redefine(),
API de un Elf Backend
- _pdi_arch_refreshObjectList(),
API de un Elf Backend,
Casos que debería cubrir
- _pdi_arch_relink(),
API de un Elf Backend
- _pdi_arch_resolveSymbol(),
API de un Elf Backend
- _pdi_arch_resolveSymbolInObject(),
API de un Elf Backend
- _pdi_arch_symbolIsUsedOrReferenced(),
API de un Elf Backend
- _pdi_arch_undoCallback(),
API de un Elf Backend
- _pdi_arch_undoRedefine(),
API de un Elf Backend
- _pdi_arch_undoRelink(),
API de un Elf Backend
- _pdi_becfg_addCommand(),
beconfig.h - Gestión de ficheros de comandos
- _pdi_becfg_addObject(),
beconfig.h - Gestión de ficheros de comandos
- _pdi_becfg_applyBackendConfig(),
beconfig.h - Gestión de ficheros de comandos
- _pdi_becfg_destroyConfig(),
beconfig.h - Gestión de ficheros de comandos
- _pdi_becfg_finalizeRead(),
beconfig.h - Gestión de ficheros de comandos
- _pdi_becfg_getObject(),
beconfig.h - Gestión de ficheros de comandos
- _pdi_becfg_getObjectByAlias(),
beconfig.h - Gestión de ficheros de comandos
- _pdi_becfg_getObjectByPath(),
beconfig.h - Gestión de ficheros de comandos
- _pdi_becfg_getObjectName(),
beconfig.h - Gestión de ficheros de comandos
- _pdi_becfg_initializeRead(),
beconfig.h - Gestión de ficheros de comandos
- _pdi_becfg_loadBackendConfig(),
beconfig.h - Gestión de ficheros de comandos
- _pdi_becfg_loadBackendConfigFromFile(),
beconfig.h - Gestión de ficheros de comandos
- _pdi_becfg_mergeBackendConfigFiles(),
beconfig.h - Gestión de ficheros de comandos
- _pdi_becfg_newConfig(),
beconfig.h - Gestión de ficheros de comandos
- _pdi_becfg_setObjectAlias(),
beconfig.h - Gestión de ficheros de comandos
- _pdi_becfg_showObjects(),
beconfig.h - Gestión de ficheros de comandos
- _pdi_debug(),
log.h - Sistema de log
- _pdi_ebe_getBackendSymbol(),
ebeif.h - Interfaz del Elf Backend
- _pdi_ebe_getObjectName(),
ebeif.h - Interfaz del Elf Backend
- _pdi_ebe_getThreadIdResolver(),
Gestión de threads en los callback,
threadid.h - Gestión del "thread id resolver"
- _pdi_ebe_installInterposition(),
ebeif.h - Interfaz del Elf Backend
- _pdi_ebe_loadBackend(),
ebeif.h - Interfaz del Elf Backend
- _pdi_ebe_mainFilename(),
ebeif.h - Interfaz del Elf Backend
- _pdi_ebe_searchInterposition(),
ebeif.h - Interfaz del Elf Backend
- _pdi_ebe_searchObject(),
ebeif.h - Interfaz del Elf Backend
- _pdi_ebe_searchObjectByAlias(),
ebeif.h - Interfaz del Elf Backend
- _pdi_ebe_searchObjectByPath(),
ebeif.h - Interfaz del Elf Backend
- _pdi_ebe_setObjectAlias(),
ebeif.h - Interfaz del Elf Backend
- _pdi_ebe_setThreadIdResolver(),
Gestión de threads en los callback,
threadid.h - Gestión del "thread id resolver"
- _pdi_ebe_uninstallAllInterpositions(),
ebeif.h - Interfaz del Elf Backend
- _pdi_ebe_uninstallBackendInterpositions(),
ebeif.h - Interfaz del Elf Backend
- _pdi_ebe_uninstallInterposition(),
ebeif.h - Interfaz del Elf Backend
- _pdi_ebe_uninstallInterpositions(),
ebeif.h - Interfaz del Elf Backend
- _pdi_ebe_unloadAllBackends(),
ebeif.h - Interfaz del Elf Backend
- _pdi_ebe_unloadBackend(),
ebeif.h - Interfaz del Elf Backend
- _pdi_error(),
log.h - Sistema de log
- _pdi_log(),
log.h - Sistema de log
- _pdi_log_level(),
log.h - Sistema de log
- _pdi_warning(),
log.h - Sistema de log
- _RLD_LIST (rld5),
La librería libhook.so,
Funcionamiento
- _r_debug,
GNU/Linux sobre INTEL 386,
Solaris sobre SPARC,
PowerPC
- _r_linkmap,
GNU/Linux sobre INTEL 386
- __clone3,
Casos que debería cubrir
- ABI de ELF,
Enlazar dinámicamente un símbolo,
Mecanismos usados para interponer código,
GNU/Linux sobre INTEL 386,
Solaris sobre SPARC,
Irix sobre MIPS,
PowerPC sobre GNU/Linux,
PowerPC,
PowerPC 64,
Organización del Elf Backend,
API de un Elf Backend,
Conclusión y valoración
- abort3,
Mejoras y extensiones
- API de pDI-Tools,
Objetivos,
Desarrollo de pDI-Tools,
Estructura y decisiones de diseño,
El fichero backend.h,
API de pDI-Tools
- API de un Elf Backend,
Portabilidad e implementación en las diferentes plataformas,
Organización del Elf Backend,
API de un Elf Backend,
Planificación
- API del Runtime Linker,
Formación e investigación,
El Runtime Linker,
La librería liblink.so,
Irix sobre MIPS,
Casos que debería cubrir
- Autoconf,
Lenguaje y sistema de compilación,
Pruebas automáticas,
Organización del código según la plataforma,
Herramientas
- config.site,
Compartiendo los valores por defecto
- configure.in,
Lenguaje y sistema de compilación,
Organización del código,
Distribución de los ficheros
- autoconfig.h,
Ficheros de cabecera de pDI-Tools
- Automake,
Lenguaje y sistema de compilación,
Pruebas automáticas,
Organización del código según la plataforma,
Herramientas
- backend,
Backends y runtime,
Backends
- backend.h,
Ficheros de cabecera de pDI-Tools,
Estructura de un backend,
El fichero backend.h
- BECFG_IT_CALLBACK,
beconfig.h - Gestión de ficheros de comandos
- BECFG_IT_REDEFINITION,
beconfig.h - Gestión de ficheros de comandos
- BECFG_IT_RELINK,
beconfig.h - Gestión de ficheros de comandos
- beconfig.h,
beconfig.h - Gestión de ficheros de comandos
- Broken Objects,
Solaris sobre SPARC,
PowerPC,
Organización del Elf Backend
- bucket (hash),
El Runtime Linker
- C++, Lenguaje,
Lenguaje y sistema de compilación
- C, Lenguaje,
Lenguaje y sistema de compilación
- callback handler,
Mecanismo de callback,
Otros parámetros,
Sintaxis de los callback,
callback,
pdiconfig.h - Gestión de la configuración
- chain (hash),
El Runtime Linker
- COFF,
Desarrollo de pDI-Tools,
Secciones y Dynamic Tags,
PowerPC 64
- config.h,
Ficheros de cabecera de pDI-Tools
- configure,
Testeo y comprobación manual,
Manual de instalación
- --enable-debug,
Testeo y comprobación manual
- PREFIX,
Variables de entorno ,
Directorios y nombres de archivos al instalar
- cpp1,
El preprocesador
- dependencias, resolución de,
Resolución de dependencias entre ficheros de comandos
- DITools,
DITools,
Evaluación del proyecto,
Descripción del formato,
Descripción y estructura de DITools,
Funcionamiento,
Lenguaje y sistema de compilación,
Planificación,
Conclusión y valoración,
Sintaxis de los callback,
El fichero backend.h
- di_callback_required(),
Tipos de interposiciones,
El fichero backend.h
- di_fini_backend(),
El fichero backend.h,
Inicialización y finalización
- di_init_backend(),
La librería liblink.so,
El fichero backend.h,
Inicialización y finalización
- di_post_event_callback(),
Tipos de interposiciones,
El fichero backend.h
- di_pre_event_callback(),
Tipos de interposiciones,
El fichero backend.h
- dlclose3,
Desarrollo de pDI-Tools,
Irix sobre MIPS,
Casos que debería cubrir
- dlopen3,
Desarrollo de pDI-Tools,
Irix sobre MIPS,
Casos que debería cubrir
- dlsym3,
Desarrollo de pDI-Tools,
Irix sobre MIPS
- DocBook,
Creación de la documentación,
Distribución de los ficheros,
Planificación
- DocBook/XSL,
Creación de la documentación,
Planificación,
Conclusión y valoración
- DSSSL,
Creación de la documentación,
Conclusión y valoración
- DWARF,
Mejoras y extensiones
- Dynamic Tags,
Secciones y Dynamic Tags,
Organización del Elf Backend
- DT_DEBUG,
Secciones y Dynamic Tags,
Solaris sobre SPARC
- DT_HASH,
Secciones y Dynamic Tags,
Resolución de un símbolo,
El Runtime Linker,
Conceptos básicos para crear una interposición de código
- DT_JMPREL,
Enlazar dinámicamente un símbolo,
Conceptos básicos para crear una interposición de código,
GNU/Linux sobre INTEL 386,
Irix sobre MIPS,
PowerPC,
Organización del Elf Backend
- DT_MIPS_GOTSYM,
Irix sobre MIPS
- DT_MIPS_LOCAL_GOTNO,
Irix sobre MIPS
- DT_MIPS_RLD_VERSION,
Irix sobre MIPS
- DT_NULL,
Secciones y Dynamic Tags
- DT_PLTGOT,
Secciones y Dynamic Tags,
Enlazar dinámicamente un símbolo,
Conceptos básicos para crear una interposición de código,
GNU/Linux sobre INTEL 386,
Irix sobre MIPS,
PowerPC 64
- DT_PLTREL,
Secciones y Dynamic Tags
- DT_PLTRELSZ,
Secciones y Dynamic Tags
- DT_REL,
Secciones y Dynamic Tags,
Enlazar dinámicamente un símbolo,
Conceptos básicos para crear una interposición de código,
GNU/Linux sobre INTEL 386,
Irix sobre MIPS,
Organización del Elf Backend
- DT_RELA,
Secciones y Dynamic Tags,
Solaris sobre SPARC,
Organización del Elf Backend
- DT_RELAENT,
Secciones y Dynamic Tags,
Solaris sobre SPARC
- DT_RELASZ,
Secciones y Dynamic Tags,
Solaris sobre SPARC
- DT_RELENT,
Secciones y Dynamic Tags,
GNU/Linux sobre INTEL 386,
Irix sobre MIPS
- DT_RELSZ,
Secciones y Dynamic Tags,
GNU/Linux sobre INTEL 386,
Irix sobre MIPS
- DT_STRSZ,
Secciones y Dynamic Tags
- DT_STRTAB,
Secciones y Dynamic Tags,
Resolución de un símbolo
- DT_SYMBOLIC,
Resolución de un símbolo
- DT_SYMTAB,
Secciones y Dynamic Tags,
Resolución de un símbolo,
Conceptos básicos para crear una interposición de código,
Irix sobre MIPS
- ebeif.h,
Ficheros de cabecera de pDI-Tools,
Sintaxis,
ebeif.h - Interfaz del Elf Backend
- ebeif.h.in,
Ficheros de cabecera de pDI-Tools
- Elf Backend,
Desarrollo de pDI-Tools,
Validación,
Portabilidad e implementación en las diferentes plataformas,
Organización del Elf Backend
- ElfW(x) (macro),
Secciones y Dynamic Tags
- exec2,
Backends y runtime,
Casos que debería cubrir
- execve2,
Casos que debería cubrir
- exit3,
Funcionamiento,
Mejoras y extensiones,
Callbacks,
El runtime,
Casos que debería cubrir
- exports.h,
Ficheros de cabecera de pDI-Tools
- ficheros de comandos
- #backend,
Sintaxis
- #commands,
Sintaxis
- #define,
Mecanismo de reenlace,
Sintaxis
- #object,
Sintaxis
- #relinks,
Sintaxis
- alias,
Sintaxis
- callback,
Sintaxis de los callback
- comandos,
Mecanismo de reenlace,
Sintaxis
- LIBC (alias),
Sintaxis
- MAIN (alias),
Mecanismo de reenlace,
Sintaxis,
callback
- objetos,
Mecanismo de reenlace,
Sintaxis
- PDI (alias),
Sintaxis
- redefinición,
Sintaxis de las redefiniciones
- reenlace,
Sintaxis de los reenlaces
- ficheros de configuración,
Configuración de pDI-Tools
- acciones,
Como se estructura un fichero de configuración
- allow_lib_as_be,
Otros parámetros
- asignaciones,
Como se estructura un fichero de configuración
- becfg_path,
Rutas de búsqueda
- be_path,
Rutas de búsqueda
- cb_allow_handler,
Otros parámetros,
Sintaxis de los callback,
callback
- cb_max_stubs,
Límites,
callback
- cb_stack_size,
Límites,
callback
- comandos,
Como se estructura un fichero de configuración
- comentarios,
Como se estructura un fichero de configuración
- config,
Como se estructura un fichero de configuración,
Backends y runtime,
Resolución de dependencias entre ficheros de comandos
- debug,
Variables de entorno ,
Ficheros de log y depuración
- defaults,
La sección defaults,
La sección runtime,
Ejemplo completo
- donttouch_backends,
Mecanismo de reenlace,
Mecanismo de redefinición,
Otros parámetros,
Sintaxis de los reenlaces,
redefiniciones
- donttouch_pdi,
Mecanismo de reenlace,
Mecanismo de redefinición,
Otros parámetros,
Sintaxis de los reenlaces,
redefiniciones,
pdiconfig.h - Gestión de la configuración
- Error,
Sintaxis
- global,
Sintaxis,
La sección global,
Ejemplo completo
- Include,
Sintaxis,
Configuración basada en varios ficheros
- lib_path,
Rutas de búsqueda
- Log,
Sintaxis
- logfile,
Ficheros de log y depuración
- max_objects,
Límites
- max_threads,
Límites,
callback,
Gestión de threads en los callback
- no_check_on_config,
Otros parámetros
- num_threads,
Límites,
callback
- reset_becfg_path,
Rutas de búsqueda
- reset_be_path,
Rutas de búsqueda
- reset_config,
Como se estructura un fichero de configuración,
Backends y runtime
- reset_lib_path,
Rutas de búsqueda
- reset_runtime,
Backends y runtime
- runtime,
Variables de entorno ,
La sección runtime,
Backends y runtime,
Resolución de dependencias entre ficheros de comandos
- runtime, fichero,
Variables de entorno
- runtime, sección,
La sección runtime,
Ejemplo completo
- sintaxis,
Sintaxis
- verbose,
Variables de entorno ,
Ficheros de log y depuración
- Warning,
Sintaxis
- fork2,
Backends y runtime,
Casos que debería cubrir
- generic wrapper (ver también callback handler),
Mecanismo de callback,
Interposiciones mediante callback,
callback,
beconfig.h - Gestión de ficheros de comandos
- Global Offset Table,
Secciones y Dynamic Tags,
Mecanismos usados para interponer código,
Conceptos básicos para crear una interposición de código,
El formato ELF en diferentes sistemas,
Solaris sobre SPARC,
Irix sobre MIPS,
PowerPC
- GNU Assembler,
Herramientas
- GNU C Compiler,
El preprocesador
- GNU/Linux,
Desarrollo de pDI-Tools,
Portabilidad e implementación en las diferentes plataformas,
GNU/Linux sobre INTEL 386,
PowerPC sobre GNU/Linux,
Planificación
- GOT
- Ver Global Offset Table
- Ver Global Offset Table
- Ver Global Offset Table
- Ver Global Offset Table
- Ver Global Offset Table
- Ver Global Offset Table
- hash,
El Runtime Linker,
Conceptos básicos para crear una interposición de código
- INTEL 386,
Desarrollo de pDI-Tools,
Portabilidad e implementación en las diferentes plataformas,
GNU/Linux sobre INTEL 386,
Planificación
- interposiciones, tipos de,
Tipos de interposiciones,
Tipos de interposiciones,
Tipos de interposiciones
- callback,
Tipos de interposiciones,
Limitaciones de DITools,
callback,
Estructura de un backend,
Callbacks,
Gestión de threads en los callback
- redefinición,
redefiniciones,
Estructura de un backend,
Wrappers
- reenlace,
reenlaces,
Estructura de un backend,
Wrappers
- Irix,
Desarrollo de pDI-Tools,
Mecanismos usados para interponer código,
Portabilidad e implementación en las diferentes plataformas,
Irix sobre MIPS,
Planificación
- ISO C90,
Variante de C usada,
El preprocesador,
Tipos de datos
- ISO C99,
Tipos de datos
- Itanium,
Desarrollo de pDI-Tools,
Irix sobre MIPS
- Lazy Binding,
El Runtime Linker
- ld,
Mecanismos usados para interponer código
- ld-linux.so,
El Runtime Linker,
GNU/Linux sobre INTEL 386
- ld.so.1,
El Runtime Linker,
Solaris sobre SPARC
- LD_PRELOAD,
Funcionamiento
- libc.so,
El Runtime Linker
- libdyn.so,
Testeo y comprobación manual,
Reenlaces,
Redefiniciones
- libhook.so,
Descripción y estructura de DITools,
La librería libhook.so
- liblink.so,
Descripción y estructura de DITools,
La librería liblink.so
- libpdi.so,
Funcionamiento,
Distribución de los ficheros,
Testeo y comprobación manual
- libtest.so,
Mecanismo de reenlace,
Testeo y comprobación manual,
Reenlaces
- Linux
- Ver GNU/Linux
- Ver GNU/Linux
- Ver GNU/Linux
- Ver GNU/Linux
- log.h,
Ficheros de cabecera de pDI-Tools,
log.h - Sistema de log
- LOG_LEVEL_DEBUG,
log.h - Sistema de log
- LOG_LEVEL_ERROR,
log.h - Sistema de log
- LOG_LEVEL_LOG,
log.h - Sistema de log
- LOG_LEVEL_WARNING,
log.h - Sistema de log
- m41,
Herramientas
- make,
Herramientas
- MIPS,
Desarrollo de pDI-Tools,
Mecanismos usados para interponer código,
Portabilidad e implementación en las diferentes plataformas,
Irix sobre MIPS,
Planificación
- pdi.cfg,
Variables de entorno
- pdiconfig.h,
Ficheros de cabecera de pDI-Tools,
pdiconfig.h - Gestión de la configuración
- PDI_ALIAS_LIBC,
Sintaxis,
ebeif.h - Interfaz del Elf Backend
- PDI_ALIAS_MAIN,
Sintaxis,
ebeif.h - Interfaz del Elf Backend
- PDI_ALIAS_PDI,
Sintaxis,
ebeif.h - Interfaz del Elf Backend
- PDI_BE_FUNC_CB_REQ,
Mecanismo de callback,
callback,
El fichero backend.h,
Callbacks
- PDI_BE_FUNC_FINI,
El fichero backend.h,
Inicialización y finalización
- PDI_BE_FUNC_INIT,
El fichero backend.h,
Inicialización y finalización
- PDI_BE_FUNC_POST_CB,
Mecanismo de callback,
callback,
El fichero backend.h,
Callbacks
- PDI_BE_FUNC_PRE_CB,
Mecanismo de callback,
callback,
El fichero backend.h,
Callbacks
- PDI_CONFIG, estructura,
pdiconfig.h - Gestión de la configuración
- allow_lib_as_be,
pdiconfig.h - Gestión de la configuración
- becfg_path,
pdiconfig.h - Gestión de la configuración
- beconfig_files,
pdiconfig.h - Gestión de la configuración
- be_path,
pdiconfig.h - Gestión de la configuración
- cb_allow_handler,
pdiconfig.h - Gestión de la configuración
- cb_max_stubs,
pdiconfig.h - Gestión de la configuración
- cb_stack_size,
pdiconfig.h - Gestión de la configuración
- debug,
pdiconfig.h - Gestión de la configuración
- donttouch_backends,
pdiconfig.h - Gestión de la configuración
- donttouch_pdi,
pdiconfig.h - Gestión de la configuración
- lib_path,
pdiconfig.h - Gestión de la configuración
- logfile,
pdiconfig.h - Gestión de la configuración
- log_filename,
pdiconfig.h - Gestión de la configuración
- max_objects,
pdiconfig.h - Gestión de la configuración
- max_threads,
pdiconfig.h - Gestión de la configuración
- num_threads,
pdiconfig.h - Gestión de la configuración
- n_becfg_path,
pdiconfig.h - Gestión de la configuración
- n_beconfig_files,
pdiconfig.h - Gestión de la configuración
- n_be_path,
pdiconfig.h - Gestión de la configuración
- n_lib_path,
pdiconfig.h - Gestión de la configuración
- verbose,
pdiconfig.h - Gestión de la configuración
- PDI_ELFOBJ,
Organización del Elf Backend
- PDI_IT_RELINK,
ebeif.h - Interfaz del Elf Backend
- PDI_STR_BE_FUNC_CB_REQ,
El fichero backend.h
- PDI_STR_BE_FUNC_FINI,
El fichero backend.h
- PDI_STR_BE_FUNC_INIT,
El fichero backend.h
- PDI_STR_BE_FUNC_POST_CB,
El fichero backend.h
- PDI_STR_BE_FUNC_PRE_CB,
El fichero backend.h
- PLT
- Ver Procedure Linkage Table
- Ver Procedure Linkage Table
- Ver Procedure Linkage Table
- Ver Procedure Linkage Table
- Ver Procedure Linkage Table
- POSIX,
Lenguaje y sistema de compilación
- PowerOpen,
Desarrollo de pDI-Tools,
PowerPC 64
- PowerPC,
Desarrollo de pDI-Tools,
Portabilidad e implementación en las diferentes plataformas,
PowerPC sobre GNU/Linux,
Planificación
- PowerPC 64,
Desarrollo de pDI-Tools,
Portabilidad e implementación en las diferentes plataformas,
PowerPC 64,
Planificación
- Preprocesador de C
- Ver cpp1
- Procedure Linkage Table,
Secciones y Dynamic Tags,
Conceptos básicos para crear una interposición de código,
El formato ELF en diferentes sistemas,
GNU/Linux sobre INTEL 386,
Solaris sobre SPARC,
PowerPC
- pruebas
- Ver Validación
- Pruebas de concepto,
Desarrollo de pDI-Tools
- pthread, librería de threads,
Testeo y comprobación manual,
Gestión de threads en los callback
- redefine
- Ver interposiciones, tipos de, redefinición
- relink
- Ver interposiciones, tipos de, reenlace
- rld5,
Mecanismos usados para interponer código,
Limitaciones de DITools
- runtime (backend),
Testeo y comprobación manual,
Ficheros de cabecera de pDI-Tools,
La sección runtime,
Backends y runtime,
El runtime,
pdiconfig.h - Gestión de la configuración
- Runtime Config,
La librería liblink.so
- Runtime Linker,
Formación e investigación,
Descripción del formato,
Secciones y Dynamic Tags,
El Runtime Linker,
Conceptos básicos para crear una interposición de código,
El formato ELF en diferentes sistemas,
GNU/Linux sobre INTEL 386,
Solaris sobre SPARC,
Irix sobre MIPS,
PowerPC,
PowerPC 64,
Organización del Elf Backend,
Conclusión y valoración,
El runtime,
Casos que debería cubrir
- runtime.so,
Testeo y comprobación manual,
Interposiciones mediante callback
- R_386_JMP_SLOT,
GNU/Linux sobre INTEL 386
- r_debug,
Solaris sobre SPARC
- R_PPC_JMP_SLOT,
PowerPC
- R_SPARC_JMP_SLOT,
Solaris sobre SPARC
- script,
Lenguaje y sistema de compilación,
Distribución de los ficheros,
Pruebas automáticas,
Conclusión y valoración,
Trabajo futuro
- SGML,
Creación de la documentación,
Conclusión y valoración
- shell script
- Ver script
- signal handlers,
Mejoras y extensiones
- Solaris,
Desarrollo de pDI-Tools,
Portabilidad e implementación en las diferentes plataformas,
Solaris sobre SPARC,
Planificación
- SPARC,
Desarrollo de pDI-Tools,
Portabilidad e implementación en las diferentes plataformas,
Solaris sobre SPARC,
Planificación
- static (lenguaje C),
Código de gestión interna del backend
- STB_GLOBAL,
Resolución de un símbolo
- STB_LOCAL,
Resolución de un símbolo
- STB_WEAK,
Resolución de un símbolo
- stdarg.h,
Mejoras y extensiones,
Reenlaces,
Interposiciones mediante callback
- stderr (standard error),
Variables de entorno ,
Ficheros de log y depuración
- stdout (standard output),
Ficheros de log y depuración
- String Table,
Secciones y Dynamic Tags
- stringification operator #,
El preprocesador
- STT_FUNC,
Resolución de un símbolo
- stub,
Mejoras y extensiones,
GNU/Linux sobre INTEL 386,
Solaris sobre SPARC,
PowerPC
- stubs
- Ver stub
- Ver stub
- Ver stub
- Ver stub
- Ver stub
- Symbol Table,
Secciones y Dynamic Tags
- target function,
reenlaces,
redefiniciones
- target object,
reenlaces,
redefiniciones
- testbe.so,
Testeo y comprobación manual,
Interposiciones mediante callback
- testcb.so,
Testeo y comprobación manual,
Interposiciones mediante callback
- testth,
Testeo y comprobación manual,
Interposiciones mediante callback
- THIS,
log.h - Sistema de log
- thread id resolver,
Testeo y comprobación manual,
Interposiciones mediante callback,
Ficheros de cabecera de pDI-Tools,
Gestión de threads en los callback,
threadid.h - Gestión del "thread id resolver"
- threadid.h,
Ficheros de cabecera de pDI-Tools,
threadid.h - Gestión del "thread id resolver"
- threads,
Interposiciones mediante callback,
callback,
Gestión de threads en los callback
- TOC,
PowerPC 64
- token paste operator ##,
El preprocesador
- types.h,
Ficheros de cabecera de pDI-Tools
- Validación,
Validación
- Pruebas automáticas,
Pruebas automáticas
- Pruebas manuales,
Testeo y comprobación manual
- Variables de entorno,
Variables de entorno ,
Compartiendo los valores por defecto,
Definiendo variables
- cache_file,
Compartiendo los valores por defecto
- CC,
Compartiendo los valores por defecto
- CONFIG_SITE,
Compartiendo los valores por defecto
- DI_CFG_FILE,
La librería liblink.so,
Variables de entorno
- DI_CONFIG_FILE,
Limitaciones de DITools,
Variables de entorno ,
Wrappers,
Callbacks
- DI_DEBUG,
Variables de entorno
- DI_FEEDBACK,
Variables de entorno
- DI_FOR_CHAPMAN,
Variables de entorno
- DI_LOG_FILE,
Variables de entorno
- DI_RUNTIME_FILE,
La librería liblink.so,
Limitaciones de DITools,
Variables de entorno
- LD_BIND_NOW,
El Runtime Linker,
Tipos de interposiciones,
Limitaciones de DITools
- LD_LIBRARY_PATH,
Rutas de búsqueda,
pdiconfig.h - Gestión de la configuración
- prefix,
Compartiendo los valores por defecto
- _RLD_LIST,
La librería libhook.so
- weak, símbolos,
Resolución de un símbolo
- wildcards,
Trabajo futuro
- wrapper,
reenlaces,
Estructura de un backend,
Wrappers
- XML,
Creación de la documentación,
Planificación,
Conclusión y valoración