Struct libafl_cc::ar::ArWrapper

source ·
pub struct ArWrapper { /* private fields */ }
Expand description

Wrap Clang

Implementations§

source§

impl ArWrapper

source

pub fn new() -> Self

Create a new Clang Wrapper

source

pub fn linking(&mut self, value: bool) -> &mut Self

Set if linking

source

pub fn need_libafl_arg(&mut self, value: bool) -> &mut Self

Set if it needs the –libafl arg to add the custom arguments to clang

Trait Implementations§

source§

impl Debug for ArWrapper

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ArWrapper

source§

fn default() -> Self

Create a new Clang Wrapper

source§

impl ToolWrapper for ArWrapper

source§

fn parse_args<S>(&mut self, args: &[S]) -> Result<&mut Self, Error>
where S: AsRef<str>,

Set the wrapper arguments parsing a command line set of arguments
source§

fn add_arg<S>(&mut self, arg: S) -> &mut Self
where S: AsRef<str>,

Add an argument
source§

fn add_configuration(&mut self, configuration: Configuration) -> &mut Self

Add a Configuration
source§

fn configurations(&self) -> Result<Vec<Configuration>, Error>

Get the list of requested Configurations
source§

fn ignore_configurations(&self) -> Result<bool, Error>

Whether to ignore the configured Configurations. Useful for e.g. nested calls to libafl_cc from libafl_libtool.
source§

fn command(&mut self) -> Result<Vec<String>, Error>

Command to run the compiler
source§

fn command_for_configuration( &mut self, configuration: Configuration ) -> Result<Vec<String>, Error>

Command to run the compiler for a given Configuration
source§

fn is_linking(&self) -> bool

Get if in linking mode
source§

fn filter(&self, _args: &mut Vec<String>)

Filter out argumets
source§

fn silence(&mut self, value: bool) -> &mut Self

Silences libafl_cc output
source§

fn is_silent(&self) -> bool

Returns true if silence was called with true
source§

fn add_args<S>(&mut self, args: &[S]) -> &mut Self
where S: AsRef<str>,

Add arguments
source§

fn run(&mut self) -> Result<Option<i32>, Error>

Run the tool

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.