Conversation
8b4af53 to
8e8c0eb
Compare
|
Huh, for some reason the goroutines test starts to fail on AVR with LLVM 13. |
c01b2b7 to
bdfd323
Compare
56b23e9 to
4b9ace6
Compare
|
Backporting the first commit to I did not bother with the second commit, as AVR tests are not enabled in 0.21.0. I suppose I should try out |
|
Running this against |
|
Maybe it works now? Let's see what CI thinks. @QuLogic I hope to get a release out soon, with this PR in it. We need to catch up on LLVM versions! |
547eb1a to
0c2931b
Compare
|
This PR has passed all CI including TinyHCI! |
|
Ok, ready for review now! |
| Failed = Parser->Run(Opts.NoInitialTextSection); | ||
| } | ||
|
|
||
| // Close Streamer first. |
There was a problem hiding this comment.
Is this no longer an issue? I don't quite understand what is going on here.
There was a problem hiding this comment.
This file is basically a copy of https://github.com/llvm/llvm-project/blob/main/clang/tools/driver/cc1as_main.cpp with some small modifications. So I'm just syncing up the changes to LLVM 13.
| @@ -1,5 +1,5 @@ | |||
| // +build !byollvm | |||
| // +build !llvm12 | |||
| // +build !llvm12,!llvm13 | |||
There was a problem hiding this comment.
Do these build tags still work correctly with LLVM 12 as the current default?
|
I just tried
All other targets seem to work fine, not quite sure what is happening yet. |
|
It currently appears to be crashing when starting the libc: The debug location unfortunately does not seem to be very accurate - it points at the opening bracket. |
|
The crashing instruction (on host) is: Which is doing something with TLS before TLS is initialized if I understand correctly. I don't quite see why it is there yet. At that point in the program, GDB reports that the |
|
This appears to be a stack check |
|
Adding |
|
The |
|
With #2498, this works for me |
The goroutine tests are failing with the default 256 byte stack size.
This adds support for building with `-tags=llvm13` and switches to LLVM
13 for tinygo binaries that are statically linked against LLVM.
Some notes on this commit:
* Added `-mfloat-abi=soft` to all Cortex-M targets because otherwise
nrfx would complain that floating point was enabled on Cortex-M0.
That's not the case, but with `-mfloat-abi=soft` the `__SOFTFP__`
macro is defined which silences this warning.
See: https://reviews.llvm.org/D100372
* Changed from `--sysroot=<root>` to `-nostdlib -isystem <root>` for
musl because with Clang 13, even with `--sysroot` some system
libraries are used which we don't want.
* Changed all `-Xclang -internal-isystem -Xclang` to simply
`-isystem`, for consistency with the above change. It appears to
have the same effect.
* Moved WebAssembly function declarations to the top of the file in
task_asyncify_wasm.S because (apparently) the assembler has become
more strict.
|
I haven't tested the latest version of this, but I did test |
|
Ah, the problem with |
|
Thanks for looking at this @QuLogic sounds like if there are any further issues we can resolve them individually. Thanks also @niaow for your testing. Please see my comment on PR #2498 I am doing to merge this PR so you should both change the target branch for your PR and also rebase. Great work on this @aykevl it is very important for us to be able to use the latest LLVM, not to mention all the upstream fixes you have been contributing. Now merging! |
|
OK, so backporting this + 1d2c177 to v0.21.0 works on LLVM 12. For LLVM 13, I also needed to backport e4de7b4. For |
This adds support for building with
-tags=llvm13and switches to LLVM 13 for tinygo binaries that are statically linked against LLVM.Some notes on this PR:
-mfloat-abi=softto all Cortex-M targets because otherwise nrfx would complain that floating point was enabled on Cortex-M0. That's not the case, but with-mfloat-abi=softthe__SOFTFP__macro is defined which silences this warning.See: https://reviews.llvm.org/D100372
--sysroot=<root>to-nostdlib -isystem <root>/includefor musl because with Clang 13, even with--sysrootsome system libraries are used which we don't want.-Xclang -internal-isystem -Xclangto simply-isystem, for consistency with the above change. It appears to have the same effect.@QuLogic pinging you in case you hadn't seen this yet