Cómo revertir la tira del objcopy sólo-keep-depuración?
Pregunta
En Linux moderna casi todos los objetos se desnudó y dividido en dos partes (dos archivos). En primer lugar es ejecutable en sí y el segundo es símbolos de depuración, despojados a cabo en ELF originales. Tales archivos se crean con
objcopy --only-keep-debug original.elf binary.dbg
mv original.elf binary
objcopy --strip-debug binary
¿Cómo puedo combinar binary
y binary.dbg
en un archivo ELF con la depuración de información? Quiero recrear sin pelar, binarios originales. Puede ser que no byte a byte igual a la original, pero debe tener un símbolos de depuración en el interior.
PS Sí, sé sobre la sección gnu.debuglink
, pero no funciona para algunos depuradores (Etnus) y desensambladores (objdump no puede restaurar símbolos info)
Solución
Para ELF, el paquete contiene una llamada elfutils
eu-unstrip
herramienta que hace el trabajo. En el contexto de su ejemplo:
eu-unstrip binary binary.dbg
binary.dbg
tiene ahora tanto el binario y símbolos de depuración. Me incluyo una referencia a la documentación si podía encontrar ninguna ...