Gcc 将.data部分(绝对寻址)转换为.sdata部分(gp相对寻址)

Gcc 将.data部分(绝对寻址)转换为.sdata部分(gp相对寻址),gcc,embedded,mips,ld,sdata,Gcc,Embedded,Mips,Ld,Sdata,有没有简单的方法告诉链接器脚本将.data节转换为.sdata?当然,将绝对寻址更改为gp相对寻址(在我的例子中,用于MIPS的gcc工具链)?我有很多代码,在每个全局变量附近放置\uuuuu属性((部分(“.sdata”))不是一个选项 我知道-Gn标志,但它试图将每个全局变量放入.sdata(即使是那些具有\uuu属性的变量((“.some\u sect\u name”))在其附近指定,我不希望发生这种情况) 我要寻找的是告诉链接器脚本类似这样的内容:“如果您看到一个全局变量,它附近没有\u

有没有简单的方法告诉链接器脚本将.data节转换为.sdata?当然,将绝对寻址更改为gp相对寻址(在我的例子中,用于MIPS的gcc工具链)?我有很多代码,在每个全局变量附近放置
\uuuuu属性((部分(“.sdata”))
不是一个选项

我知道-Gn标志,但它试图将每个全局变量放入.sdata(即使是那些具有
\uuu属性的变量((“.some\u sect\u name”))
在其附近指定,我不希望发生这种情况)

我要寻找的是告诉链接器脚本类似这样的内容:“如果您看到一个全局变量,它附近没有
\uuuu属性(section(.some\u sect\u name”))
,请将它放在.sdata部分(使用gp相对寻址!),否则保持原样”

谢谢