Domanda

Al momento della creazione di una libreria condivisa la dimensione del file ./sl risulta essere maggiore di 60 KB. Esistono 2 file .o la cui dimensione totale è superiore a 20 KB.

Controllato le utilità: ldd ed elfdump per determinare le librerie a cui si fa riferimento. Oltre ai file originali utilizzati, vedo i riferimenti di: / usr / ccs / lib / pa20_64 / lddstub e INFORMAZIONI SUL FILE SORGENTE: assemblatore movelr1 PA-RISC 2.0.

Quali sono i possibili motivi dell'aumento della dimensione del file lib condiviso?.

[(Principiante in C): lavorando su SO: HP Unix 11i V2 PA RISC-64]

È stato utile?

Soluzione 2

Grazie Sean !, Tuttavia l'utilizzo dell'utility strip ha influito sulla dimensione del file, ~ 7 KB, ma in piccolo.

Un'altra opzione che abbiamo trovato era: elfdump -dc TestProg.sl

In questo modo abbiamo scoperto che il file di sistema è incluso e anche la data / ora della compilazione dei file di origine. Una probabilità è che la versione precedente del file sl avesse una versione precedente del file di sistema prog / os inclusa e questa potrebbe essere una possibile causa nella differenza di dimensioni.

Il file sys incluso nella libreria condivisa: [movelr1.o]: nel percorso /usr/lib/pa20_64/milli.a influenza la dimensione del file ./sl creato.

Altri suggerimenti

Non sono un esperto di HP-UX, ma la mia ipotesi migliore è che il linker del fornitore HP-UX stia aggiungendo alcune cose aggiuntive alla libreria dinamica che sta creando oltre ai 20kB di file oggetto.

È possibile utilizzare l'utilità strip (1) per ridurre la libreria condivisa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top