PPC NCG: Make `stackHeaderSize` more general
authorPeter Trommler <ptrommler@acm.org>
Fri, 28 Dec 2018 22:55:35 +0000 (23:55 +0100)
committerBen Gamari <ben@well-typed.com>
Thu, 17 Jan 2019 18:39:40 +0000 (13:39 -0500)
compiler/nativeGen/PPC/Instr.hs

index f8dba25..e618e18 100644 (file)
@@ -582,14 +582,13 @@ ppc_mkLoadInstr dflags reg delta slot
 stackFrameHeaderSize :: DynFlags -> Int
 stackFrameHeaderSize dflags
   = case platformOS platform of
-      OSLinux  -> case platformArch platform of
-                             -- header + parameter save area
-        ArchPPC           -> 64 -- TODO: check ABI spec
-        ArchPPC_64 ELF_V1 -> 48 + 8 * 8
-        ArchPPC_64 ELF_V2 -> 32 + 8 * 8
-        _ -> panic "PPC.stackFrameHeaderSize: Unknown Linux"
       OSAIX    -> 24 + 8 * 4
-      _ -> panic "PPC.stackFrameHeaderSize: not defined for this OS"
+      _ -> case platformArch platform of
+                             -- header + parameter save area
+             ArchPPC           -> 64 -- TODO: check ABI spec
+             ArchPPC_64 ELF_V1 -> 48 + 8 * 8
+             ArchPPC_64 ELF_V2 -> 32 + 8 * 8
+             _ -> panic "PPC.stackFrameHeaderSize: not defined for this OS"
      where platform = targetPlatform dflags
 
 -- | The maximum number of bytes required to spill a register. PPC32