提交 0afc272c 编写于 作者: J Jie Zhang 提交者: Mike Frysinger

Blackfin: fix relocation errors with large initramfs images

Since we are now discarding .exit.text at runtime instead of link time, we
need to place all .text sections ahead of the .data sections.  Otherwise,
a really large attached initramfs may cause link errors as it pushes the
PC relative relocations behind the limits of the Blackfin ISA (~16meg).
The instructions in the .exit.text are unable to call back into the .text
sections leading to a link failure.
Signed-off-by: NJie Zhang <jie.zhang@analog.com>
Signed-off-by: NMike Frysinger <vapier@gentoo.org>
上级 cb191718
......@@ -104,18 +104,21 @@ SECTIONS
___init_begin = .;
INIT_TEXT_SECTION(PAGE_SIZE)
. = ALIGN(16);
INIT_DATA_SECTION(16)
PERCPU(4)
/* we have to discard exit text and such at runtime, not link time, to
/* We have to discard exit text and such at runtime, not link time, to
* handle embedded cross-section references (alt instructions, bug
* table, eh_frame, etc...)
* table, eh_frame, etc...). We need all of our .text up front and
* .data after it for PCREL call issues.
*/
.exit.text :
{
EXIT_TEXT
}
. = ALIGN(16);
INIT_DATA_SECTION(16)
PERCPU(4)
.exit.data :
{
EXIT_DATA
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册