summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/arm32/include/bits/compiler.h3
-rw-r--r--src/arch/arm64/include/bits/compiler.h3
-rw-r--r--src/arch/i386/include/bits/compiler.h3
-rw-r--r--src/arch/x86_64/include/bits/compiler.h3
-rw-r--r--src/include/errno.h4
5 files changed, 14 insertions, 2 deletions
diff --git a/src/arch/arm32/include/bits/compiler.h b/src/arch/arm32/include/bits/compiler.h
index e420cf92..e119f044 100644
--- a/src/arch/arm32/include/bits/compiler.h
+++ b/src/arch/arm32/include/bits/compiler.h
@@ -8,6 +8,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#ifndef ASSEMBLY
+/** Unprefixed constant operand modifier */
+#define ASM_NO_PREFIX "c"
+
#define __asmcall
#define __libgcc
diff --git a/src/arch/arm64/include/bits/compiler.h b/src/arch/arm64/include/bits/compiler.h
index 3b129c2f..b3e1b30a 100644
--- a/src/arch/arm64/include/bits/compiler.h
+++ b/src/arch/arm64/include/bits/compiler.h
@@ -8,6 +8,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#ifndef ASSEMBLY
+/** Unprefixed constant operand modifier */
+#define ASM_NO_PREFIX "c"
+
#define __asmcall
#define __libgcc
diff --git a/src/arch/i386/include/bits/compiler.h b/src/arch/i386/include/bits/compiler.h
index 87201135..78c60042 100644
--- a/src/arch/i386/include/bits/compiler.h
+++ b/src/arch/i386/include/bits/compiler.h
@@ -8,6 +8,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#ifndef ASSEMBLY
+/** Unprefixed constant operand modifier */
+#define ASM_NO_PREFIX "c"
+
/** Declare a function with standard calling conventions */
#define __asmcall __attribute__ (( cdecl, regparm(0) ))
diff --git a/src/arch/x86_64/include/bits/compiler.h b/src/arch/x86_64/include/bits/compiler.h
index 5129f90d..1c04a7b3 100644
--- a/src/arch/x86_64/include/bits/compiler.h
+++ b/src/arch/x86_64/include/bits/compiler.h
@@ -8,6 +8,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
#ifndef ASSEMBLY
+/** Unprefixed constant operand modifier */
+#define ASM_NO_PREFIX "c"
+
/** Declare a function with standard calling conventions */
#define __asmcall __attribute__ (( regparm(0) ))
diff --git a/src/include/errno.h b/src/include/errno.h
index decde38e..ac012a69 100644
--- a/src/include/errno.h
+++ b/src/include/errno.h
@@ -262,10 +262,10 @@ static inline void eplatform_discard ( int dummy __unused, ... ) {}
".balign 8\n\t" \
"\n1:\n\t" \
".long ( 4f - 1b )\n\t" \
- ".long %c0\n\t" \
+ ".long %" ASM_NO_PREFIX "0\n\t" \
".long ( 2f - 1b )\n\t" \
".long ( 3f - 1b )\n\t" \
- ".long %c1\n\t" \
+ ".long %" ASM_NO_PREFIX "1\n\t" \
"\n2:\t.asciz \"" __einfo_desc ( einfo ) "\"\n\t" \
"\n3:\t.asciz \"" __FILE__ "\"\n\t" \
".balign 8\n\t" \