Commit 0fa63ad7 authored by Bernd Schmidt's avatar Bernd Schmidt Committed by Bryan Wu

Blackfin arch: fix bug which unaligns the init thread's stack and causes the current macro to fail.

switch to using proper defines this time (THREAD_SIZE and PAGE_SIZE)
instead of just PAGE_SIZE everywhere
Signed-off-by: default avatarMike Frysinger <michael.frysinger@analog.com>
Signed-off-by: default avatarBernd Schmidt <bernd.schmidt@analog.com>
Signed-off-by: default avatarBryan Wu <bryan.wu@analog.com>
parent f1b927dc
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <asm-generic/vmlinux.lds.h> #include <asm-generic/vmlinux.lds.h>
#include <asm/mem_map.h> #include <asm/mem_map.h>
#include <asm/page.h> #include <asm/page.h>
#include <asm/thread_info.h>
OUTPUT_FORMAT("elf32-bfin") OUTPUT_FORMAT("elf32-bfin")
ENTRY(__start) ENTRY(__start)
...@@ -64,8 +65,12 @@ SECTIONS ...@@ -64,8 +65,12 @@ SECTIONS
.data : .data :
{ {
. = ALIGN(PAGE_SIZE); /* make sure the init_task is aligned to the
* kernel thread size so we can locate the kernel
* stack properly and quickly.
*/
__sdata = .; __sdata = .;
. = ALIGN(THREAD_SIZE);
*(.data.init_task) *(.data.init_task)
DATA_DATA DATA_DATA
CONSTRUCTORS CONSTRUCTORS
...@@ -73,14 +78,14 @@ SECTIONS ...@@ -73,14 +78,14 @@ SECTIONS
. = ALIGN(32); . = ALIGN(32);
*(.data.cacheline_aligned) *(.data.cacheline_aligned)
. = ALIGN(PAGE_SIZE); . = ALIGN(THREAD_SIZE);
__edata = .; __edata = .;
} }
. = ALIGN(PAGE_SIZE);
___init_begin = .; ___init_begin = .;
.init : .init :
{ {
. = ALIGN(PAGE_SIZE);
__sinittext = .; __sinittext = .;
*(.init.text) *(.init.text)
__einittext = .; __einittext = .;
...@@ -153,10 +158,9 @@ SECTIONS ...@@ -153,10 +158,9 @@ SECTIONS
__ebss_b_l1 = .; __ebss_b_l1 = .;
} }
. = LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1); ___init_end = LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1);
___init_end = ALIGN(PAGE_SIZE);
.bss ___init_end : .bss LOADADDR(.data_b_l1) + SIZEOF(.data_b_l1) :
{ {
. = ALIGN(4); . = ALIGN(4);
___bss_start = .; ___bss_start = .;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment