Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 774249 - dev-lang/spidermonkey-78.8.0[clang lto] - DEBUG: ld.lld: error: /usr/lib/gcc/powerpc64-unknown-linux-gnu/9.3.0/../../../../lib64/crt1.o: ABI version 1 is not supported
Summary: dev-lang/spidermonkey-78.8.0[clang lto] - DEBUG: ld.lld: error: /usr/lib/gcc/...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: PPC64 Linux
: Normal normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: LD-is-lld, systemwide-lld
  Show dependency tree
 
Reported: 2021-03-05 00:39 UTC by ernsteiswuerfel
Modified: 2022-06-16 00:05 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (spidermonkey-78.8.0:20210305-002519.log,27.23 KB, text/plain)
2021-03-05 00:39 UTC, ernsteiswuerfel
Details
config.log (config.log,100.83 KB, text/plain)
2021-03-05 00:40 UTC, ernsteiswuerfel
Details
emerge --info (file_774249.txt,5.73 KB, text/plain)
2021-03-05 00:40 UTC, ernsteiswuerfel
Details
build.log (78.9.0, ppc64) (spidermonkey-78.9.0:20210331-210326.log,27.23 KB, text/plain)
2021-03-31 21:13 UTC, ernsteiswuerfel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ernsteiswuerfel archtester 2021-03-05 00:39:28 UTC
Created attachment 689409 [details]
build.log

[...]
checking for IceConnectionNumber in -lICE... no
configure: error: compiler is incompatible with sanitize options
DEBUG: <truncated - see config.log for full output>
DEBUG: #include "confdefs.h"
DEBUG: /* Override any gcc2 internal prototype to avoid an error.  */
DEBUG: /* We use char because int might match the return type of a gcc2
DEBUG:     builtin and then its argument prototype would still apply.  */
DEBUG: char IceConnectionNumber();
DEBUG: 
DEBUG: int main() {
DEBUG: IceConnectionNumber()
DEBUG: ; return 0; }
DEBUG: configure:3667: /usr/lib/llvm/11/bin/powerpc64-unknown-linux-gnu-clang -std=gnu99 -o conftest -O2 -mcpu=970 -pipe -Qunused-arguments  -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -fuse-ld=lld conftest.c  1>&5
DEBUG: ld.lld: error: /usr/lib/gcc/powerpc64-unknown-linux-gnu/9.3.0/../../../../lib64/crt1.o: ABI version 1 is not supported
DEBUG: clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
DEBUG: configure: failed program was:
DEBUG: #line 3660 "configure"
DEBUG: #include "confdefs.h"
DEBUG: 
DEBUG: int main() {
DEBUG: 
DEBUG: ; return 0; }
DEBUG: configure: error: compiler is incompatible with sanitize options
ERROR: old-configure failed

!!! Please attach the following file when seeking support:
!!! /var/tmp/portage/dev-lang/spidermonkey-78.8.0/work/build/config.log
Comment 1 ernsteiswuerfel archtester 2021-03-05 00:40:19 UTC
Created attachment 689412 [details]
config.log
Comment 2 ernsteiswuerfel archtester 2021-03-05 00:40:49 UTC
Created attachment 689415 [details]
emerge --info
Comment 3 ernsteiswuerfel archtester 2021-03-31 21:13:32 UTC
Created attachment 696579 [details]
build.log (78.9.0, ppc64)

Same for 78.9.0.
Comment 4 Thomas Deutschmann (RETIRED) gentoo-dev 2021-03-31 21:24:38 UTC
I don't know what to do here. Package.use.mask lto for ppc?
Comment 5 ernsteiswuerfel archtester 2021-03-31 21:39:30 UTC
(In reply to Thomas Deutschmann from comment #4)
> I don't know what to do here. Package.use.mask lto for ppc?
USE='lto' works fine, only USE='clang lto' shows this error:

 # cat ~/tatt/spidermonkey-778944.report 
USE tests started on Mi 31. Mär 21:40:26 CEST 2021

FEATURES=' test' USE='' succeeded for =dev-lang/spidermonkey-78.9.0
USE='-clang -lto' succeeded for =dev-lang/spidermonkey-78.9.0
USE='clang -lto' succeeded for =dev-lang/spidermonkey-78.9.0
USE='-clang lto' succeeded for =dev-lang/spidermonkey-78.9.0
USE='clang lto' failed for =dev-lang/spidermonkey-78.9.0
Comment 6 Piotr Kubaj 2021-08-01 22:15:58 UTC
There's no reason to mask on ppc64, it should build just fine on ELFv2.

@ernsteiswuerfel
Any reason you need to use ELFv1?

Although clang itself supports ELFv1, lld does NOT. If you need to use ELFv1, use another linker.
Comment 7 ernsteiswuerfel archtester 2021-08-03 00:07:37 UTC
(In reply to Piotr Kubaj from comment #6)
> @ernsteiswuerfel
> Any reason you need to use ELFv1?
> 
> Although clang itself supports ELFv1, lld does NOT. If you need to use
> ELFv1, use another linker.
I personally don't need ELFv1 by itself. Gentoos' glibc expects ELFv1 on ppc64 (not ELFv2 yet) if I am not mistaken?

So at the moment you can't have both +clang and +lto here. Don't know whether this is much of a problem. Perhaps some of the experienced members of the ppc/ppc64 arch team know how to proceed further. ;)
Comment 8 Georgy Yakovlev archtester gentoo-dev 2021-09-20 15:30:49 UTC
gentoo does not support elfv2 on big-endian ppc64.
glibc and gcc and clang and llvm and kernel and openssl asm and others all assume be is elfv1 and le is elfv2, so we don't break this assumption.
while it's possible to patch it out (void linux does that tree wide) I don't thing it's really worth it.
Comment 9 Georgy Yakovlev archtester gentoo-dev 2021-09-20 15:34:47 UTC
not really sure where the errors comes from yet.

I recommend package.use.mask lto useflag on big-endian profile, but not on little-endian as first measure and investigate error in detail to find real reason.