ARM: fix build error in arch/arm/kernel/process.c

/tmp/ccJ3ssZW.s: Assembler messages:
/tmp/ccJ3ssZW.s:1952: Error: can't resolve `.text' {.text section} - `.LFB1077'

This is caused because:

	.section .data
	.section .text
	.section .text
	.previous

does not return us to the .text section, but the .data section; this
makes use of .previous dangerous if the ordering of previous sections
is not known.

Fix up the other users of .previous; .pushsection and .popsection are
a safer pairing to use than .section and .previous.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Russell King
2010-04-19 10:15:03 +01:00
parent 05ce7bfe54
commit 4260415f6a
19 changed files with 86 additions and 86 deletions

View File

@@ -149,10 +149,10 @@
#define USER(x...) \
9999: x; \
.section __ex_table,"a"; \
.pushsection __ex_table,"a"; \
.align 3; \
.long 9999b,9001f; \
.previous
.popsection
/*
* SMP data memory barrier
@@ -193,10 +193,10 @@
.error "Unsupported inc macro argument"
.endif
.section __ex_table,"a"
.pushsection __ex_table,"a"
.align 3
.long 9999b, \abort
.previous
.popsection
.endm
.macro usracc, instr, reg, ptr, inc, cond, rept, abort
@@ -234,10 +234,10 @@
.error "Unsupported inc macro argument"
.endif
.section __ex_table,"a"
.pushsection __ex_table,"a"
.align 3
.long 9999b, \abort
.previous
.popsection
.endr
.endm