web-dev-qa-db-ja.com

gcc-オブジェクトファイルのマップファイルを作成する方法

.map/a.out.mapファイルから作成された.cppという.objファイルがありますが、その方法を覚えていません。スニペットを含めました:

.plt            0x0000380c      0x848
 *(.plt)
 .plt           0x0000380c      0x848 C:/QNX650/target/qnx6/armle-v7/lib/crti.o

.text           0x00004054     0x5448
                0x00004054                _btext = .
 *(.text .stub .text.* .gnu.linkonce.t.*)
 .text          0x00004054        0x0 C:/QNX650/target/qnx6/armle-v7/lib/crti.o
 .text          0x00004054       0xf4 C:/QNX650/Host/win32/x86/usr/lib/gcc/arm-unknown-nto-qnx6.5.0eabi/4.4.2/pic//crtbegin.o
 .text          0x00004148     0x1b3c C:\Temp\2qccTulUdb\eventlookupmodel.o
                0x00004b80                AL2HMIBridge::EventLookupModel::data(QModelIndex const&, int) const
                0x000054f8                AL2HMIBridge::EventLookupModel::rowCount(QModelIndex const&) const
                0x000046a8                AL2HMIBridge::EventLookupModel::getNameFromId(unsigned int, unsigned int)
                0x00004148                AL2HMIBridge::EventLookupModel::EventLookupModel(AL2HMIBridge::CsvImporter&, QObject*)
                0x00004738                AL2HMIBridge::EventLookupModel::getElementFromId(unsigned int, unsigned int)
                0x00004ab4                AL2HMIBridge::EventLookupModel::getElementFromName(QString const&)
                0x00005548                AL2HMIBridge::EventLookupModel::appendElement(AL2HMIBridge::EventLookupModel::EventElement const&)
                0x00005804                AL2HMIBridge::EventLookupModel::appendElement(QString const&, unsigned int, unsigned int, QList<

.mapファイルを作成するためのgccコマンドとは何ですか?

10
Bob

プログラムをリンクしていて、マップ出力を生成したい場合は、以下を追加します。

 -Xlinker -Map=output.map 

gccコマンドにマップファイルoutput.mapを作成させる

オブジェクトファイルのシンボルと再配置を確認する場合は、objdumpツールを使用できます。

objdump -x an_object_file.o
16
lostbard