2017-12-11 21:26:34

by Sudip Mukherjee

[permalink] [raw]
Subject: [PATCH] arch: define weak abort

gcc was generating abort due to 'divide by zero' and if it is not
defined in the toolchain the build fails.

Currently 'frv' and 'arc' are failing. Previously other arch was also
broken like m32r was fixed by d22e3d69ee1a ("m32r: fix build failure").

Lets define this weak function which is common for all arch and fix the
problem permanently. We can even remove the arch specific 'abort' after
this is done.

Cc: Alexey Brodkin <[email protected]>
Signed-off-by: Sudip Mukherjee <[email protected]>
---
kernel/exit.c | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/kernel/exit.c b/kernel/exit.c
index af6c245..90c6869 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -1759,3 +1759,11 @@ long kernel_wait4(pid_t upid, int __user *stat_addr, int options,
return -EFAULT;
}
#endif
+
+__weak void abort(void)
+{
+ BUG();
+
+ /* if that doesn't kill us, halt */
+ panic("Oops failed to kill thread");
+}
--
1.9.1


2017-12-12 15:57:15

by Alexey Brodkin

[permalink] [raw]
Subject: Re: [PATCH] arch: define weak abort

Hi Sudip,

On Mon, 2017-12-11 at 21:26 +0000, Sudip Mukherjee wrote:
> gcc was generating abort due to 'divide by zero' and if it is not
> defined in the toolchain the build fails.
>
> Currently 'frv' and 'arc' are failing. Previously other arch was also
> broken like m32r was fixed by d22e3d69ee1a ("m32r: fix build failure").

Why don't we revert mentioned d22e3d69ee1a ("m32r: fix build failure")
if not in the same patch but in the series together with this one?

-Alexey

2017-12-12 18:03:14

by Vineet Gupta

[permalink] [raw]
Subject: Re: [PATCH] arch: define weak abort

On 12/11/2017 01:26 PM, Sudip Mukherjee wrote:
> gcc was generating abort due to 'divide by zero' and if it is not
> defined in the toolchain the build fails.
>
> Currently 'frv' and 'arc' are failing. Previously other arch was also
> broken like m32r was fixed by d22e3d69ee1a ("m32r: fix build failure").
>
> Lets define this weak function which is common for all arch and fix the
> problem permanently. We can even remove the arch specific 'abort' after
> this is done.

Can you add some more details about the rootcause - see the corresponding ARC
patch which I added before you add this generic one

http://lists.infradead.org/pipermail/linux-snps-arc/2017-December/003074.html

-Vineet

>
> Cc: Alexey Brodkin <[email protected]>
> Signed-off-by: Sudip Mukherjee <[email protected]>
> ---
> kernel/exit.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/kernel/exit.c b/kernel/exit.c
> index af6c245..90c6869 100644
> --- a/kernel/exit.c
> +++ b/kernel/exit.c
> @@ -1759,3 +1759,11 @@ long kernel_wait4(pid_t upid, int __user *stat_addr, int options,
> return -EFAULT;
> }
> #endif
> +
> +__weak void abort(void)
> +{
> + BUG();
> +
> + /* if that doesn't kill us, halt */
> + panic("Oops failed to kill thread");
> +}