aboutsummaryrefslogtreecommitdiff
path: root/sim/igen/lf.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-07-02 18:10:49 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-07-03 21:03:47 +0200
commitc4df5bbeb87a445dbc84b9ed677b2c721e5051b5 (patch)
treeed41eb7b0c7a0d1b17f98783bc78b27ac1c8f425 /sim/igen/lf.h
parentad8464f799a4c96c7ab8bdfec3f95846cf54f9b0 (diff)
downloadfsf-binutils-gdb-c4df5bbeb87a445dbc84b9ed677b2c721e5051b5.zip
fsf-binutils-gdb-c4df5bbeb87a445dbc84b9ed677b2c721e5051b5.tar.gz
fsf-binutils-gdb-c4df5bbeb87a445dbc84b9ed677b2c721e5051b5.tar.bz2
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.
Diffstat (limited to 'sim/igen/lf.h')
-rw-r--r--sim/igen/lf.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sim/igen/lf.h b/sim/igen/lf.h
index 54b4dcd..6d86fac 100644
--- a/sim/igen/lf.h
+++ b/sim/igen/lf.h
@@ -54,6 +54,8 @@ extern lf *lf_open
lf_file_references file_references,
lf_file_type type, const char *program);
+extern lf_file_type lf_get_file_type (const lf *file);
+
extern void lf_close (lf *file);