[GHC] #14115: GHC segfaults trying to use TH code when ghc is compiled as DYNAMIC_GHC_PROGRAMS=NO

GHC ghc-devs at haskell.org
Wed Aug 16 03:40:37 UTC 2017


#14115: GHC segfaults trying to use TH code when ghc is compiled as
DYNAMIC_GHC_PROGRAMS=NO
-------------------------------------+-------------------------------------
        Reporter:  pacak             |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Runtime System    |              Version:  8.2.1
  (Linker)                           |
      Resolution:                    |             Keywords:
Operating System:  Linux             |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  crash or panic                     |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by pacak):

 There's no segfaults

 when this commit 834e350bd9b54bf465f2fef880e18f412fea57d3

 + this patch

 {{{
 diff --git a/rts/linker/Elf.c b/rts/linker/Elf.c
 index df3560476c..efa10fd883 100644
 --- a/rts/linker/Elf.c
 +++ b/rts/linker/Elf.c
 @@ -98,6 +98,13 @@
  #    define R_X86_64_PC64 24
  #  endif

 +#  ifndef R_X86_64_GOTPCRELX
 +#    define R_X86_64_GOTPCRELX 41
 +#  endif
 +#  ifndef R_X86_64_REX_GOTPCRELX
 +#    define R_X86_64_REX_GOTPCRELX 42
 +#  endif
 +
  /*
   * Workaround for libc implementations (e.g. eglibc) with incomplete
   * relocation lists
 @@ -1471,6 +1478,8 @@ do_Elf_Rela_relocations ( ObjectCode* oc, char*
 ehdrC,
  #        endif

  #if x86_64_HOST_ARCH
 +      case R_X86_64_NONE:
 +          break;
        case R_X86_64_64:
            *(Elf64_Xword *)P = value;
            break;


 }}}

 are compiled using this build.mk

 {{{
 BuildFlavour = perf

 GhcRTSWays += debug
 GhcRTSWays += debug_p
 GhcRTSWays += thr_debug
 GhcRTSWays += thr_debug_p

 BUILD_DOCBOOK_HTML = YES

 ifneq "$(BuildFlavour)" ""
 include mk/flavours/$(BuildFlavour).mk
 endif

 STRIP_CMD = :

 DYNAMIC_GHC_PROGRAMS = NO
 }}}

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14115#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list