-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
[WIP] Encode more info about order-dependence of linker arguments #71081
Conversation
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
☔ The latest upstream changes (presumably #71023) made this pull request unmergeable. Please resolve the merge conflicts. |
/// These options cannot be overridden once specified. | ||
/// So they can be passed anywhere on the command line. | ||
pub unordered_non_overridable: Vec<String>, | ||
/// These option can be overridden by options placed to the left from them on the command line. |
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.
/// These option can be overridden by options placed to the left from them on the command line. | |
/// These options can be overridden by options placed to the left from them on the command line. |
/// So they need to be placed after customization points like `-C link-args`. | ||
/// (Library search directories traversed from left to right is a typical example.) | ||
pub unordered_left_overridable: Vec<String>, | ||
/// These option can be overridden by options placed to the right from them on the command line. |
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.
/// These option can be overridden by options placed to the right from them on the command line. | |
/// These options can be overridden by options placed to the right from them on the command line. |
singlethread: true, | ||
linker: Some("rust-lld".to_string()), | ||
// FIXME: This should likely be `true` inherited from `msvc_base` | ||
// because UEFI follows Windows ABI and uses PE/COFF. |
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.
It doesn't om RISC-V as there is no windows abi.
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.
Funnily enough, Windows NT was originally developed for RISC processors.
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.
We don't have a RISC-V UEFI target though, this is a base for x86_64
/i686
.
The RISC-V target will need a separate "base" then.
ec7e976
to
4f9aa69
Compare
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
@petrochenkov any updates? |
Closing for now, there are more urgent things to do in this area. |
Based on #71030, only the last commit is new.
This is a continuation of #70868.
So, the goals are (copypaste):
-C link-args
and-Z pre-link-args
.-Z pre-link-arg(s)
as-C pre-link-arg(s)
#70505).This PR starts with target specifications for MSVC-based targets specifically.
r? @nagisa