[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:21:56 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):

 Hmm, this is quite suspicious. The `ObjectCode` corresponding to the
 `HSbase` object has `oc->n_sections == 19` yet the section header
 according to `objdump` looks like,
 {{{
 Sections:
 Idx Name          Size      VMA               LMA               File off
 Algn
   0 .text         004786ba  0000000000000000  0000000000000000  00000040
 2**4
                   CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
   1 .data         00082138  000000000002a030  000000000002a030  00478700
 2**3
                   CONTENTS, ALLOC, LOAD, RELOC, DATA
   2 .bss          00000000  0000000000000000  0000000000000000  004fa838
 2**0
                   ALLOC
   3 .rodata       0000f62a  00000000004786c0  00000000004786c0  004fa840
 2**4
                   CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
   4 .data.rel.ro  0002a030  0000000000000000  0000000000000000  00509e80
 2**5
                   CONTENTS, ALLOC, LOAD, RELOC, DATA
   5 .init_array   00000008  0000000000000000  0000000000000000  00533eb0
 2**3
                   CONTENTS, ALLOC, LOAD, RELOC, DATA
   6 .eh_frame     00000bd0  0000000000000000  0000000000000000  00533eb8
 2**3
                   CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
   7 .comment      00000038  0000000000000000  0000000000000000  00534a88
 2**0
                   CONTENTS, READONLY
   8 .note.GNU-stack 00000000  0000000000000000  0000000000000000  00a42a80
 2**0
                   CONTENTS, READONLY
 }}}

 `oc->sections[*].size` looks like,
 {{{
 >>> python
 >for i in range(19):
 >    print(i, hex(gdb.parse_and_eval('objects->sections[%d].size' % i)))
 0 0x0
 1 0x4786ba
 2 0x82138
 3 0x0
 4 0xf62a
 5 0x2a030
 6 0x8
 7 0xbd0
 8 0x38
 9 0x108048
 10 0x39bfd0
 11 0x64770
 12 0x18
 13 0xb40
 14 0x4ce0
 15 0x0
 16 0x1fa5e0
 17 0x202de8
 18 0x8e
 }}}

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


More information about the ghc-tickets mailing list