Enum rustc_session::config::SplitDwarfKind
source · pub enum SplitDwarfKind {
Single,
Split,
}
Expand description
Split debug-information is enabled by -C split-debuginfo
, this enum is only used if split
debug-information is enabled (in either Packed
or Unpacked
modes), and the platform
uses DWARF for debug-information.
Some debug-information requires link-time relocation and some does not. LLVM can partition the debuginfo into sections depending on whether or not it requires link-time relocation. Split DWARF provides a mechanism which allows the linker to skip the sections which don’t require link-time relocation - either by putting those sections in DWARF object files, or by keeping them in the object file in such a way that the linker will skip them.
Variants§
Single
Sections which do not require relocation are written into object file but ignored by the linker.
Split
Sections which do not require relocation are written into a DWARF object (.dwo
) file
which is ignored by the linker.
Trait Implementations§
source§impl Clone for SplitDwarfKind
impl Clone for SplitDwarfKind
source§fn clone(&self) -> SplitDwarfKind
fn clone(&self) -> SplitDwarfKind
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for SplitDwarfKind
impl Debug for SplitDwarfKind
source§impl DepTrackingHash for SplitDwarfKind
impl DepTrackingHash for SplitDwarfKind
fn hash( &self, hasher: &mut DefaultHasher, _: ErrorOutputType, _for_crate_hash: bool )
source§impl FromStr for SplitDwarfKind
impl FromStr for SplitDwarfKind
source§impl Hash for SplitDwarfKind
impl Hash for SplitDwarfKind
source§impl PartialEq for SplitDwarfKind
impl PartialEq for SplitDwarfKind
source§fn eq(&self, other: &SplitDwarfKind) -> bool
fn eq(&self, other: &SplitDwarfKind) -> bool
self
and other
values to be equal, and is used
by ==
.impl Copy for SplitDwarfKind
impl StructuralPartialEq for SplitDwarfKind
Auto Trait Implementations§
impl DynSend for SplitDwarfKind
impl DynSync for SplitDwarfKind
impl Freeze for SplitDwarfKind
impl RefUnwindSafe for SplitDwarfKind
impl Send for SplitDwarfKind
impl Sync for SplitDwarfKind
impl Unpin for SplitDwarfKind
impl UnwindSafe for SplitDwarfKind
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
source§impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere
T: Copy,
fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut T
fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = T> ) -> &'a mut [T]
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Filterable for T
impl<T> Filterable for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeSendSync for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 1 byte
Size for each variant:
Single
: 0 bytesSplit
: 0 bytes