forked from luck/tmp_suning_uos_patched
Blackfin arch: vmlinux.lds.S, break up our .init into separate sections
Break up our .init into separate section like all other ports do and so that we dont mix text and data (causes disassembly headaches as pointed out by Robin) Cc: Robin Getz <robin.getz@analog.com> Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com>
This commit is contained in:
parent
d8350e704e
commit
27d875f2c1
@ -46,11 +46,11 @@ SECTIONS
|
|||||||
__text = .;
|
__text = .;
|
||||||
_text = .;
|
_text = .;
|
||||||
__stext = .;
|
__stext = .;
|
||||||
*(.text.*)
|
|
||||||
TEXT_TEXT
|
TEXT_TEXT
|
||||||
SCHED_TEXT
|
SCHED_TEXT
|
||||||
LOCK_TEXT
|
LOCK_TEXT
|
||||||
*(.text.lock)
|
KPROBES_TEXT
|
||||||
|
*(.text.*)
|
||||||
*(.fixup)
|
*(.fixup)
|
||||||
|
|
||||||
. = ALIGN(16);
|
. = ALIGN(16);
|
||||||
@ -62,7 +62,7 @@ SECTIONS
|
|||||||
__etext = .;
|
__etext = .;
|
||||||
}
|
}
|
||||||
|
|
||||||
RODATA
|
RO_DATA(PAGE_SIZE)
|
||||||
|
|
||||||
.data :
|
.data :
|
||||||
{
|
{
|
||||||
@ -73,51 +73,63 @@ SECTIONS
|
|||||||
__sdata = .;
|
__sdata = .;
|
||||||
. = ALIGN(THREAD_SIZE);
|
. = ALIGN(THREAD_SIZE);
|
||||||
*(.data.init_task)
|
*(.data.init_task)
|
||||||
DATA_DATA
|
|
||||||
*(.data.*)
|
|
||||||
CONSTRUCTORS
|
|
||||||
|
|
||||||
. = ALIGN(32);
|
. = ALIGN(32);
|
||||||
*(.data.cacheline_aligned)
|
*(.data.cacheline_aligned)
|
||||||
|
|
||||||
|
DATA_DATA
|
||||||
|
*(.data.*)
|
||||||
|
CONSTRUCTORS
|
||||||
|
|
||||||
. = ALIGN(THREAD_SIZE);
|
. = ALIGN(THREAD_SIZE);
|
||||||
__edata = .;
|
__edata = .;
|
||||||
}
|
}
|
||||||
|
|
||||||
___init_begin = .;
|
___init_begin = .;
|
||||||
.init :
|
|
||||||
|
.init.text :
|
||||||
{
|
{
|
||||||
. = ALIGN(PAGE_SIZE);
|
. = ALIGN(PAGE_SIZE);
|
||||||
__sinittext = .;
|
__sinittext = .;
|
||||||
*(.init.text)
|
*(.init.text)
|
||||||
__einittext = .;
|
__einittext = .;
|
||||||
|
}
|
||||||
|
.init.data :
|
||||||
|
{
|
||||||
|
. = ALIGN(16);
|
||||||
*(.init.data)
|
*(.init.data)
|
||||||
|
}
|
||||||
|
.init.setup :
|
||||||
|
{
|
||||||
. = ALIGN(16);
|
. = ALIGN(16);
|
||||||
___setup_start = .;
|
___setup_start = .;
|
||||||
*(.init.setup)
|
*(.init.setup)
|
||||||
___setup_end = .;
|
___setup_end = .;
|
||||||
___start___param = .;
|
}
|
||||||
*(__param)
|
.initcall.init :
|
||||||
___stop___param = .;
|
{
|
||||||
___initcall_start = .;
|
___initcall_start = .;
|
||||||
INITCALLS
|
INITCALLS
|
||||||
___initcall_end = .;
|
___initcall_end = .;
|
||||||
|
}
|
||||||
|
.con_initcall.init :
|
||||||
|
{
|
||||||
___con_initcall_start = .;
|
___con_initcall_start = .;
|
||||||
*(.con_initcall.init)
|
*(.con_initcall.init)
|
||||||
___con_initcall_end = .;
|
___con_initcall_end = .;
|
||||||
___security_initcall_start = .;
|
}
|
||||||
*(.security_initcall.init)
|
SECURITY_INIT
|
||||||
___security_initcall_end = .;
|
.init.ramfs :
|
||||||
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
___initramfs_start = .;
|
___initramfs_start = .;
|
||||||
*(.init.ramfs)
|
*(.init.ramfs)
|
||||||
___initramfs_end = .;
|
___initramfs_end = .;
|
||||||
. = ALIGN(4);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
__l1_lma_start = .;
|
__l1_lma_start = .;
|
||||||
|
|
||||||
.text_l1 L1_CODE_START : AT(LOADADDR(.init) + SIZEOF(.init))
|
.text_l1 L1_CODE_START : AT(LOADADDR(.init.ramfs) + SIZEOF(.init.ramfs))
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
__stext_l1 = .;
|
__stext_l1 = .;
|
||||||
|
Loading…
Reference in New Issue
Block a user