[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