From d40badaa2553c44d0585df335ad7e1c465f8ced1 Mon Sep 17 00:00:00 2001 From: Vivek Goyal Date: Fri, 8 Jun 2012 09:43:15 -0400 Subject: ppc/ppc64: Compile purgatory code with gcc option -msoft-float Recently we faced an issue on power7 machine where kernel hanged in purgatory. Some investigation revealed that gcc is generating hardware FPU instructions. I have been told we can't use it at this point of time and as kernel is compiled with -msoft-float for ppc/ppc64, so should be purgatory (as it runs inside kernel context). Thanks to Jakub Jelinek and Lingzhu Xiang for debugging and coming up with a fix for this issue. Signed-off-by: Vivek Goyal Tested-by: Lingzhu Xiang Tested-by: Suzuki K. Poulose Signed-off-by: Simon Horman --- purgatory/arch/ppc/Makefile | 2 ++ purgatory/arch/ppc64/Makefile | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/purgatory/arch/ppc/Makefile b/purgatory/arch/ppc/Makefile index 72289a0..c85c58a 100644 --- a/purgatory/arch/ppc/Makefile +++ b/purgatory/arch/ppc/Makefile @@ -7,6 +7,8 @@ ppc_PURGATORY_SRCS += purgatory/arch/ppc/misc.S ppc_PURGATORY_SRCS += purgatory/arch/ppc/purgatory-ppc.c ppc_PURGATORY_SRCS += purgatory/arch/ppc/console-ppc.c +ppc_PURGATORY_EXTRA_CFLAGS += -msoft-float + dist += purgatory/arch/ppc/Makefile $(ppc_PURGATORY_SRCS) \ purgatory/arch/ppc/purgatory-ppc.h purgatory/arch/ppc/ppc_asm.h diff --git a/purgatory/arch/ppc64/Makefile b/purgatory/arch/ppc64/Makefile index 095f41e..67f41ae 100644 --- a/purgatory/arch/ppc64/Makefile +++ b/purgatory/arch/ppc64/Makefile @@ -9,7 +9,7 @@ ppc64_PURGATORY_SRCS += purgatory/arch/ppc64/console-ppc64.c ppc64_PURGATORY_SRCS += purgatory/arch/ppc64/crashdump_backup.c ppc64_PURGATORY_SRCS += purgatory/arch/ppc64/misc.S -ppc64_PURGATORY_EXTRA_CFLAGS += -m64 -mcall-aixdesc +ppc64_PURGATORY_EXTRA_CFLAGS += -m64 -mcall-aixdesc -msoft-float ppc64_PURGATORY_EXTRA_ASFLAGS += -m64 -mcall-aixdesc ppc64_PURGATORY_EXTRA_LDFLAGS += -melf64ppc -- cgit