ROSE  0.9.9.109
Public Attributes | List of all members
Rose::BinaryAnalysis::Partitioner2::LoaderSettings Struct Reference

Description

Settings for loading specimens.

The runtime descriptions and command-line parser for these switches can be obtained from loaderSwitches.

Definition at line 170 of file BasicTypes.h.

#include <BasicTypes.h>

Public Attributes

size_t deExecuteZerosThreshold
 Size threshold for removing execute permission from zero data. More...
 
size_t deExecuteZerosLeaveAtFront
 Number of bytes at the beginning of each zero area to leave unaffected. More...
 
size_t deExecuteZerosLeaveAtBack
 Number of bytes at the end of each zero area to leave unaffected. More...
 
MemoryDataAdjustment memoryDataAdjustment
 How to globally adjust memory segment access bits for data areas. More...
 
bool memoryIsExecutable
 Determines whether all of memory should be made executable. More...
 

Member Data Documentation

size_t Rose::BinaryAnalysis::Partitioner2::LoaderSettings::deExecuteZerosThreshold

Size threshold for removing execute permission from zero data.

If this data member is non-zero, then the memory map will be adjusted by removing execute permission from any region of memory that has at least this many consecutive zero bytes. The affected regions are adjusted by the deExecuteZerosLeaveAtFront and deExecuteZerosLeaveAtBack data members. This happens after the memoryIsExecutable property is processed.

Definition at line 171 of file BasicTypes.h.

size_t Rose::BinaryAnalysis::Partitioner2::LoaderSettings::deExecuteZerosLeaveAtFront

Number of bytes at the beginning of each zero area to leave unaffected.

Definition at line 178 of file BasicTypes.h.

size_t Rose::BinaryAnalysis::Partitioner2::LoaderSettings::deExecuteZerosLeaveAtBack

Number of bytes at the end of each zero area to leave unaffected.

Definition at line 180 of file BasicTypes.h.

MemoryDataAdjustment Rose::BinaryAnalysis::Partitioner2::LoaderSettings::memoryDataAdjustment

How to globally adjust memory segment access bits for data areas.

See the enum for details. The default is DATA_NO_CHANGE, which causes the partitioner to use the user-supplied memory map without changing anything.

Definition at line 182 of file BasicTypes.h.

bool Rose::BinaryAnalysis::Partitioner2::LoaderSettings::memoryIsExecutable

Determines whether all of memory should be made executable.

The executability bit controls whether the partitioner is able to make instructions at that address. The default, false, means that the engine will not modify executable bits in memory, but rather use the bits already set in the memory map. This happens before the deExecuteZeros property is processed.

Definition at line 186 of file BasicTypes.h.


The documentation for this struct was generated from the following file: