arquitectura de un binario

Horst von Brand vonbrand en inf.utfsm.cl
Jue Sep 9 09:30:51 CLT 2004


Alvaro Herrera <alvherre en dcc.uchile.cl> dijo:
> On Wed, Sep 08, 2004 at 08:48:15PM -0300, Satoru Lucas Shindoi wrote:
> > como puedo saber para que -march y -mcpu fue compilado/optimizado un
> > binario?

> Yo tambien estuve intentando obtener esa informacion (un amigo tenia un
> problema con un programa comercial) y no encontre como :-(

Salvo que el compilador amablemente registre esa info en el ejecutable (una
dosis de strings(1) puede ayudar)...

> Una manera es probar el binario en una maquina de menor linaje y si se
> cae con SIGILL entonces no es apropiado ... claro que un programa puede
> hacer muchas cosas sin pasar justo por la instruccion que el procesador
> no conoce.

Los cambios en la serie ia32 son bastante exoticos (instrucciones
condicionales, mas que nada utiles para sincronizacion; eliminar algunas
ranas idiotas; cambios es el manejo de memoria (registros privilegiados);
variedad de instrucciones privilegiadas; manejo de SSE/MMX), asi que esto
es poco decidor. En todo caso, para esto tal vez es mas util aplicar
objdump(1), y ver si hay instrucciones nuevas (o se nota que esta usando
tecnicas propias de una CPU particular, las mejores secuencias de
instrucciones para ciertas tareas varian bastante). Claro que es un monton
de trabajo, y puede depender de la version exacta del compilador (y los
demas flags) usados.

Igual, me pregunto para que quieren saber esto?
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513


Más información sobre la lista de distribución Linux