tccasm: make VT_VOID symbols ST_NOTYPE, elf-wise

This was confusing objdump such that it did not print
disassembly with -d.

Also, put filename as with C compilation
master
grischka 2009-12-19 19:12:33 +01:00
parent ab4a4ab25e
commit b5e2238483
2 changed files with 8 additions and 0 deletions

View File

@ -780,6 +780,8 @@ static void put_extern_sym2(Sym *sym, Section *section,
if (FUNC_CALL(attr) == FUNC_STDCALL)
other |= 2;
#endif
} else if ((sym->type.t & VT_BTYPE) == VT_VOID) {
sym_type = STT_NOTYPE;
} else {
sym_type = STT_OBJECT;
}

View File

@ -712,6 +712,12 @@ static int tcc_assemble(TCCState *s1, int do_preprocess)
define_start = define_stack;
/* an elf symbol of type STT_FILE must be put so that STB_LOCAL
symbols can be safely used */
put_elf_sym(symtab_section, 0, 0,
ELFW(ST_INFO)(STB_LOCAL, STT_FILE), 0,
SHN_ABS, file->filename);
ret = tcc_assemble_internal(s1, do_preprocess);
cur_text_section->data_offset = ind;