Estoy tratando de desmontar un objeto creado para ARM con gcc. Desafortunadamente, objdump está tratando de adivinar si el código es ARM y Thumb, y se está equivocando: cree que mi código es Thumb cuando en realidad es ARM.objdump y ARM vs Thumb
Veo que objdump tiene una opción para forzarlo a interpretar todas las instrucciones como Thumb (-Mforce-thumb
), ¡pero no tiene uno para forzar el modo ARM!
Esto parece una omisión realmente extraña para mí, y está obstaculizando seriamente mi capacidad para realizar el trabajo (estoy en un dispositivo integrado y mi único método de depuración es mirar el desmontaje). He intentado varios enfoques, incluido tratar de decirle a objdump que use una arquitectura ARM que no admita Thumb, pero nada parece funcionar. ¿Algunas ideas?
(Y sí, sé que las instrucciones son muy ... ARM)
está pelando los archivos binarios (elf), tal vez la información estaba allí y luego se eliminó. O tal vez tenga que agregar un interruptor para incluir la información de depuración en el binario. –
Es 'objdump ... -Mno-force-thumb' hoy. No puedo decir si esto estuvo presente en 2011. Básicamente es ARM o Thumb, por lo que cuando dices 'no-force-thumb' el conjunto de instrucciones es ARM. – JSmyth