アセンブリ ファイルで 512 x 32 ビット配列を指定したいのですが、これは次のようになります。
#define FUNCTION_01 test
#define LABEL_01(name) .L ## test ## _ ## name
.section ".data"
my_array:
.word 0x10101010
.word 0x20101010
.word 0x30101010
.word 0x40101010
...
.section ".text"
.align 4
.global FUNCTION_01
.type FUNCTION_01,#function
FUNCTION_01:
add %g0, 12, %l7
ld [%l7 + my_array], %l7
...
ret
restore
LABEL_01(end):
.size FUNCTION_01,LABEL_01(end)-FUNCTION
function_01 でやろうとしているのは、配列の 4 番目の要素にアクセスすることです。ただし、上記のアセンブリを SPARC アーキテクチャ用にコンパイルしようとすると、次のエラーが発生します。
(.text+0x75c): relocation truncated to fit: R_SPARC_13 against `.data'
collect2: ld returned 1 exit status
このエラーから何をすべきかわかりません。配列が大きすぎるということですか、それともコードに何か問題がありましたか?