Skip to content
  • Sergei Trofimovich's avatar
    rts/Printer.c: drop zcode mangling/demangling support in C code · 7a754a94
    Sergei Trofimovich authored
    
    
    Summary:
    GHC's RTS contains ancient Zdecode code which changed format a bit.
    It's easier to drop broken part and show original names.
    
    The patch changes output for './hello +RTS -Da' (apply)
    from such gibberish:
    
        stg_ap_v_ret... PAP/1(0x92922a, &i!_-&i!_:<.s_r=Z)
        stg_ap_0_ret... base:GHC.MVar.MVar(0x7fd3d1f040f8)
        stg_ap_v_ret... THUNK(&i!_-&i!_i!f.Z)
        stg_ap_v_ret... PAP/1(0x92c1f3, EO_:<.s_r=Z, EP_:<.s_r=Z)
        stg_ap_0_ret... ghc-prim:GHC.Tuple.(,)(0x7fd3d1f04209, 0x7fd3d1f041fa)
        stg_ap_0_ret... ghc-prim:GHC.Types.:(0x7fd3d1f04301, 0x7fd3d1f042ea)
        stg_ap_0_ret... THUNK(3F0_i!f.Z, 0x9152a1)
        stg_ap_0_ret... FUN/3(&s=_GHCziIOziFD_z/fB_ff=r=/IOFD14_i!f.Z)
        stg_ap_ppv_ret... FUN/3(&s=_GHCziIOziFD_z/fB_ff=r=/IOFD14_i!f.Z)
        stg_ap_0_ret... FUN/2(&s=_GHCziIOziFD_z/fIOD=vi:=FD15_i!f.Z)
        stg_ap_pv_ret... FUN/2(&s=_GHCziIOziFD_z/fIOD=vi:=FD15_i!f.Z)
        stg_ap_0_ret... base:GHC.IO.Handle.Types.FileHandle(5'A_:<.s_r=Z, 0x7fd3d1f04ef0)
        stg_ap_v_ret... THUNK(*>_&+_2__+/_i!f.Z, 0x7fd3d1f0602a, 0x7fd3d1f04f10)
        stg_ap_v_ret... PAP/1(0x7fd3d1f0602a, 0x7fd3d1f04f10)
    
    to something more readable:
    
        stg_ap_v_ret... PAP/1(0x92922a, <Main_main_closure>[0x90b710])
        stg_ap_0_ret... base:GHC.MVar.MVar(0x7f1e256040f8)
        stg_ap_v_ret... THUNK(<Main_main_info>[0x4046c8])
        stg_ap_v_ret... PAP/1(0x92c1f3, <sEO_closure>[0x90b6f0], <sEP_closure>[0x90b6d0])
        stg_ap_0_ret... ghc-prim:GHC.Tuple.(,)(0x7f1e25604209, 0x7f1e256041fa)
        stg_ap_0_ret... ghc-prim:GHC.Types.:(0x7f1e25604301, 0x7f1e256042ea)
        stg_ap_0_ret... THUNK(<s3F0_info>[0x434f70], 0x9152a1)
        stg_ap_0_ret... FUN/3(<base_GHCziIOziFD_zdfBufferedIOFD14_info>[0x5f5198])
        stg_ap_ppv_ret... FUN/3(<base_GHCziIOziFD_zdfBufferedIOFD14_info>[0x5f5198])
        stg_ap_0_ret... FUN/2(<base_GHCziIOziFD_zdfIODeviceFD15_info>[0x5f7c60])
        stg_ap_pv_ret... FUN/2(<base_GHCziIOziFD_zdfIODeviceFD15_info>[0x5f7c60])
        stg_ap_0_ret... base:GHC.IO.Handle.Types.FileHandle(<r5qA_closure>[0x91a920], 0x7f1e25604ef0)
        stg_ap_v_ret... THUNK(<stg_ap_2_upd_info>[0x6b1c60], 0x7f1e2560602a, 0x7f1e25604f10)
        stg_ap_v_ret... PAP/1(0x7f1e2560602a, 0x7f1e25604f10)
    
    First observed on '+RTS -Di' (interpreter) on unregisterised builds.
    
    Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
    
    Test Plan: built 'hello world' with -debug in moth modes and ran under '+RTS -Da'
    
    Reviewers: simonmar, austin, ezyang
    
    Reviewed By: austin, ezyang
    
    Subscribers: phaskell, rwbarton, simonmar, relrod, ezyang, carter
    
    Differential Revision: https://phabricator.haskell.org/D116
    7a754a94