[GHC] #14291: Tests tend to fail in the ext-interp way when split sections is enabled

GHC ghc-devs at haskell.org
Wed Oct 4 23:37:52 UTC 2017


#14291: Tests tend to fail in the ext-interp way when split sections is enabled
-------------------------------------+-------------------------------------
        Reporter:  bgamari           |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:  8.4.1
       Component:  Compiler          |              Version:  8.2.1
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:  13716
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by bgamari):

 Well this is peculiar,
 {{{
 0x00000000013e100c in addSection (s=0x17d1e30, kind=SECTIONKIND_OTHER,
 alloc=SECTION_NOMEM, start=0x7f0d68b99000, size=0, mapped_offset=0,
 mapped_start=0x0, mapped_size=0) at rts/Linker.c:1763
 1763       s->start        = start;     /* actual start of section in
 memory */
 >>> bt
 #0  0x00000000013e100c in addSection (s=0x17d1e30, kind=SECTIONKIND_OTHER,
 alloc=SECTION_NOMEM, start=0x7f0d68b99000, size=0, mapped_offset=0,
 mapped_start=0x0, mapped_size=0) at rts/Linker.c:1763
 #1  0x0000000001400499 in ocGetNames_ELF (oc=0x17d1b90) at
 rts/linker/Elf.c:795
 #2  0x00000000013e092e in loadOc (oc=0x17d1b90) at rts/Linker.c:1514
 #3  0x00000000013e07c5 in loadObj_ (path=0x420001b730 "/mnt/work/ghc/ghc-
 compare-2/libraries/base/dist-install/build/HSbase-4.10.0.0.o") at
 rts/Linker.c:1450
 #4  0x00000000013e0850 in loadObj (path=0x420001b730 "/mnt/work/ghc/ghc-
 compare-2/libraries/base/dist-install/build/HSbase-4.10.0.0.o") at
 rts/Linker.c:1466
 #5  0x0000000000b3a4a6 in s5az_info ()
 #6  0x0000000000000000 in ?? ()
 >>> up
 #1  0x0000000001400499 in ocGetNames_ELF (oc=0x17d1b90) at
 rts/linker/Elf.c:795
 795               addSection(&oc->sections[i], kind, alloc,
 oc->image+offset, size,
 >>> print shdr[0]
 $16 = {
   sh_name = 0,
   sh_type = 0,
   sh_flags = 0,
   sh_addr = 0,
   sh_offset = 0,
   sh_size = 0,
   sh_link = 0,
   sh_info = 0,
   sh_addralign = 0,
   sh_entsize = 0
 }
 >>> print ehdr[0]
 $17 = {
   e_ident = "\177ELF\002\001\001\000\000\000\000\000\000\000\000",
   e_type = 1,
   e_machine = 62,
   e_version = 1,
   e_entry = 0,
   e_phoff = 0,
   e_shoff = 14941912,
   e_flags = 0,
   e_ehsize = 64,
   e_phentsize = 0,
   e_phnum = 0,
   e_shentsize = 64,
   e_shnum = 19,
   e_shstrndx = 18
 }
 }}}

 The RTS really does seem to be under the impression that there are 19
 sections, despite what `objdump` claims. Hmmm, someone is clearly lying.

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


More information about the ghc-tickets mailing list