Melyik object fájlokból állt össze a végrahajtható állomány?

Fórumok

Sziasztok!

Lehet, hogy triviálisat kérdezek, de hosszabb guglizás után sem találok se pro, se kontra választ. (Persze lehet, hogy rosszul kerestem...)

Szóval: Van több, Fortran forrásból fordított végrehajtható állomány, amelyekről annyit tudunk, hogy némelyikük egyetlen forrásállományból fordult, némelyikük pedig többől fordult és linkelődött, de hogy melyik milyen, azt már nem tudjuk. A forrásállományok és az object fájlok is megvannak, de a fordítás sajnos "kézzel" történt valamikor, most pedig kellene egy jó makefile...

A kérdésem az lenne, hogy a forráskódok böngészése nélkül meg lehet-e valahogyan viszonylag gyorsan állapítani, hogy egy adott végrehajtható állomány melyik object fájlokból állt össze?

Hozzászólások

nm-mel rámész a futtathatóra, megnézed, mik vannak benne.
Aztán egyesével a .o-kon is. Ezek után már tudod, mi kell, és az hol van. objdump is működik erre.

Torolve!

(felreertettem es az ldd-t irtam)

Szerintem nem kell tudni, hogy melyik program pontosan melyik modulokat linkeli be. Elég tudni, hogy mik a főprogramok. Az összes többi (nem main) forrásból csinálsz egy statikus libet, amit hozzálinkelsz a főprogramok objectjéhez. A linker tudni fogja, hogy mihez mi kell neki. Legalábbis, amíg nincs névütközés.
--
ulysses.co.hu

Nem pont ide akartam, de mindegy.