Commit f9f3f864 authored by Guenter Roeck's avatar Guenter Roeck Committed by Jesper Nilsson

cris: Fix section mismatches in architecture startup code

Section mismatches can now result in build failures.
As result, cris:allnoconfig fails to build as follows.

WARNING: modpost: Found 7 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
FATAL: modpost: Section mismatches detected.
Set CONFIG_SECTION_MISMATCH_WARN_ONLY=y to allow them.

Part of the problem is that references from .text to .init.text
are not permitted, and such references are used in cris startup code.
Since references from .head.text to .init.text are permitted, move
cris startup code to a new section .head.text.
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarJesper Nilsson <jesper.nilsson@axis.com>
parent 56edefc9
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
* *
*/ */
#include <linux/init.h>
#define ASSEMBLER_MACROS_ONLY #define ASSEMBLER_MACROS_ONLY
/* The IO_* macros use the ## token concatenation operator, so /* The IO_* macros use the ## token concatenation operator, so
-traditional must not be used when assembling this file. */ -traditional must not be used when assembling this file. */
...@@ -25,7 +27,7 @@ ...@@ -25,7 +27,7 @@
.globl romfs_in_flash .globl romfs_in_flash
.globl swapper_pg_dir .globl swapper_pg_dir
.text __HEAD
;; This is the entry point of the kernel. We are in supervisor mode. ;; This is the entry point of the kernel. We are in supervisor mode.
;; 0x00000000 if Flash, 0x40004000 if DRAM ;; 0x00000000 if Flash, 0x40004000 if DRAM
...@@ -159,7 +161,7 @@ _inflash0: ...@@ -159,7 +161,7 @@ _inflash0:
;; Put this in a suitable section where we can reclaim storage ;; Put this in a suitable section where we can reclaim storage
;; after init. ;; after init.
.section ".init.text", "ax" __INIT
_inflash: _inflash:
#ifdef CONFIG_ETRAX_ETHERNET #ifdef CONFIG_ETRAX_ETHERNET
;; Start MII clock to make sure it is running when tranceiver is reset ;; Start MII clock to make sure it is running when tranceiver is reset
......
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
* Copyright (C) 2003, Axis Communications AB * Copyright (C) 2003, Axis Communications AB
*/ */
#include <linux/init.h>
#define ASSEMBLER_MACROS_ONLY #define ASSEMBLER_MACROS_ONLY
/* /*
...@@ -36,7 +38,7 @@ ...@@ -36,7 +38,7 @@
.global nand_boot .global nand_boot
.global swapper_pg_dir .global swapper_pg_dir
.text __HEAD
tstart: tstart:
;; This is the entry point of the kernel. The CPU is currently in ;; This is the entry point of the kernel. The CPU is currently in
;; supervisor mode. ;; supervisor mode.
...@@ -177,7 +179,7 @@ _inflash0: ...@@ -177,7 +179,7 @@ _inflash0:
;; Put the following in a section so that storage for it can be ;; Put the following in a section so that storage for it can be
;; reclaimed after init is finished. ;; reclaimed after init is finished.
.section ".init.text", "ax" __INIT
_inflash: _inflash:
......
...@@ -40,6 +40,7 @@ SECTIONS ...@@ -40,6 +40,7 @@ SECTIONS
_stext = .; _stext = .;
__stext = .; __stext = .;
.text : { .text : {
HEAD_TEXT
TEXT_TEXT TEXT_TEXT
SCHED_TEXT SCHED_TEXT
LOCK_TEXT LOCK_TEXT
......
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