2012-07-09 36 views
3

我正在與一個項目交給我,一些建築和連接概念對我來說是新的。我有一個makefile,幾個彙編和C源文件,一個ELF文件和二進制文件。當我將ELF文件加載到目標上時,我只能夠遍歷C文件,而不是彙編文件。ELF符號表中缺少源文件 - 如何包含它們?

當我在ELF文件上執行readelf時,發現程序集(.S)文件在符號表中缺失。同樣,我的調試器(RealView Debugger 4.1)不會在「源圖像」樹中列出這些.S文件。我可以看到這些文件中的一些符號包含在我的readelf輸出中(即標籤名稱),但不包括文件類型符號本身。我一直在檢查makefile以試圖找出可能無法包含它們的內容,但我不確定我在找什麼。任何人都可以請我指出正確的方向?謝謝!

+1

檢查您是否將Makefile中的-g選項傳遞給了armasm。 – 2012-07-09 18:07:38

+0

@PeteFordham,謝謝,我沒有檢查,我用匯編語言和C編譯器都使用-g。 – Rich 2012-07-09 18:31:50

回答

1

您提到使用RealView調試器,所以我正在進行有教育的猜測,您有RVDS。如果是這樣,你是否嘗試過使用RVDS附帶的readelf等價物fromelf。我現在無法確認這一點,但我記得ARM編譯器生成的彙編代碼和gcc之間存在細微的差異。