summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Trommler <ptrommler@acm.org>2020-05-26 12:08:56 +0200
committerPeter Trommler <ptrommler@acm.org>2020-05-26 12:10:16 +0200
commit9071c9ca069bb9a4c5f8fb5ebbf7bb6ad06b5a2a (patch)
tree19909cd381a938ccb842b378a36b8ff8ed5e5c94
parentcf772f19c06944f0fd03b4bdcd4a49e437084ba5 (diff)
downloadhaskell-wip/T18237.tar.gz
PPC NCG: Fix .size directive on powerpc64 ELF v1wip/T18237
Thanks to Sergei Trofimovich for pointing out the issue. Fixes #18237
-rw-r--r--compiler/GHC/CmmToAsm/PPC/Ppr.hs7
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/GHC/CmmToAsm/PPC/Ppr.hs b/compiler/GHC/CmmToAsm/PPC/Ppr.hs
index 4ef5437b71..521d8e0a76 100644
--- a/compiler/GHC/CmmToAsm/PPC/Ppr.hs
+++ b/compiler/GHC/CmmToAsm/PPC/Ppr.hs
@@ -86,8 +86,13 @@ pprNatCmmDecl config proc@(CmmProc top_info lbl _ (ListGraph blocks)) =
pprSizeDecl :: Platform -> CLabel -> SDoc
pprSizeDecl platform lbl
= if osElfTarget (platformOS platform)
- then text "\t.size" <+> ppr lbl <> text ", .-" <> ppr lbl
+ then text "\t.size" <+> prettyLbl <> text ", .-" <> codeLbl
else empty
+ where
+ prettyLbl = ppr lbl
+ codeLbl
+ | platformArch platform == ArchPPC_64 ELF_V1 = char '.' <> prettyLbl
+ | otherwise = prettyLbl
pprFunctionDescriptor :: CLabel -> SDoc
pprFunctionDescriptor lab = pprGloblDecl lab