Pregunta

Al crear una biblioteca compartida, el tamaño del archivo ./sl está llegando a ser mayor de 60 KB. Hay 2 archivos .o cuyo tamaño total es superior a 20 KB.

Comprueba las utilidades: ldd y elfdump para determinar las bibliotecas a las que se hace referencia. Además de los archivos originales utilizados, veo referencias de: / usr / ccs / lib / pa20_64 / lddstub y INFORMACIÓN DE ARCHIVO DE FUENTES: ensamblador movelr1 PA-RISC 2.0.

¿Cuáles son las posibles razones para aumentar el tamaño del archivo lib compartido?

[(Novato en C): trabajando en SO: HP Unix 11i V2 PA RISC-64]

¿Fue útil?

Solución 2

¡Gracias, Sean! Sin embargo, el uso de la utilidad de extracción sí afectó el tamaño del archivo, ~ 7 KB, pero de una manera pequeña.

Otra opción que encontramos fue: elfdump -dc TestProg.sl

Al hacerlo, encontramos que el archivo del sistema está incluido y también la fecha / hora de compilación de los archivos fuente. Una probabilidad es que la versión anterior del archivo sl tuviera una versión anterior del archivo de sistema prog / os incluida y esto podría ser una posible causa en la diferencia de tamaño.

El archivo sys incluido en lib compartida: [movelr1.o]: en la ruta /usr/lib/pa20_64/milli.a influye en el tamaño del archivo ./sl creado.

Otros consejos

No soy un experto en HP-UX, pero mi mejor conjetura es que el vinculador de proveedores de HP-UX está agregando algunas cosas adicionales a la biblioteca dinámica que está creando además de los 20kB de archivos de objetos.

Puede usar la utilidad strip (1) para hacer que la biblioteca compartida sea más pequeña.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top