Enum object::write::SectionKind
source · #[non_exhaustive]pub enum SectionKind {
Show 19 variants
Unknown,
Text,
Data,
ReadOnlyData,
ReadOnlyDataWithRel,
ReadOnlyString,
UninitializedData,
Common,
Tls,
UninitializedTls,
TlsVariables,
OtherString,
Other,
Debug,
DebugString,
Linker,
Note,
Metadata,
Elf(u32),
}
Expand description
The kind of a section.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unknown
The section kind is unknown.
Text
An executable code section.
Example ELF sections: .text
Example Mach-O sections: __TEXT/__text
Data
A data section.
Example ELF sections: .data
Example Mach-O sections: __DATA/__data
ReadOnlyData
A read only data section.
Example ELF sections: .rodata
Example Mach-O sections: __TEXT/__const
, __DATA/__const
, __TEXT/__literal4
ReadOnlyDataWithRel
A read only data section with relocations.
This is the same as either Data
or ReadOnlyData
, depending on the file format.
This value is only used in the API for writing files. It is never returned when reading files.
ReadOnlyString
A loadable string section.
Example ELF sections: .rodata.str
Example Mach-O sections: __TEXT/__cstring
UninitializedData
An uninitialized data section.
Example ELF sections: .bss
Example Mach-O sections: __DATA/__bss
Common
An uninitialized common data section.
Example Mach-O sections: __DATA/__common
Tls
A TLS data section.
Example ELF sections: .tdata
Example Mach-O sections: __DATA/__thread_data
UninitializedTls
An uninitialized TLS data section.
Example ELF sections: .tbss
Example Mach-O sections: __DATA/__thread_bss
TlsVariables
A TLS variables section.
This contains TLS variable structures, rather than the variable initializers.
Example Mach-O sections: __DATA/__thread_vars
OtherString
A non-loadable string section.
Example ELF sections: .comment
, .debug_str
Other
Some other non-loadable section.
Example ELF sections: .debug_info
Debug
Debug information.
Example Mach-O sections: __DWARF/__debug_info
DebugString
Debug strings.
This is the same as either Debug
or OtherString
, depending on the file format.
This value is only used in the API for writing files. It is never returned when reading files.
Linker
Information for the linker.
Example COFF sections: .drectve
Note
ELF note section.
Metadata
Metadata such as symbols or relocations.
Example ELF sections: .symtab
, .strtab
, .group
Elf(u32)
Some other ELF section type.
This is the sh_type
field in the section header.
The meaning may be dependent on the architecture.
Implementations§
Trait Implementations§
source§impl Clone for SectionKind
impl Clone for SectionKind
source§fn clone(&self) -> SectionKind
fn clone(&self) -> SectionKind
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for SectionKind
impl Debug for SectionKind
source§impl Hash for SectionKind
impl Hash for SectionKind
source§impl PartialEq for SectionKind
impl PartialEq for SectionKind
impl Copy for SectionKind
impl Eq for SectionKind
impl StructuralPartialEq for SectionKind
Auto Trait Implementations§
impl Freeze for SectionKind
impl RefUnwindSafe for SectionKind
impl Send for SectionKind
impl Sync for SectionKind
impl Unpin for SectionKind
impl UnwindSafe for SectionKind
Blanket Implementations§
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.