Uh oh!
There was an error while loading. Please reload this page.
add solaris sparcv9 support - #39903
Conversation
* Update bootstrap to recognize the cputype 'sparcv9' (used on Solaris) * Change to never use -fomit-frame-pointer on Solaris or for sparc * Adds rust target sparcv9-sun-solaris Fixesrust-lang#39901
rust-highfive
commented
Feb 17, 2017
Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @eddyb (or someone else) soon. If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes. Please see the contribution instructions for more information. |
binarycrusader
commented
Feb 17, 2017
Please note that this pull request depends upon another pull request #39871 to actually function as expected. |
binarycrusader
commented
Feb 17, 2017
Note that there is little point in ever using -fomit-frame-pointer on sparc since the sparc ABI requires a minimum of 176 bytes of stack frame, which means space is always reserved for %fp regardless of whether it's used. Also, most debuggers and other tools on any platform for sparc generally expect %fp to be valid. |
eddyb
commented
Feb 17, 2017
alexcrichton
commented
Feb 17, 2017
Looks good to me, thanks! Out of curiosity, would |
binarycrusader
commented
Feb 17, 2017
SPARC v9 (as in version 9) is the official name of the 64-bit architecture and is what is always used on Solaris and in SPARC architecture documentation. The ELF ABI documentation also refers to it as sparcv9. The C compilers also set __sparcv9 to be defined. For reasons unknown to me, the BSDs have always used sparc64 instead. So, at least on Solaris, it would be unexpected and surprising to refer to it as sparc64. |
binarycrusader
commented
Feb 17, 2017
GCC built on Solaris and LLVM built on Solaris also refer to it as sparcv9 for this reason. |
alexcrichton
commented
Feb 17, 2017
Ok, sounds good to me, thanks! @bors: r+ I wonder though if we should rename the |
bors
commented
Feb 17, 2017
📌 Commit 2e756e2 has been approved by |
bors
commented
Feb 19, 2017
⌛ Testing commit 2e756e2 with merge 83815d9... |
bors
commented
Feb 19, 2017
💔 Test failed - status-appveyor |
alexcrichton
commented
Feb 21, 2017
via email
@bors: retry
* network error …On Sun, Feb 19, 2017 at 12:30 AM, bors ***@***.***> wrote:
💔 Test failed - status-appveyor
<https://ci.appveyor.com/project/rust-lang/rust/build/1.0.2024>
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#39903 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAD95Bh8S35IYQmHcjvcFbf_auYQ7mvqks5rd-GMgaJpZM4MD5O2>
.
|
…richton add solaris sparcv9 support Fixesrust-lang#39901
…richton add solaris sparcv9 support Fixesrust-lang#39901
…richton add solaris sparcv9 support Fixesrust-lang#39901
…richton add solaris sparcv9 support Fixesrust-lang#39901
…richton add solaris sparcv9 support Fixesrust-lang#39901
Rollup of 28 pull requests - Successful merges: #39859, #39864, #39888, #39903, #39905, #39914, #39945, #39950, #39953, #39961, #39980, #39988, #39993, #39995, #40019, #40020, #40022, #40024, #40025, #40026, #40027, #40031, #40035, #40037, #40038, #40064, #40069, #40086 - Failed merges: #39927, #40008, #40047
binarycrusader
commented
Mar 1, 2017
As an FYI, the frame pointer bug on sparc turned out to be an old oversight in gcc; a bug was filed and the issue fixed for future gcc versions. I'd still heavily discourage use of -fomit-frame-pointer on sparc for some of the reasons I previously mentioned. |
Fixes#39901