Skip to content

Commit

Permalink
Blackfin arch: vmlinux.lds.S, break up our .init into separate sections
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Mike Frysinger authored and Bryan Wu committed Aug 27, 2007
1 parent d8350e7 commit 27d875f
Showing 1 changed file with 27 additions and 15 deletions.
42 changes: 27 additions & 15 deletions arch/blackfin/kernel/vmlinux.lds.S
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,11 @@ SECTIONS
__text = .;
_text = .;
__stext = .;
*(.text.*)
TEXT_TEXT
SCHED_TEXT
LOCK_TEXT
*(.text.lock)
KPROBES_TEXT
*(.text.*)
*(.fixup)

. = ALIGN(16);
Expand All @@ -62,7 +62,7 @@ SECTIONS
__etext = .;
}

RODATA
RO_DATA(PAGE_SIZE)

.data :
{
Expand All @@ -73,51 +73,63 @@ SECTIONS
__sdata = .;
. = ALIGN(THREAD_SIZE);
*(.data.init_task)
DATA_DATA
*(.data.*)
CONSTRUCTORS

. = ALIGN(32);
*(.data.cacheline_aligned)

DATA_DATA
*(.data.*)
CONSTRUCTORS

. = ALIGN(THREAD_SIZE);
__edata = .;
}

___init_begin = .;
.init :

.init.text :
{
. = ALIGN(PAGE_SIZE);
__sinittext = .;
*(.init.text)
__einittext = .;
}
.init.data :
{
. = ALIGN(16);
*(.init.data)
}
.init.setup :
{
. = ALIGN(16);
___setup_start = .;
*(.init.setup)
___setup_end = .;
___start___param = .;
*(__param)
___stop___param = .;
}
.initcall.init :
{
___initcall_start = .;
INITCALLS
___initcall_end = .;
}
.con_initcall.init :
{
___con_initcall_start = .;
*(.con_initcall.init)
___con_initcall_end = .;
___security_initcall_start = .;
*(.security_initcall.init)
___security_initcall_end = .;
}
SECURITY_INIT
.init.ramfs :
{
. = ALIGN(4);
___initramfs_start = .;
*(.init.ramfs)
___initramfs_end = .;
. = ALIGN(4);
}

__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);
__stext_l1 = .;
Expand Down

0 comments on commit 27d875f

Please sign in to comment.