diff options
author | Vivek Goyal <vgoyal@redhat.com> | 2012-06-08 09:43:15 -0400 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2012-06-11 10:44:51 +0900 |
commit | d40badaa2553c44d0585df335ad7e1c465f8ced1 (patch) | |
tree | 7e38d13bb4ccbfa545e382f32ca60b1af97fa497 /purgatory/arch | |
parent | e22ba509d252587a60aca035228faf49c2d47958 (diff) |
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 <vgoyal@redhat.com>
Tested-by: Lingzhu Xiang <lxiang@redhat.com>
Tested-by: Suzuki K. Poulose <suzuki@in.ibm.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'purgatory/arch')
-rw-r--r-- | purgatory/arch/ppc/Makefile | 2 | ||||
-rw-r--r-- | purgatory/arch/ppc64/Makefile | 2 |
2 files changed, 3 insertions, 1 deletions
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 |