aboutsummaryrefslogtreecommitdiff
path: root/tccasm.c
diff options
context:
space:
mode:
Diffstat (limited to 'tccasm.c')
-rw-r--r--tccasm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/tccasm.c b/tccasm.c
index 6862ef5..56bf6cd 100644
--- a/tccasm.c
+++ b/tccasm.c
@@ -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;