[PATCH] arm64: LLVMLinux: Add missing abort() for AARCH64
charlebm at gmail.com
Sat Sep 6 19:49:21 PDT 2014
On Sat, Sep 6, 2014 at 7:12 AM, Arnd Bergmann <arnd at arndb.de> wrote:
> On Friday 05 September 2014 16:21:42 behanw at converseincode.com wrote:
>> From: Mark Charlebois <charlebm at gmail.com>
>> Add missing abort for arch aarch64.
>> This patch makes the aarch64 kernel able to compile with gcc or clang.
>> Signed-off-by: Mark Charlebois <charlebm at gmail.com>
>> Signed-off-by: Behan Webster <behanw at converseincode.com>
> You don't describe why this is needed. When does clang emit an abort()
> call? Is that the expected behavior when not linking against a full
> C library?
I just tried recompiling for vexpress64 without the abort call and it
seems the patch is no longer needed. When I added this I mimicked the
behavior of abort for arm which at the time was defined in the kernel
Sorry for the churn.
>> arch/arm64/kernel/traps.c | 9 +++++++++
>> 1 file changed, 9 insertions(+)
>> diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c
>> index 02cd3f0..123cd6e 100644
>> --- a/arch/arm64/kernel/traps.c
>> +++ b/arch/arm64/kernel/traps.c
>> @@ -349,6 +349,15 @@ void __pgd_error(const char *file, int line, unsigned long val)
>> pr_crit("%s:%d: bad pgd %016lx.\n", file, line, val);
>> +void abort(void)
>> + BUG();
>> + /* if that doesn't kill us, halt */
>> + panic("Oops failed to kill thread");
> I don't see the point in doing both BUG() and panic(). Doesn't panic()
> already print all the information you want in this case?
More information about the linux-arm-kernel