[發明專利]一種針對申威架構GPRL16重定位的編譯方法在審
| 申請號: | 202211533231.X | 申請日: | 2022-12-02 |
| 公開(公告)號: | CN115794058A | 公開(公告)日: | 2023-03-14 |
| 發明(設計)人: | 姜軍;曾志恒;趙愛南;顧軼超;錢明樓 | 申請(專利權)人: | 無錫先進技術研究院 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F8/41 |
| 代理公司: | 南京縱橫知識產權代理有限公司 32224 | 代理人: | 董建林 |
| 地址: | 214122 江蘇省無錫市濱*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 針對 架構 gprl16 定位 編譯 方法 | ||
本發明公開了一種針對申威架構GPRL16重定位的編譯方法,包括:讀取源程序并對源程序進行分析確定變量符號;判斷變量符號數量是否在GPRL16重定位的范圍閾值內;若未到達GPRL16重定位的范圍閾值,通過變量符號分析的結果自適應生成存儲格式指令A與GPRL16重定位;若到達GPRL16重定位的范圍閾值,對變量符號進行重定位擴展與自適應生成存儲格式指令B和GPHIGH重定位、存儲格式指令C和GPLOW重定位;在編譯器生成匯編文件,將匯編文件輸入至匯編器轉換成目標文件;將目標文件輸入至鏈接器計算變量符號地址;將地址偏移回填寫入對應的存儲格式指令被修正位置,生成可執行文件或庫文件;擴大了全局變量和靜態變量的尋址范圍,兼顧了功能要求和性能要求。
技術領域
本發明屬于編譯器技術領域,具體涉及申威架構GPRL16重定位的編譯方法。
背景技術
針對源程序中的全局變量和靜態變量,編譯器根據目標機器的不同生成對應的重定位類型,便于將其放入可執行和可鏈接(Executable and Linking Format,ELF)格式的數據段或只讀數據段中,如X86處理器平臺生成PC32重定位,尋址范圍為±2GB;IBM Z處理器平臺生成PC32DBL重定位,尋址范圍為±2GB,上述兩個處理器平臺的重定位是相對PC尋址;而申威處理器平臺提供的是一種相對全局指針(Global Pointer,GP)進行尋址的GPRL16重定位,尋址范圍為±32KB。
隨著申威處理器平臺的大數據分析與應用、云平臺、人工智能等領域各類應用軟件功能不斷增強,代碼邏輯和規模也越加復雜,源碼中涉及的全局變量和靜態變量的數量也隨之增多,編譯生成數據段的存儲空間也在不斷變大,繼續使用±32KB尋址范圍的GPRL16重定位已經不能滿足某些特定場景的需求,甚至導致相關應用程序不能正確鏈接生成可執行文件或庫文件。
發明內容
本發明的目的在于提供一種針對申威架構GPRL16重定位的編譯方法,擴大了全局變量和靜態變量的尋址范圍,兼顧了功能要求和性能要求。
為達到上述目的,本發明所采用的技術方案是:
本發明第一方面提供了一種針對申威架構GPRL16重定位的編譯方法,包括:
讀取源程序并對源程序進行分析確定變量符號,對變量符號多維度重定位符號分析確定生成的重定位類型;
對源程序中的變量符號進行數量統計與類型分析,計算出源程序中變量符號占用存儲空間大小,確定所述變量符號在數據段中的地址范圍;判斷變量符號數量是否在GPRL16重定位的范圍閾值內;
若未到達GPRL16重定位的范圍閾值,通過變量符號分析的結果自適應生成存儲格式指令A與GPRL16重定位;
若到達GPRL16重定位的范圍閾值,對變量符號進行重定位擴展與自適應生成存儲格式指令B和GPHIGH重定位、存儲格式指令C和GPLOW重定位;
將存儲格式指令A與GPRL16重定位輸入至編譯器,或者將存儲格式指令B和GPHIGH重定位以及存儲格式指令C和GPLOW重定位輸入至編譯器生成匯編文件,將匯編文件輸入至匯編器轉換成目標文件;
將目標文件輸入至鏈接器計算變量符號地址;將地址偏移回填寫入對應的存儲格式指令A、存儲格式指令B以及存儲格式指令C被修正位置,生成可執行文件或庫文件。
優選的,對變量符號多維度重定位符號分析確定生成的重定位類型的方法包括:
判斷源程序中的變量符號類型得出變量的長度;判斷變量是全局變量或者靜態變量,分析表示該變量符號的位置,確定生成的重定位類型。
優選的,若未到達GPRL16重定位的范圍閾值,通過變量符號分析的結果自適應生成存儲格式指令A與GPRL16重定位的方法包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于無錫先進技術研究院,未經無錫先進技術研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211533231.X/2.html,轉載請聲明來源鉆瓜專利網。





