Hi,

The build for ghc-cryptonite failed in the mass rebuild [1] and a
later rebuild by me [2], but only on s390x. The failure appears to be
LTO related. This doesn't appear to affect many other Haskell
packages. (I've found one seemingly-related failure in
ghc-haskell-src-exts [3].) Since it's Haskell, I'm using the standard
macros that should pass consistent flags, etc., so I'm not sure what
more information I can provide.

What happens is that ld.gold warns about mixed LTO/non-LTO:

[  1 of 131] Compiling Crypto.Cipher.DES.Primitive (
Crypto/Cipher/DES/Primitive.hs,
dist/build/Crypto/Cipher/DES/Primitive.p_o )
/usr/bin/ld.gold: warning: incremental linking of LTO and non-LTO
objects; using -flinker-output=nolto-rel which will bypass whole
program optimization

and then errors out because of many LTO mismatches like:

/tmp/ghc794663_0/ghc_19.c:11:19: error:
     warning: type of
‘cryptonitezm0zi26zmIKFu0XykBrR53imeIPM2Uw_CryptoziCipherziDESziPrimitive_CAFs_cc’
does not match original declaration [-Wlto-type-mismatch]
       11 | extern CostCentre
cryptonitezm0zi26zmIKFu0XykBrR53imeIPM2Uw_CryptoziCipherziDESziPrimitive_CAFs_cc[];
          |                   ^
   |
11 | extern CostCentre
cryptonitezm0zi26zmIKFu0XykBrR53imeIPM2Uw_CryptoziCipherziDESziPrimitive_CAFs_cc[];
   |                   ^
/tmp/ghc794663_0/ghc_18.hc:44:9: error:
     note: type ‘StgWord’ should match type ‘struct CostCentre’
       44 | StgWord
cryptonitezm0zi26zmIKFu0XykBrR53imeIPM2Uw_CryptoziCipherziDESziPrimitive_CAFs_cc[]__attribute__((aligned(8)))=
{
          |         ^
   |
44 | StgWord 
cryptonitezm0zi26zmIKFu0XykBrR53imeIPM2Uw_CryptoziCipherziDESziPrimitive_CAFs_cc[]__attribute__((aligned(8)))=
{
   |         ^
/tmp/ghc794663_0/ghc_18.hc:44:9: error:
     note: 
‘cryptonitezm0zi26zmIKFu0XykBrR53imeIPM2Uw_CryptoziCipherziDESziPrimitive_CAFs_cc’
was previously declared here
   |
44 | StgWord 
cryptonitezm0zi26zmIKFu0XykBrR53imeIPM2Uw_CryptoziCipherziDESziPrimitive_CAFs_cc[]__attribute__((aligned(8)))=
{
   |         ^
/tmp/ghc794663_0/ghc_18.hc:44:9: error:
     note: code may be misoptimized unless ‘-fno-strict-aliasing’ is used
   |
44 | StgWord 
cryptonitezm0zi26zmIKFu0XykBrR53imeIPM2Uw_CryptoziCipherziDESziPrimitive_CAFs_cc[]__attribute__((aligned(8)))=
{
   |         ^

followed by inlining failures:

/usr/include/bits/string_fortified.h: In function ‘fill_segment’:
/usr/include/bits/string_fortified.h:59:1: error:
     error: inlining failed in call to ‘always_inline’ ‘memset’:
function body can be overwritten at link time
       59 | __NTH (memset (void *__dest, int __ch, size_t __len))
          | ^
   |
59 | __NTH (memset (void *__dest, int __ch, size_t __len))
   | ^


[1] https://koji.fedoraproject.org/koji/taskinfo?taskID=47957210
[2] https://koji.fedoraproject.org/koji/taskinfo?taskID=48408236
[3] https://koji.fedoraproject.org/koji/taskinfo?taskID=48322376

-- 
Elliott
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to