#include "version.h"
#include "compiler.h"
#include "nasm.h"
#include "nasmlib.h"
#include "error.h"
#include "preproc.h"
#include "saa.h"
#include "hashtbl.h"
#include "outlib.h"
#include "pecoff.h"
#include "md5.h"
static void cv8_init(void);
static void cv8_linenum(const char *filename, int32_t linenumber,
int32_t segto);
static void cv8_deflabel(char *name, int32_t segment, int64_t offset,
int is_global, char *special);
static void cv8_typevalue(int32_t type);
static void cv8_output(int type, void *param);
static void cv8_cleanup(void);
const struct dfmt df_cv8 = …;
struct source_file;
struct source_file { … };
struct linepair { … };
enum symbol_type { … };
struct cv8_symbol { … };
struct cv8_state { … };
struct cv8_state cv8_state;
static void cv8_init(void)
{ … }
static struct source_file *register_file(const char *filename);
static struct coff_Section *find_section(int32_t segto);
static void cv8_linenum(const char *filename, int32_t linenumber,
int32_t segto)
{ … }
static void cv8_deflabel(char *name, int32_t segment, int64_t offset,
int is_global, char *special)
{ … }
static void cv8_typevalue(int32_t type)
{ … }
static void cv8_output(int type, void *param)
{ … }
static void build_symbol_table(struct coff_Section *const sect);
static void build_type_table(struct coff_Section *const sect);
static void cv8_cleanup(void)
{ … }
static void calc_md5(const char *const filename,
unsigned char sum[MD5_HASHBYTES])
{ … }
static struct source_file *register_file(const char *filename)
{ … }
static struct coff_Section *find_section(int32_t segto)
{ … }
static void register_reloc(struct coff_Section *const sect,
char *sym, uint32_t addr, uint16_t type)
{ … }
static inline void section_write32(struct coff_Section *sect, uint32_t val)
{ … }
static inline void section_write16(struct coff_Section *sect, uint16_t val)
{ … }
static inline void section_write8(struct coff_Section *sect, uint8_t val)
{ … }
static inline void section_wbytes(struct coff_Section *sect, const void *buf,
size_t len)
{ … }
static void write_filename_table(struct coff_Section *const sect)
{ … }
static void write_sourcefile_table(struct coff_Section *const sect)
{ … }
static void write_linenumber_table(struct coff_Section *const sect)
{ … }
static uint32_t write_symbolinfo_obj(struct coff_Section *sect)
{ … }
static uint32_t write_symbolinfo_properties(struct coff_Section *sect,
const char *const creator_str)
{ … }
static uint32_t write_symbolinfo_symbols(struct coff_Section *sect)
{ … }
static void write_symbolinfo_table(struct coff_Section *const sect)
{ … }
static inline void align4_table(struct coff_Section *const sect)
{ … }
static void build_symbol_table(struct coff_Section *const sect)
{ … }
static void build_type_table(struct coff_Section *const sect)
{ … }