Loading...
Searching...
No Matches
Halide::Internal::Elf::Symbol Class Reference

Describes a symbol. More...

`#include <Elf.h>`

## Public Types

enum | Binding : uint8_t { STB_LOCAL = 0 , STB_GLOBAL = 1 , STB_WEAK = 2 , STB_LOPROC = 13 , STB_HIPROC = 15 }
enum | Type : uint8_t { STT_NOTYPE = 0 , STT_OBJECT = 1 , STT_FUNC = 2 , STT_SECTION = 3 , STT_FILE = 4 , STT_LOPROC = 13 , STT_HIPROC = 15 }
enum | Visibility : uint8_t { STV_DEFAULT = 0 , STV_INTERNAL = 1 , STV_HIDDEN = 2 , STV_PROTECTED = 3 }

## Public Member Functions

| Symbol ()=default
| Symbol (const std::string &name)
Symbol & | set_name (const std::string &name)
| Accesses the name of this symbol.
const std::string & | get_name () const
| Accesses the name of this symbol.
Symbol & | set_type (Type type)
| Accesses the type of this symbol.
Type | get_type () const
| Accesses the type of this symbol.
Symbol & | define (const Section *section, uint64_t offset, uint32_t size)
| Accesses the properties that describe the definition of this symbol.
bool | is_defined () const
| Accesses the properties that describe the definition of this symbol.
const Section * | get_section () const
| Accesses the properties that describe the definition of this symbol.
uint64_t | get_offset () const
| Accesses the properties that describe the definition of this symbol.
uint32_t | get_size () const
| Accesses the properties that describe the definition of this symbol.
Symbol & | set_binding (Binding binding)
| Access the binding and visibility of this symbol.
Symbol & | set_visibility (Visibility visibility)
| Access the binding and visibility of this symbol.
Binding | get_binding () const
| Access the binding and visibility of this symbol.
Visibility | get_visibility () const
| Access the binding and visibility of this symbol.

## Detailed Description

Describes a symbol.

Definition at line 50 of file Elf.h.

## Member Enumeration Documentation

## Binding

enum Halide::Internal::Elf::Symbol::Binding : uint8_t

Enumerator
STB_LOCAL |
STB_GLOBAL |
STB_WEAK |
STB_LOPROC |
STB_HIPROC |

Definition at line 52 of file Elf.h.

## Type

enum Halide::Internal::Elf::Symbol::Type : uint8_t

Enumerator
STT_NOTYPE |
STT_OBJECT |
STT_FUNC |
STT_SECTION |
STT_FILE |
STT_LOPROC |
STT_HIPROC |

Definition at line 60 of file Elf.h.

## Visibility

enum Halide::Internal::Elf::Symbol::Visibility : uint8_t

Enumerator
STV_DEFAULT |
STV_INTERNAL |
STV_HIDDEN |
STV_PROTECTED |

Definition at line 70 of file Elf.h.

## Constructor & Destructor Documentation

## Symbol() [1/2]

Halide::Internal::Elf::Symbol::Symbol | ( |  | ) |

default

Referenced by define(), set_binding(), set_name(), set_type(), and set_visibility().

## Symbol() [2/2]

Halide::Internal::Elf::Symbol::Symbol | ( | const std::string & | name | ) |

inline

Definition at line 88 of file Elf.h.

## Member Function Documentation

## set_name()

Symbol & Halide::Internal::Elf::Symbol::set_name | ( | const std::string & | name | ) |

inline

Accesses the name of this symbol.

Definition at line 94 of file Elf.h.

References Symbol().

## get_name()

const std::string & Halide::Internal::Elf::Symbol::get_name | ( |  | ) | const

inline

Accesses the name of this symbol.

Definition at line 98 of file Elf.h.

## set_type()

Symbol & Halide::Internal::Elf::Symbol::set_type | ( | Type | type | ) |

inline

Accesses the type of this symbol.

Definition at line 105 of file Elf.h.

References Symbol().

## get_type()

Type Halide::Internal::Elf::Symbol::get_type | ( |  | ) | const

inline

Accesses the type of this symbol.

Definition at line 109 of file Elf.h.

## define()

Symbol & Halide::Internal::Elf::Symbol::define | ( | const Section * | section,
|  | uint64_t | offset,
|  | uint32_t | size )

inline

Accesses the properties that describe the definition of this symbol.

Definition at line 116 of file Elf.h.

References Symbol().

## is_defined()

bool Halide::Internal::Elf::Symbol::is_defined | ( |  | ) | const

inline

Accesses the properties that describe the definition of this symbol.

Definition at line 122 of file Elf.h.

## get_section()

const Section * Halide::Internal::Elf::Symbol::get_section | ( |  | ) | const

inline

Accesses the properties that describe the definition of this symbol.

Definition at line 125 of file Elf.h.

## get_offset()

uint64_t Halide::Internal::Elf::Symbol::get_offset | ( |  | ) | const

inline

Accesses the properties that describe the definition of this symbol.

Definition at line 128 of file Elf.h.

## get_size()

uint32_t Halide::Internal::Elf::Symbol::get_size | ( |  | ) | const

inline

Accesses the properties that describe the definition of this symbol.

Definition at line 131 of file Elf.h.

## set_binding()

Symbol & Halide::Internal::Elf::Symbol::set_binding | ( | Binding | binding | ) |

inline

Access the binding and visibility of this symbol.

See the ELF spec for more information about these properties.

Definition at line 139 of file Elf.h.

References Symbol().

## set_visibility()

Symbol & Halide::Internal::Elf::Symbol::set_visibility | ( | Visibility | visibility | ) |

inline

Access the binding and visibility of this symbol.

See the ELF spec for more information about these properties.

Definition at line 143 of file Elf.h.

References Symbol().

## get_binding()

Binding Halide::Internal::Elf::Symbol::get_binding | ( |  | ) | const

inline

Access the binding and visibility of this symbol.

See the ELF spec for more information about these properties.

Definition at line 147 of file Elf.h.

## get_visibility()

Visibility Halide::Internal::Elf::Symbol::get_visibility | ( |  | ) | const

inline

Access the binding and visibility of this symbol.

See the ELF spec for more information about these properties.

Definition at line 150 of file Elf.h.

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

- src/Elf.h