[GHC] #10977: Arm: Undeclared indentifier when build un-registerised

GHC ghc-devs at haskell.org
Fri Oct 16 06:42:26 UTC 2015


#10977: Arm: Undeclared indentifier when build un-registerised
----------------------------------------+----------------------------------
        Reporter:  erikd                |                Owner:  erikd
            Type:  bug                  |               Status:  new
        Priority:  normal               |            Milestone:  8.0.1
       Component:  Compiler             |              Version:  7.11
      Resolution:                       |             Keywords:  rts linker
Operating System:  Unknown/Multiple     |         Architecture:  arm
 Type of failure:  Building GHC failed  |            Test Case:
      Blocked By:                       |             Blocking:
 Related Tickets:                       |  Differential Rev(s):
       Wiki Page:                       |
----------------------------------------+----------------------------------

Comment (by erikd):

 This problem is really easy to fix by pulling:

 {{{#!C
     int target_shndx = shdr[shnum].sh_info;
 }}}

 out of the `#ifdef`, but that just fixes the most obvious and immediate
 problem. The real problem is the heavy usage of `#ifdef` in this file.

 For instance, I cannot figure out why in this line

 {{{
 #if defined(DEBUG) || defined(sparc_HOST_ARCH) || defined(ia64_HOST_ARCH)
 || \
         defined(powerpc_HOST_ARCH) || defined(x86_64_HOST_ARCH)
 }}}

 Sparc, Ia64, PowerPC and x86_64 are all included, but i386, Arm and
 PowerPC64 are not. Furthermore, when someone is working on a new
 architecture like AArch64, how are they supposed to know whether it should
 be part of this magical set or not?

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


More information about the ghc-tickets mailing list