Re: [PATCH] arm64: LLVMLinux: Add missing abort() for AARCH64

2014-09-06 Thread Mark Charlebois
On Sat, Sep 6, 2014 at 7:12 AM, Arnd Bergmann  wrote:
> On Friday 05 September 2014 16:21:42 beh...@converseincode.com wrote:
>> From: Mark Charlebois 
>>
>> Add missing abort for arch aarch64.
>>
>> This patch makes the aarch64 kernel able to compile with gcc or clang.
>>
>> Signed-off-by: Mark Charlebois 
>> Signed-off-by: Behan Webster 
>
> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] arm64: LLVMLinux: Add missing abort() for AARCH64

2014-09-06 Thread Arnd Bergmann
On Friday 05 September 2014 16:21:42 beh...@converseincode.com wrote:
> From: Mark Charlebois 
> 
> Add missing abort for arch aarch64.
> 
> This patch makes the aarch64 kernel able to compile with gcc or clang.
> 
> Signed-off-by: Mark Charlebois 
> Signed-off-by: Behan Webster 

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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] arm64: LLVMLinux: Add missing abort() for AARCH64

2014-09-06 Thread Arnd Bergmann
On Friday 05 September 2014 16:21:42 beh...@converseincode.com wrote:
 From: Mark Charlebois charl...@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 charl...@gmail.com
 Signed-off-by: Behan Webster beh...@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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] arm64: LLVMLinux: Add missing abort() for AARCH64

2014-09-06 Thread Mark Charlebois
On Sat, Sep 6, 2014 at 7:12 AM, Arnd Bergmann a...@arndb.de wrote:
 On Friday 05 September 2014 16:21:42 beh...@converseincode.com wrote:
 From: Mark Charlebois charl...@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 charl...@gmail.com
 Signed-off-by: Behan Webster beh...@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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] arm64: LLVMLinux: Add missing abort() for AARCH64

2014-09-05 Thread behanw
From: Mark Charlebois 

Add missing abort for arch aarch64.

This patch makes the aarch64 kernel able to compile with gcc or clang.

Signed-off-by: Mark Charlebois 
Signed-off-by: Behan Webster 
---
 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);
+
 void __init trap_init(void)
 {
return;
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] arm64: LLVMLinux: Add missing abort() for AARCH64

2014-09-05 Thread behanw
From: Mark Charlebois charl...@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 charl...@gmail.com
Signed-off-by: Behan Webster beh...@converseincode.com
---
 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);
+
 void __init trap_init(void)
 {
return;
-- 
1.9.1

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/