2011-05-22 19 views
5

gcc y AMD Open64 opencc ambos tienen una opción -s para "quitar la tabla de símbolos y la información de reubicación". Hasta ahora no he podido encontrar la misma opción en Clang/LLVM. ¿Existe?gcc vs. clang: extracción de símbolos

+1

Creo que deberías usar 'objcopy' (de binutils) para separar los símbolos. De esta forma, los tendrá a mano en caso de que uno de sus usuarios experimente un bloqueo, pero no tiene que incluirlos con el binario que le da a los usuarios. – 0xC0000022L

+0

parece que se perdió algo en una ocasión. Por favor complete el PR en LLVM bugzilla. ¡Gracias! –

+0

@Anton Bien, he archivado http://llvm.org/bugs/show_bug.cgi?id=9986. – Reinderien

Respuesta

6

Puede utilizar la utilidad strip de binutils.

En realidad, un llvm-ld tiene esta opción http://llvm.org/cmds/llvm-ld.html

-strip todo, -S de Gaza y toda información de símbolos de depuración del ejecutable para hacerlo más pequeño.

-strip-depuración, -S Gaza toda la información de depuración del ejecutable a hacerlo más pequeño.

opt tiene algo también:

-strip-depuración Esta opción hace que optan a despojar a la información de depuración del módulo antes de aplicar otros optimizaciones. Es esencialmente lo mismo que -strip pero asegura que la eliminación de la información de depuración se haga primero.

+10

Terminé haciendo esto de manera efectiva pasando clang '-Wl, -s'. – Reinderien

Cuestiones relacionadas