c6x: normalize global variables exported by vmlinux.lds
authorJiang Liu <liuj97@gmail.com>
Wed, 3 Jul 2013 22:03:35 +0000 (15:03 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 3 Jul 2013 23:07:34 +0000 (16:07 -0700)
Normalize global variables exported by vmlinux.lds to conform usage
guidelines from include/asm-generic/sections.h.

Use _text to mark the start of the kernel image including the head text,
and _stext to mark the start of the .text section.

This patch also fixes possible bugs due to current address layout that
[__init_begin, __init_end] is a sub-range of [_stext, _etext] and pages
within range [__init_begin, __init_end] will be freed by free_initmem().

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Cc: Mark Salter <msalter@redhat.com>
Cc: Aurelien Jacquiot <a-jacquiot@ti.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/c6x/kernel/vmlinux.lds.S

index 1d81c4c129eccb83d9cda4b1cbc170ed40b5b715..279d80725128fa638f300fb3471de57a57c58630 100644 (file)
@@ -54,16 +54,15 @@ SECTIONS
        }
 
        . = ALIGN(PAGE_SIZE);
+       __init_begin = .;
        .init :
        {
-               _stext = .;
                _sinittext = .;
                HEAD_TEXT
                INIT_TEXT
                _einittext = .;
        }
 
-       __init_begin = _stext;
        INIT_DATA_SECTION(16)
 
        PERCPU_SECTION(128)
@@ -74,6 +73,7 @@ SECTIONS
        .text :
        {
                _text = .;
+               _stext = .;
                TEXT_TEXT
                SCHED_TEXT
                LOCK_TEXT