Repository navigation
Basic support for TI Arm Clang toolchain - #11421
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #11421 +/- ##
==========================================
- Coverage 70.43% 68.79% -1.65%
==========================================
Files 219 207 -12
Lines 48781 45332 -3449
Branches 11606 9378 -2228
==========================================
- Hits 34359 31185 -3174
+ Misses 11980 11751 -229
+ Partials 2442 2396 -46 ☔ View full report in Codecov by Sentry. |
|
Bumping with a rebase against current |
eli-schwartz
left a comment
There was a problem hiding this comment.
or whether they should be automagically disabled inside the LLD linker class.
Either that or via a custom subclass. ;)
Is this something that users will need to distinguish between TI arm clang vs regular clang using cc.get_linker_id()?
Have you got any strong leanings toward a custom subclass for a cleaner implementation, or is this OK as is? I think embedded compilation is specific enough that nobody will really be compiling a piece of code with two different embedded linkers. In the case of tests, I expect people would use |
Not really. I just mentioned it for the sake of argument. I am not sure whether it matters or doesn't matter. |
|
Bah, the more I think about it the more "you must specify these options" feels like a lazy hack fix, especially since I made it work "properly" for the TI CGT compiler. I'll add a |
|
Although, as I think a little more - is there any worth to making LLVMDynamicLinker have a function such as |
|
Alright, I'm happy with this flag detection now - no modifications needed to any |
|
@eli-schwartz what's the status on this PR? Seems like it might've just been forgotten. |
|
Rebased to latest master, seeing C6000 support got merged I hope this one can as well! (pending test runs) |
When C6000 support was added in mesonbuild#12246, TI compilers were given the correct version argument. This broke the previous check which relied on an error being thrown by the compiler.
|
Sorry for the bump, is there anything I can do to help move this along? If there are missing tests that might make it easier from your end, additional documentation etc. |
|
Sorry for the delay. |
|
Thanks for bumping it @mon |
|
Thank you so much! |
The linker identifies itself with a custom name on stderr when given the --version flag:
And the error for invalid options is different:
Note two spaces between the colon and the bad flag.
Compiler successfully identified afterwards as:
As noted in the changelog,b_lundef=falseandb_asneeded=falseare both needed due to being unsupported flags, not sure if this is fine as-is (Google indexes meson changelogs pretty well) or whether they should be automagically disabled inside the LLD linker class.