2
要執行實驗,我想修改OpenWRT項目的彙編代碼(通過在常規有意義的代碼之間插入NOP)。 我需要通過在第一次運行時使用gcc的-S標誌進行編譯來創建程序集文件(.s文件),執行修改程序集文件的shell腳本並在第三步中調用鏈接程序來創建可執行的二進制文件。除了第2步之外,是否有辦法通過適當的make文件修改/配置完成步驟1 & 3,即創建一個用於編譯的make文件(創建.s文件),另一個用於執行鏈接?gcc/make - 用於創建彙編和鏈接的make文件
感謝您的啓發& 新年快樂! :)
我推薦編譯器輸出asm使用'.s'。只能使用'.S'作爲手寫的asm源代碼。 (除非OP的腳本驅動修改添加了需要C預處理器的任何內容)。 –
我實際上會建議生成像.s_orig這樣的自定義擴展,然後添加另一個規則%.s:%.s_orig,它將運行添加nops的腳本(如果可以使用腳本完成)以及%.o的最終規則:%.s如答案。這樣makefile將覆蓋所有步驟。 :) – Ped7g
非常感謝你的回答!但是,參數' - @'是什麼意思(你的意思是'$ @',我在整個手冊頁上找不到' - @')。 – OliverJL