[HN Gopher] Cross-Compiling Rust for RISC-V ___________________________________________________________________ Cross-Compiling Rust for RISC-V Author : hasheddan Score : 43 points Date : 2022-03-21 13:48 UTC (2 days ago) (HTM) web link (danielmangum.com) (TXT) w3m dump (danielmangum.com) | unwind wrote: | This looks very thorough, nice! | | I haven't (badly) used Rust in over a year, but this was | confusing: | | _x86_64-unknown-linux-gnu and other machine type identifiers are | referred to as target triples._ | | Isn't that four components, i.e a quad? What am I missing? | pcwalton wrote: | linux-gnu (GNU/Linux) is one component of the triple (x86_64, | unknown, linux-gnu). The fact that the hyphen is overloaded to | separate both components of the triple and words within those | components is unfortunate, but it's probably too difficult to | change at this point. | MitchellCash wrote: | The third field of the triplet is for the operating system | identifier [1] which can be expressed as two fields in the form | of `<sys>-<abi>` [2] as well as just `<sys>`, when applicable. | The LLVM docs also refer to the second part of the operating | system identifier as the "environment type" [3]. | | Examples of allowed operating system identifiers could be | `freebsd`, `linux-gnu` or `linux-android`. So, while it seems | like four components, the last two seem to get combined to | refer to a single "operating system identifier". | | I'm no expert here, so corrections welcome, I was just curious | from your comment and thought I'd share what I had found. | | [1] https://wiki.osdev.org/Target_Triplet | | [2] https://clang.llvm.org/docs/CrossCompilation.html#target- | tri... | | [3] https://llvm.org/doxygen/classllvm_1_1Triple.html | unwind wrote: | Great info, thanks! | remexre wrote: | Having the -gnu part is newer than it being called a triple. ___________________________________________________________________ (page generated 2022-03-23 23:00 UTC)