Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 27d875f2 authored by Mike Frysinger's avatar Mike Frysinger Committed by Bryan Wu
Browse files

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: default avatarMike Frysinger <michael.frysinger@analog.com>
Signed-off-by: default avatarBryan Wu <bryan.wu@analog.com>
parent d8350e70
Loading
Loading
Loading
Loading
+27 −15
Original line number Diff line number Diff line
@@ -46,11 +46,11 @@ SECTIONS
		__text = .;
		_text = .;
		__stext = .;
		*(.text.*)
		TEXT_TEXT
		SCHED_TEXT
		LOCK_TEXT
		*(.text.lock)
		KPROBES_TEXT
		*(.text.*)
		*(.fixup)

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

	RODATA
	RO_DATA(PAGE_SIZE)

	.data :
	{
@@ -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 = .;