[GHC] #8951: genSym uses atomic_inc but doesn't link arm_atomic_spin_lock
GHC
ghc-devs at haskell.org
Wed Apr 2 22:43:32 UTC 2014
#8951: genSym uses atomic_inc but doesn't link arm_atomic_spin_lock
--------------------------------+----------------------------------------
Reporter: cjwatson | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Build System | Version: 7.8.1-rc1
Keywords: | Operating System: Linux
Architecture: arm | Type of failure: Building GHC failed
Difficulty: Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: |
--------------------------------+----------------------------------------
On Debian armel, a snapshot of GHC 7.8 from 20140228 fails to build as
follows:
https://buildd.debian.org/status/fetch.php?pkg=ghc&arch=armel&ver=7.8.20140228-1&stamp=1394495564
{{{
"inplace/bin/ghc-stage2" -o utils/haddock/dist/build/tmp/haddock -hisuf hi
-osuf o -hcsuf hc -static -H32m -O -lffi -optl-pthread -optc-mlong-calls
-hide-all-packages -i -iutils/haddock/driver -iutils/haddock/src
-iutils/haddock/vendor/attoparsec-0.10.4.0 -iutils/haddock/dist/build
-iutils/haddock/dist/build/autogen -Iutils/haddock/dist/build
-Iutils/haddock/dist/build/autogen -optP-DIN_GHC_TREE -optP-include
-optPutils/haddock/dist/build/autogen/cabal_macros.h -package
Cabal-1.18.1.3 -package array-0.5.0.0 -package base-4.7.0.0 -package
bytestring-0.10.4.0 -package containers-0.5.4.0 -package deepseq-1.3.0.2
-package directory-1.2.0.2 -package filepath-1.3.0.2 -package
ghc-7.8.0.20140228 -package xhtml-3000.2.1 -funbox-strict-fields -Wall
-fwarn-tabs -O2 -XHaskell2010 -no-user-package-db -rtsopts -odir
utils/haddock/dist/build -hidir utils/haddock/dist/build -stubdir
utils/haddock/dist/build utils/haddock/dist/build/Main.o
utils/haddock/dist/build/Documentation/Haddock.o
utils/haddock/dist/build/Data/Attoparsec.o
utils/haddock/dist/build/Data/Attoparsec/ByteString.o
utils/haddock/dist/build/Data/Attoparsec/ByteString/Char8.o
utils/haddock/dist/build/Data/Attoparsec/Combinator.o
utils/haddock/dist/build/Data/Attoparsec/Number.o
utils/haddock/dist/build/Data/Attoparsec/ByteString/FastSet.o
utils/haddock/dist/build/Data/Attoparsec/ByteString/Internal.o
utils/haddock/dist/build/Data/Attoparsec/Internal.o
utils/haddock/dist/build/Data/Attoparsec/Internal/Types.o
utils/haddock/dist/build/Haddock.o
utils/haddock/dist/build/Haddock/Interface.o
utils/haddock/dist/build/Haddock/Interface/Rename.o
utils/haddock/dist/build/Haddock/Interface/Create.o
utils/haddock/dist/build/Haddock/Interface/AttachInstances.o
utils/haddock/dist/build/Haddock/Interface/LexParseRn.o
utils/haddock/dist/build/Haddock/Interface/ParseModuleHeader.o
utils/haddock/dist/build/Haddock/Parser.o
utils/haddock/dist/build/Haddock/Parser/Util.o
utils/haddock/dist/build/Haddock/Utf8.o
utils/haddock/dist/build/Haddock/Utils.o
utils/haddock/dist/build/Haddock/Backends/Xhtml.o
utils/haddock/dist/build/Haddock/Backends/Xhtml/Decl.o
utils/haddock/dist/build/Haddock/Backends/Xhtml/DocMarkup.o
utils/haddock/dist/build/Haddock/Backends/Xhtml/Layout.o
utils/haddock/dist/build/Haddock/Backends/Xhtml/Names.o
utils/haddock/dist/build/Haddock/Backends/Xhtml/Themes.o
utils/haddock/dist/build/Haddock/Backends/Xhtml/Types.o
utils/haddock/dist/build/Haddock/Backends/Xhtml/Utils.o
utils/haddock/dist/build/Haddock/Backends/LaTeX.o
utils/haddock/dist/build/Haddock/Backends/HaddockDB.o
utils/haddock/dist/build/Haddock/Backends/Hoogle.o
utils/haddock/dist/build/Haddock/ModuleTree.o
utils/haddock/dist/build/Haddock/Types.o
utils/haddock/dist/build/Haddock/Doc.o
utils/haddock/dist/build/Haddock/Version.o
utils/haddock/dist/build/Haddock/InterfaceFile.o
utils/haddock/dist/build/Haddock/Options.o
utils/haddock/dist/build/Haddock/GhcUtils.o
utils/haddock/dist/build/Haddock/Convert.o
utils/haddock/dist/build/Paths_haddock.o
/«PKGBUILDDIR»/compiler/stage2/build/libHSghc-7.8.0.20140228.a(genSym.o):
In function `genSym':
genSym.c:(.text+0x84): undefined reference to `arm_atomic_spin_lock'
genSym.c:(.text+0x88): undefined reference to `arm_atomic_spin_unlock'
collect2: error: ld returned 1 exit status
make[2]: *** [utils/haddock/dist/build/tmp/haddock] Error 1
}}}
Our armel architecture satisfies "arm_HOST_ARCH &&
defined(arm_HOST_ARCH_PRE_ARMv6)", so cas() in includes/stg/SMP.h will
(uniquely among architectures) not be entirely inline: it calls
arm_atomic_spin_lock and arm_atomic_spin_unlock, which are in libHSrts.
7.8 introduces compiler/cbits/genSym.c which uses atomic_inc. How should
the linkage requirements be satisfied here?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8951>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list