tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: chromium update



>>        "ccache: error: Could not find compiler \"clang\" in PATH\n"
>>
>> ccache?  I have clang version 17.0.6nb1 in /usr/pkg/bin (based on
>> earlier comments about llvm 18 vs. llvm 17, I date-fixed the llvm
>> and related packages to "just before update to 18", since I
>> already had llvm 17 installed), but the pkgsrc build runs with a
>> restricted PATH, but ...
>
> I forgot to remove ".include "../../mk/compiler/ccache.mk" line from
> Makefile. Try to remove this.

OK, that got me over that hurdle.

Next one is that a compile fell flat on it's face with

: {165} ls -ltr work/chromium-127.0.6533.99/out/Release//clang++.core 
-rw-------  1 he  125  439161640 Aug 19 04:57 work/chromium-127.0.6533.99/out/Release//clang++.core
: {166} 

: {164} file work/chromium-127.0.6533.99/out/Release/clang++.core 
work/chromium-127.0.6533.99/out/Release/clang++.core: ELF 64-bit LSB core file, x86-64, version 1 (SYSV), NetBSD-style, from 'clang++', pid=15024, uid=1000, gid=100, nlwps=1, lwp=0 (signal 4/code 32767)
: {165} 

(there's no message in the build log related to the signal exit,
though, just the copy of the invocation which "failed" -- not
your fault, I'm sure.)

Running gdb on this shows:

Core was generated by `clang++'.
Program terminated with signal SIGILL, Illegal instruction.
#0  0x00007b286d1a6f54 in clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorMemberCallExpr(clang::CallExpr const*, clang::CXXMethodDecl const*, clang::CodeGen::ReturnValueSlot, bool, clang::NestedNameSpecifier*, bool, clang::Expr const*) () from /usr/pkg/lib/libclang-cpp.so.17
(gdb) where
#0  0x00007b286d1a6f54 in clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorMemberCallExpr(clang::CallExpr const*, clang::CXXMethodDecl const*, clang::CodeGen::ReturnValueSlot, bool, clang::NestedNameSpecifier*, bool, clang::Expr const*) () from /usr/pkg/lib/libclang-cpp.so.17
#1  0x00007b286d1a905c in clang::CodeGen::CodeGenFunction::EmitCXXMemberCallExpr(clang::CXXMemberCallExpr const*, clang::CodeGen::ReturnValueSlot) ()
   from /usr/pkg/lib/libclang-cpp.so.17
#2  0x00007b286d17e609 in clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot) ()
...

SIGILL?!?

(gdb) i reg
...
rip            0x7b286d1a6f54      0x7b286d1a6f54 <clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorMemberCallExpr(clang::CallExpr const*, clang::CXXMethodDecl const*, clang::CodeGen::ReturnValueSlot, bool, clang::NestedNameSpecifier*, bool, clang::Expr const*)+20>
...
(gdb) x/i 0x7b286d1a6f54
=> 0x7b286d1a6f54 <_ZN5clang7CodeGen15CodeGenFunction37EmitCXXMemberOrOperatorMemberCallExprEPKNS_8CallExprEPKNS_13CXXMethodDeclENS0_15ReturnValueSlotEbPNS_19NestedNameSpecifierEbPKNS_4ExprE+20>: mov    %rdi,-0xc00(%rbp)
(gdb)

Huh?  That should not be an illegal instruction, surely?

And neither are any of the preceding ones either:

(gdb) x/20i _ZN5clang7CodeGen15CodeGenFunction37EmitCXXMemberOrOperatorMemberCallExprEPKNS_8CallExprEPKNS_13CXXMethodDeclENS0_15ReturnValueSlotEbPNS_19NestedNameSpecifierEbPKNS_4ExprE
   0x7b286d1a6f40 <_ZN5clang7CodeGen15CodeGenFunction37EmitCXXMemberOrOperatorMemberCallExprEPKNS_8CallExprEPKNS_13CXXMethodDeclENS0_15ReturnValueSlotEbPNS_19NestedNameSpecifierEbPKNS_4ExprE>:    push   %rbp
   0x7b286d1a6f41 <_ZN5clang7CodeGen15CodeGenFunction37EmitCXXMemberOrOperatorMemberCallExprEPKNS_8CallExprEPKNS_13CXXMethodDeclENS0_15ReturnValueSlotEbPNS_19NestedNameSpecifierEbPKNS_4ExprE+1>:  mov    %rsp,%rbp
   0x7b286d1a6f44 <_ZN5clang7CodeGen15CodeGenFunction37EmitCXXMemberOrOperatorMemberCallExprEPKNS_8CallExprEPKNS_13CXXMethodDeclENS0_15ReturnValueSlotEbPNS_19NestedNameSpecifierEbPKNS_4ExprE+4>:  push   %r15
   0x7b286d1a6f46 <_ZN5clang7CodeGen15CodeGenFunction37EmitCXXMemberOrOperatorMemberCallExprEPKNS_8CallExprEPKNS_13CXXMethodDeclENS0_15ReturnValueSlotEbPNS_19NestedNameSpecifierEbPKNS_4ExprE+6>:  push   %r14
   0x7b286d1a6f48 <_ZN5clang7CodeGen15CodeGenFunction37EmitCXXMemberOrOperatorMemberCallExprEPKNS_8CallExprEPKNS_13CXXMethodDeclENS0_15ReturnValueSlotEbPNS_19NestedNameSpecifierEbPKNS_4ExprE+8>:  push   %r13
   0x7b286d1a6f4a <_ZN5clang7CodeGen15CodeGenFunction37EmitCXXMemberOrOperatorMemberCallExprEPKNS_8CallExprEPKNS_13CXXMethodDeclENS0_15ReturnValueSlotEbPNS_19NestedNameSpecifierEbPKNS_4ExprE+10>: push   %r12
   0x7b286d1a6f4c <_ZN5clang7CodeGen15CodeGenFunction37EmitCXXMemberOrOperatorMemberCallExprEPKNS_8CallExprEPKNS_13CXXMethodDeclENS0_15ReturnValueSlotEbPNS_19NestedNameSpecifierEbPKNS_4ExprE+12>: push   %rbx
   0x7b286d1a6f4d <_ZN5clang7CodeGen15CodeGenFunction37EmitCXXMemberOrOperatorMemberCallExprEPKNS_8CallExprEPKNS_13CXXMethodDeclENS0_15ReturnValueSlotEbPNS_19NestedNameSpecifierEbPKNS_4ExprE+13>: sub    $0xd78,%rsp
=> 0x7b286d1a6f54 <_ZN5clang7CodeGen15CodeGenFunction37EmitCXXMemberOrOperatorMemberCallExprEPKNS_8CallExprEPKNS_13CXXMethodDeclENS0_15ReturnValueSlotEbPNS_19NestedNameSpecifierEbPKNS_4ExprE+20>: mov    %rdi,-0xc00(%rbp)
   0x7b286d1a6f5b <_ZN5clang7CodeGen15CodeGenFunction37EmitCXXMemberOrOperatorMemberCallExprEPKNS_8CallExprEPKNS_13CXXMethodDeclENS0_15ReturnValueSlotEbPNS_19NestedNameSpecifierEbPKNS_4ExprE+27>: mov    %rsi,%r15
...

?!?!?

Even though this doesn't really make any sense, I guess it's on
to upgrading LLVM and associated packages to LLVM 18 and re-try
the build.

(This build host also has ECC memory, so I don't think it's that
either.)

> I built chromium with  the ~freshest pkgsrc trunk tree, with llvm 18,
> however earlier I built successfull with llvm 17 as well.

OK, noted, but as seen above I could not reproduce the build with
the newest LLVM 17.x.

Regards,

- Håvard


Home | Main Index | Thread Index | Old Index