08.11.2014 Views

RealView Compilation Tools アセンブラガイド - ARM Information Center

RealView Compilation Tools アセンブラガイド - ARM Information Center

RealView Compilation Tools アセンブラガイド - ARM Information Center

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

ディレクティブリファレンス<br />

7.2.4 RELOC<br />

RELOC ディレクティブは、オブジェク トファイルで ELF の 再 配 置 を 明 示 的 にエ<br />

ンコードします。<br />

構 文<br />

RELOC n, symbol<br />

RELOC n<br />

各 項 目 には 以 下 の 意 味 があ り ます。<br />

n<br />

symbol<br />

0 ~ 255 の 範 囲 内 の 値 を 指 定 する 必 要 があ り ます。<br />

任 意 のプ ロ グ ラ ム 相 対 ラベルを 指 定 で き ます。<br />

使 用 法<br />

RELOC n, symbol を 使 用 し、 symbol という ラベルの 付 いたアドレスを 基 準 にして<br />

再 配 置 を 行 います。<br />

RELOC ディレクティブを <strong>ARM</strong> 命 令 ま たは Thumb 命 令 の 直 後 に 使 用 する と 、 そ<br />

の 命 令 で 再 配 置 が 行 われます。 RELOC ディレクティブを DCB、 DCW、 DCD、 または<br />

その 他 のデータ 生 成 デ ィ レ ク テ ィ ブの 直 後 に 使 用 する と 、 データ の 開 始 位 置<br />

で 再 配 置 が 行 われます。 適 用 さ れる 加 数 は、 命 令 ま たは DCI か DCD でエンコー<br />

ドする 必 要 があり ます。<br />

アセンブラによ って 同 じ 場 所 で 既 に 再 配 置 が 行 われている 場 合 、 RELOC ディレ<br />

ク テ ィ ブの 設 定 内 容 で 再 配 置 が 更 新 さ れます。 以 下 に 例 を 示 し ます。<br />

DCD sym2 ; R_<strong>ARM</strong>_ABS32 to sym32<br />

RELOC 55 ; ... makes it R_<strong>ARM</strong>_ABS32_NOI<br />

RELOC は、 データ 生 成 デ ィ レ ク テ ィ ブ 以 外 のデ ィ レ ク テ ィ ブ、 LTORG、 ALIGN の 後<br />

に 使 用 し た り 、 AREA の 最 初 の 項 目 と し て 使 用 し た り し た 場 合 など、 その 他 す<br />

べての 場 合 に 失 敗 し ます。<br />

RELOC n を 使 用 し、 匿 名 のシンボル (シンボルテーブルのシンボル 0) を 基 準<br />

に 再 配 置 を 行 います。 以 前 にアセンブ ラ に よ って 再 配 置 が 行 われていない 場<br />

合 に RELOC n を 使 用 する と 、 匿 名 のシンボルを 基 準 に 再 配 置 が 行 われます。 詳<br />

細 については、 『Application Binary Interface for the <strong>ARM</strong> Architecture』 を 参 照 し<br />

て 下 さい。<br />

7-10 Copyright © 2002-2008 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0204IJ<br />

Non-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!