Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
で宣言されている C コードにいくつかの変数があります__attribute__((section(".data.mystuff")))。mystuff_startセクションの位置とmystuff_sizeサイズを持つ2 つのシンボルを定義したいと思います。ldのようLOADADDRに見えSIZEOF、私が望むことを実行しますが、リンカー スクリプト全体を書きたくありません。INSERT AFTER私も自分がやりたいことをするために使用する方法を理解できません。
__attribute__((section(".data.mystuff")))
mystuff_start
mystuff_size
ld
LOADADDR
SIZEOF
INSERT AFTER
最も簡単な方法は、名前として有効な C 識別子を持つセクションにそれらを配置することです。たとえば、次を使用します。
__attribute__((section("mystuff")))
また、automagic 変数が__start_mystuffあり__stop_mystuff、ソースで extern 変数として宣言できるセクションの開始アドレスと終了アドレスが得られます。
__start_mystuff
__stop_mystuff
編集: これは完全に GCC 固有です!