-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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=false
andb_asneeded=false
are 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.