Message ID | 1409959302-13976-1-git-send-email-behanw@converseincode.com |
---|---|
State | New |
Headers | show |
On Friday 05 September 2014 16:21:42 behanw@converseincode.com wrote: > From: Mark Charlebois <charlebm@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@gmail.com> > Signed-off-by: Behan Webster <behanw@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? > 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"); > +} > +EXPORT_SYMBOL(abort); 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? Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
On Sat, Sep 6, 2014 at 7:12 AM, Arnd Bergmann <arnd@arndb.de> wrote: > On Friday 05 September 2014 16:21:42 behanw@converseincode.com wrote: >> From: Mark Charlebois <charlebm@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@gmail.com> >> Signed-off-by: Behan Webster <behanw@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 code. Sorry for the churn. -Mark > >> 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"); >> +} >> +EXPORT_SYMBOL(abort); > > 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? > > Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
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"); +} +EXPORT_SYMBOL(abort); + void __init trap_init(void) { return;