libyasm
|
YASM object format module interface. More...
Go to the source code of this file.
Data Structures | |
struct | yasm_objfmt_module |
Object format module interface. More... | |
Functions | |
yasm_objfmt * | yasm_objfmt_create (const yasm_objfmt_module *module, yasm_object *object) |
Create object format. More... | |
void | yasm_objfmt_output (yasm_object *object, FILE *f, int all_syms, yasm_errwarns *errwarns) |
Write out (post-optimized) sections to the object file. More... | |
void | yasm_objfmt_destroy (yasm_objfmt *objfmt) |
Cleans up any allocated object format memory. More... | |
yasm_section * | yasm_objfmt_add_default_section (yasm_object *object) |
Add a default section to an object. More... | |
void | yasm_objfmt_init_new_section (yasm_object *object, unsigned long line) |
Initialize the object-format specific portion of a section. More... | |
yasm_section * | yasm_objfmt_section_switch (yasm_object *object, yasm_valparamhead *valparams, yasm_valparamhead *objext_valparams, unsigned long line) |
Switch object file sections. More... | |
yasm_symrec * | yasm_objfmt_get_special_sym (yasm_object *object, const char *name, const char *parser) |
Get a special symbol. More... | |
YASM object format module interface.
Definition in file objfmt.h.
yasm_section* yasm_objfmt_add_default_section | ( | yasm_object * | object | ) |
Add a default section to an object.
object | object |
yasm_objfmt* yasm_objfmt_create | ( | const yasm_objfmt_module * | module, |
yasm_object * | object | ||
) |
Create object format.
module | object format module |
object | object |
void yasm_objfmt_destroy | ( | yasm_objfmt * | objfmt | ) |
Cleans up any allocated object format memory.
objfmt | object format |
yasm_symrec* yasm_objfmt_get_special_sym | ( | yasm_object * | object, |
const char * | name, | ||
const char * | parser | ||
) |
Get a special symbol.
Special symbols are generally used to generate special relocation types via the WRT mechanism.
object | object |
name | symbol name (not including any parser-specific prefix) |
parser | parser keyword |
void yasm_objfmt_init_new_section | ( | yasm_object * | object, |
unsigned long | line | ||
) |
Initialize the object-format specific portion of a section.
Called by yasm_object_get_general(); in general should not be directly called.
section | section |
line | virtual line (from yasm_linemap) |
void yasm_objfmt_output | ( | yasm_object * | object, |
FILE * | f, | ||
int | all_syms, | ||
yasm_errwarns * | errwarns | ||
) |
Write out (post-optimized) sections to the object file.
This function may call yasm_symrec_* functions as necessary (including yasm_symrec_traverse()) to retrieve symbolic information.
object | object |
f | output object file |
all_syms | if nonzero, all symbols should be included in the object file |
errwarns | error/warning set |
yasm_section* yasm_objfmt_section_switch | ( | yasm_object * | object, |
yasm_valparamhead * | valparams, | ||
yasm_valparamhead * | objext_valparams, | ||
unsigned long | line | ||
) |
Switch object file sections.
The first val of the valparams should be the section name. Calls yasm_object_get_general() to actually get the section.
object | object |
valparams | value/parameters |
objext_valparams | object format-specific value/parameters |
line | virtual line (from yasm_linemap) |