summaryrefslogtreecommitdiffstats
path: root/arch/h8300/lib
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert@linux-m68k.org>2013-05-06 21:32:46 +0200
committerGeert Uytterhoeven <geert@linux-m68k.org>2013-06-23 15:54:56 +0200
commitdb5ede6f5e653cc986b3fd6008de970f996d9431 (patch)
tree35fad58ba3325c6d71de2fa25ed1302c6d2b043a /arch/h8300/lib
parentc805a5b7ca7696bdf96ccd831fe20f7fd2e1b609 (diff)
downloadlinux-stable-db5ede6f5e653cc986b3fd6008de970f996d9431.tar.gz
linux-stable-db5ede6f5e653cc986b3fd6008de970f996d9431.tar.bz2
linux-stable-db5ede6f5e653cc986b3fd6008de970f996d9431.zip
h8300: Hardcode symbol prefixes in asm sources
Commit e1b5bb6d1236d4ad2084c53aa83dde7cdf6f8eea ("consolidate cond_syscall and SYSCALL_ALIAS declarations") broke the h8300 build because it removed the duplicate SYMBOL_NAME() macro from arch/h8300/include/asm/linkage.h, and all the h8300 asm files include <asm/linkage.h> instead of <linux/linkage.h>: arch/h8300/kernel/entry.S: Assembler messages: arch/h8300/kernel/entry.S:158: Error: junk at end of line, first unrecognized character is `(' ... arch/h8300/kernel/syscalls.S: Assembler messages: arch/h8300/kernel/syscalls.S:6: Error: junk at end of line, first unrecognized character is `(' ... arch/h8300/lib/abs.S: Assembler messages: arch/h8300/lib/abs.S:12: Error: junk at end of line, first unrecognized character is `(' ... arch/h8300/lib/memcpy.S: Assembler messages: arch/h8300/lib/memcpy.S:13: Error: junk at end of line, first unrecognized character is `(' ... arch/h8300/lib/memset.S: Assembler messages: arch/h8300/lib/memset.S:13: Error: junk at end of line, first unrecognized character is `(' ... Commit 126de6b20bfb82cc19012d5048f11f339ae5a021 ("linkage.h: fix build breakage due to symbol prefix handling") broke it even more, by removing SYMBOL_NAME() and replacing it by __SYMBOL_NAME(). Commit f8ce1faf55955de62e0a12e330c6d9a526071f65 ("Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linuxkernel/git/rusty/linux") also removed __SYMBOL_NAME(), hidden in a merge conflict resolution. Hence, replace the use of SYMBOL_NAME() and SYMBOL_NAME_LABEL() in h8300 assembler sources by hardcoding the underscore symbol prefix, like other architectures (blackfin/metag) do. This allows to kill SYMBOL_NAME_LABEL(). Now <asm/linkage.h> becomes empty, and h8300 can be switched to asm-generic/linkage.h. Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Diffstat (limited to 'arch/h8300/lib')
-rw-r--r--arch/h8300/lib/abs.S4
-rw-r--r--arch/h8300/lib/memcpy.S4
-rw-r--r--arch/h8300/lib/memset.S4
3 files changed, 6 insertions, 6 deletions
diff --git a/arch/h8300/lib/abs.S b/arch/h8300/lib/abs.S
index cabdd46b41db..ddd1fb3d01ad 100644
--- a/arch/h8300/lib/abs.S
+++ b/arch/h8300/lib/abs.S
@@ -9,10 +9,10 @@
.h8300s
#endif
.text
-.global SYMBOL_NAME(abs)
+.global _abs
;;; int abs(int n)
-SYMBOL_NAME_LABEL(abs)
+_abs:
mov.l er0,er0
bpl 1f
neg.l er0
diff --git a/arch/h8300/lib/memcpy.S b/arch/h8300/lib/memcpy.S
index fdcbc1ee673c..cad325e2c0e8 100644
--- a/arch/h8300/lib/memcpy.S
+++ b/arch/h8300/lib/memcpy.S
@@ -10,10 +10,10 @@
#endif
.text
-.global SYMBOL_NAME(memcpy)
+.global _memcpy
;;; void *memcpy(void *to, void *from, size_t n)
-SYMBOL_NAME_LABEL(memcpy)
+_memcpy:
mov.l er2,er2
bne 1f
rts
diff --git a/arch/h8300/lib/memset.S b/arch/h8300/lib/memset.S
index 59abdf9485a5..4549a64c5b79 100644
--- a/arch/h8300/lib/memset.S
+++ b/arch/h8300/lib/memset.S
@@ -10,13 +10,13 @@
#endif
.text
-.global SYMBOL_NAME(memset)
+.global _memset
;;void *memset(*ptr, int c, size_t count)
;; ptr = er0
;; c = er1(r1l)
;; count = er2
-SYMBOL_NAME_LABEL(memset)
+_memset:
btst #0,r0l
beq 2f