Vadim Petrochenkov
572b6a9c60
rustc_target: Refactor internal linker flavors
...
In accordance with the design from https://github.com/rust-lang/rust/pull/96827#issuecomment-1208441595
2022-10-06 13:41:12 +04:00
Josh Stone
ad8f519ed7
Enable inline stack probes on PowerPC and SystemZ
2022-09-26 13:40:24 -07:00
Josh Stone
5d8083360a
Allow full relro on powerpc64-unknown-linux-gnu
...
This was previously limited to partial relro, citing issues on RHEL6,
but that's no longer a supported platform since #95026 . We have long
been enabling full relro in RHEL7's own Rust builds for ppc64, without
trouble, so it should be fine to drop this workaround.
2022-09-21 11:53:50 -07:00
Vadim Petrochenkov
46aba8850b
rustc_target: Add convenience functions for adding linker arguments
...
They ensure that lld and non-lld linker flavors get the same set of arguments
2022-06-25 21:55:56 +03:00
Loïc BRANSTETT
ccff48f97b
Replace every String
in Target(Options) with Cow<'static, str>
2022-04-03 21:29:57 +02:00
Nikita Popov
b5cc03b71a
Update powerpc64 data layout
2021-08-16 18:28:18 +02:00
Vadim Petrochenkov
049a49b911
rustc_target: Avoid unwraps when adding linker flags
2021-03-28 02:28:48 +03:00
Nikita Popov
55f345f325
Support LLVM 12 in rustc
2021-02-28 10:19:44 +01:00
Lzu Tao
8ee804dc2b
Change related spec files to use the new enum
2021-01-06 13:34:20 +00:00
Vadim Petrochenkov
ca17a91fb7
rustc_target: Move target env "gnu" from linux_base
to linux_gnu_base
2020-11-11 11:38:40 +03:00
Vadim Petrochenkov
dc004d4809
rustc_target: Rename some target options to avoid tautology
...
`target.target_endian` -> `target.endian`
`target.target_c_int_width` -> `target.c_int_width`
`target.target_os` -> `target.os`
`target.target_env` -> `target.env`
`target.target_vendor` -> `target.vendor`
`target.target_family` -> `target.os_family`
`target.target_mcount` -> `target.mcount`
2020-11-08 17:29:13 +03:00
Vadim Petrochenkov
d41fe05d1a
rustc_target: Move linker_flavor
from Target
to TargetOptions
2020-11-07 14:27:48 +03:00
Vadim Petrochenkov
b294cc71a2
rustc_target: Move target_vendor
from Target
to TargetOptions
2020-11-07 14:27:47 +03:00
Vadim Petrochenkov
d5fd31197f
rustc_target: Move target_env
from Target
to TargetOptions
2020-11-07 14:27:47 +03:00
Vadim Petrochenkov
74ffb9b4a2
rustc_target: Move target_os
from Target
to TargetOptions
2020-11-07 14:27:47 +03:00
Vadim Petrochenkov
91533cf10e
rustc_target: Move target_endian
from Target
to TargetOptions
2020-11-07 14:27:46 +03:00
Vadim Petrochenkov
ffe65f825b
rustc_target: Move target_c_int_width
from Target
to TargetOptions
2020-11-07 14:27:46 +03:00
est31
64ba25d0f2
Use integer literals for builtin target_pointer_width fields
...
Also change target_pointer_width to pointer_width.
Preparation for a subsequent type change of
target_pointer_width to an integer together with a rename
to pointer_width.
On its own, this commit breaks the build. I don't like making
build-breaking commits, but in this instance I believe that it
makes review easier, as the "real" changes of this PR can be
seen much more easily.
Result of running:
find compiler/rustc_target/src/spec/ -type f -exec sed -i -e 's/target_pointer_width: "\(.*\)"\..*,/pointer_width: \1,/g' {} \;
2020-10-15 12:01:53 +02:00
Vadim Petrochenkov
021fcbd90c
rustc_target: Refactor away TargetResult
...
Construction of a built-in target is always infallible now, so `TargetResult` is no longer necessary.
2020-10-05 19:28:19 +03:00
mark
9e5f7d5631
mv compiler to compiler/
2020-08-30 18:45:07 +03:00