sim/igen: Fix linker error with -fno-common
GCC 10 enables -fno-common by default. This resulted in multiple definition linker errors since a global variable was declared and defined in a header file: ld: libsim.a(idecode.o):sim/v850/idecode.h:71: multiple definition of `idecode_issue'; libsim.a(irun.o):sim/v850/idecode.h:71: first defined here ld: libsim.a(engine.o):sim/v850/idecode.h:71: multiple definition of `idecode_issue'; libsim.a(irun.o):sim/v850/idecode.h:71: first defined here ld: libsim.a(support.o):sim/v850/idecode.h:71: multiple definition of `idecode_issue'; libsim.a(irun.o):sim/v850/idecode.h:71: first defined here ld: libsim.a(semantics.o):sim/v850/idecode.h:71: multiple definition of `idecode_issue'; libsim.a(irun.o):sim/v850/idecode.h:71: first defined here sim/igen PR sim/26194 * lf.h (lf_get_file_type): Declare. * lf.c (lf_get_file_type): Define. * gen-idecode.c (print_idecode_issue_function_header): Use lf_get_file_type() to issue an extern variable declaration in case of header files.
This commit is contained in:
parent
ad8464f799
commit
c4df5bbeb8
4 changed files with 20 additions and 0 deletions
|
@ -930,6 +930,8 @@ print_idecode_issue_function_header (lf *file,
|
|||
"INLINE_IDECODE", "\n");
|
||||
break;
|
||||
case is_function_variable:
|
||||
if (lf_get_file_type (file) == lf_is_h)
|
||||
lf_printf (file, "extern ");
|
||||
print_semantic_function_type (file);
|
||||
lf_printf (file, " (*");
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue