mirror of
https://github.com/mirror/tinycc.git
synced 2025-01-15 05:20:06 +08:00
fix: try to add a bounds.o only if __bounds_init not found
/usr/local/lib/tcc/i386/bcheck.o: error: '__bound_error_msg' defined twice #include <stdio.h> int main () { #if 1 int v[10]; v[10] = 0; fprintf(stderr, "is bounds error catched?\n"); #endif return 0; } // tcc -b test.c
This commit is contained in:
parent
3b7f5008fd
commit
f2cfc07554
9
tccelf.c
9
tccelf.c
@ -1589,10 +1589,13 @@ ST_FUNC void tcc_add_bcheck(TCCState *s1)
|
||||
pinit = section_ptr_add(init_section, 5);
|
||||
pinit[0] = 0xe8;
|
||||
put32(pinit + 1, -4);
|
||||
tcc_add_support(s1, "bcheck.o");
|
||||
sym_index = find_elf_sym(symtab_section, "__bound_init");
|
||||
if (!sym_index)
|
||||
tcc_error("__bound_init not defined");
|
||||
if (!sym_index) {
|
||||
tcc_add_support(s1, "bcheck.o");
|
||||
sym_index = find_elf_sym(symtab_section, "__bound_init");
|
||||
if (!sym_index)
|
||||
tcc_error("__bound_init not defined");
|
||||
}
|
||||
put_elf_reloc(symtab_section, init_section,
|
||||
init_section->data_offset - 4, R_386_PC32, sym_index);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user