diff options
Diffstat (limited to 'compiler/GHC/Cmm/CLabel.hs')
-rw-r--r-- | compiler/GHC/Cmm/CLabel.hs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/compiler/GHC/Cmm/CLabel.hs b/compiler/GHC/Cmm/CLabel.hs index cda35a4943..b6ad2b3431 100644 --- a/compiler/GHC/Cmm/CLabel.hs +++ b/compiler/GHC/Cmm/CLabel.hs @@ -287,6 +287,12 @@ data CLabel deriving Eq +instance Show CLabel where + show = showPprUnsafe . pprDebugCLabel genericPlatform + +instance Outputable CLabel where + ppr = text . show + isIdLabel :: CLabel -> Bool isIdLabel IdLabel{} = True isIdLabel _ = False @@ -1544,6 +1550,7 @@ pprDynamicLinkerAsmLabel !platform dllInfo ppLbl = SymbolPtr -> char 'L' <> ppLbl <> text "$non_lazy_ptr" GotSymbolPtr -> ppLbl <> text "@GOTPCREL" GotSymbolOffset -> ppLbl + | platformArch platform == ArchAArch64 -> ppLbl | otherwise -> case dllInfo of CodeStub -> char 'L' <> ppLbl <> text "$stub" @@ -1572,6 +1579,10 @@ pprDynamicLinkerAsmLabel !platform dllInfo ppLbl = SymbolPtr -> text ".LC_" <> ppLbl _ -> panic "pprDynamicLinkerAsmLabel" + | platformArch platform == ArchAArch64 + = ppLbl + + | platformArch platform == ArchX86_64 = case dllInfo of CodeStub -> ppLbl <> text "@plt" |