Hi Talos,
Thanks for reporting this. It seems like it’s an issue with KZM (ARMv6) targets which I assume you’re using? I submitted a fix, should be public on GitHub soon. Meanwhile, you can use the following patch to get around this error.
diff --git a/include/util.h b/include/util.h
index d6afdbb..4b05430 100644
--- a/include/util.h
+++ b/include/util.h
@@ -11,7 +11,6 @@
#ifndef __UTIL_H
#define __UTIL_H
-#define BIT(n) (1ul << (n))
#define MASK(n) (BIT(n)-1ul)
#define IS_ALIGNED(n, b) (!((n) & MASK(b)))
#define ROUND_DOWN(n, b) (((n) >> (b)) << (b))
@@ -23,6 +22,7 @@
#ifndef __ASSEMBLER__
#define NULL ((void *)0)
+#define BIT(n) (1ul << (n))
#define PACKED __attribute__((packed))
#define NORETURN __attribute__((__noreturn__))
@@ -131,6 +131,10 @@ CONST popcountl(unsigned long x)
}
#define POPCOUNTL(x) __builtin_popcountl(x)
+#else /* __ASSEMBLER__ */
+
+
+#define BIT(n) (1 << (n))
Cheers,
Hesham
Hi Talos,
This might be because of this change [1] to the kernel. Since this change has passed on our local machines, I'd be interested to know which toolchain version are you using (specifically binutils)?
Cheers,
Hesham
From: Devel <devel-bounces@sel4.systems> on behalf of talos <2486580938@qq.com>
Sent: Friday, June 2, 2017 9:59 AM
To: devel
Subject: [seL4] camkes-manifest project make failed for arm
When I make the project, it said that:
/home/talos/camkes-manifest/kernel/src/arch/arm/32/traps.S: Assembler messages:
/home/talos/camkes-manifest/kernel/src/arch/arm/32/traps.S:56: Error: missing ')'
/home/talos/camkes-manifest/kernel/src/arch/arm/32/traps.S:56: Error: garbage following instruction -- `ldr sp,=kernel_stack_alloc+(1ul<<(12))'
/home/talos/camkes-manifest/kernel/src/arch/arm/32/traps.S:82: Error: missing ')'
/home/talos/camkes-manifest/kernel/src/arch/arm/32/traps.S:82: Error: garbage following instruction -- `ldr sp,=kernel_stack_alloc+(1ul<<(12))'
/home/talos/camkes-manifest/kernel/src/arch/arm/32/traps.S:117: Error: missing ')'
/home/talos/camkes-manifest/kernel/src/arch/arm/32/traps.S:117: Error: garbage following instruction -- `ldr sp,=kernel_stack_alloc+(1ul<<(12))'
/home/talos/camkes-manifest/kernel/src/arch/arm/32/traps.S:128: Error: missing ')'
/home/talos/camkes-manifest/kernel/src/arch/arm/32/traps.S:128: Error: garbage following instruction -- `ldr sp,=kernel_stack_alloc+(1ul<<(12))'
/home/talos/camkes-manifest/kernel/src/arch/arm/32/traps.S:168: Error: missing ')'
/home/talos/camkes-manifest/kernel/src/arch/arm/32/traps.S:168: Error: garbage following instruction -- `ldr sp,=kernel_stack_alloc+(1ul<<(12))'
/home/talos/camkes-manifest/kernel/src/arch/arm/32/traps.S:185: Error: missing ')'
/home/talos/camkes-manifest/kernel/src/arch/arm/32/traps.S:185: Error: garbage following instruction -- `ldr sp,=kernel_stack_alloc+(1ul<<(12))'
/home/talos/camkes-manifest/kernel/src/arch/arm/32/traps.S:213: Error: missing ')'
/home/talos/camkes-manifest/kernel/src/arch/arm/32/traps.S:213: Error: garbage following instruction -- `ldr sp,=kernel_stack_alloc+(1ul<<(12))'
/home/talos/camkes-manifest/kernel/Makefile:653: recipe for target 'src/arch/arm/32/traps.o' failed
make[1]: *** [src/arch/arm/32/traps.o] Error 1
tools/common/project.mk:258: recipe for target 'kernel_elf' failed
make: *** [kernel_elf] Error 2
But I make successfully for x86
What's matter? Thanks!
_______________________________________________
Devel
mailing list
Devel@sel4.systems
https://sel4.systems/lists/listinfo/devel