diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-07-01 19:29:55 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-07-03 18:47:40 +0200 |
commit | ad8464f799a4c96c7ab8bdfec3f95846cf54f9b0 (patch) | |
tree | 19f1d5a78e9872e685ca3fe5471719b4db66c931 | |
parent | 3c8ea5be24ecc76600b6cea36240449a84c0fc22 (diff) | |
download | gdb-ad8464f799a4c96c7ab8bdfec3f95846cf54f9b0.zip gdb-ad8464f799a4c96c7ab8bdfec3f95846cf54f9b0.tar.gz gdb-ad8464f799a4c96c7ab8bdfec3f95846cf54f9b0.tar.bz2 |
sim/ppc: Fix linker error with -fno-common
GCC 10 enables -fno-common by default. This resulted in a multiple
definition linker error since global variables were declared and defined
in a header file:
ld: ld-insn.o:sim/ppc/ld-insn.h:221: multiple definition of
`max_model_fields_len'; igen.o:sim/ppc/ld-insn.h:221: first defined here
sim/ppc
* ld-insn.h (last_model, last_model_data, last_model_function,
last_model_internal, last_model_macro, last_model_static):
Delete.
(max_model_fields_len, model_data, model_functions,
model_internal, model_macros, model_static, models): Declare, but do not
define.
* ld-insn.c (last_model, last_model_data, last_model_function,
last_model_internal, last_model_macro, last_model_static,
max_model_fields_len, model_data, model_functions,
model_internal, model_macros, model_static, models): Define.
-rw-r--r-- | sim/ppc/ChangeLog | 13 | ||||
-rw-r--r-- | sim/ppc/ld-insn.c | 18 | ||||
-rw-r--r-- | sim/ppc/ld-insn.h | 24 |
3 files changed, 38 insertions, 17 deletions
diff --git a/sim/ppc/ChangeLog b/sim/ppc/ChangeLog index 7c3a634f..ef5fa4d 100644 --- a/sim/ppc/ChangeLog +++ b/sim/ppc/ChangeLog @@ -1,3 +1,16 @@ +2020-07-03 Sebastian Huber <sebastian.huber@embedded-brains.de> + + * ld-insn.h (last_model, last_model_data, last_model_function, + last_model_internal, last_model_macro, last_model_static): + Delete. + (max_model_fields_len, model_data, model_functions, + model_internal, model_macros, model_static, models): Declare, but do not + define. + * ld-insn.c (last_model, last_model_data, last_model_function, + last_model_internal, last_model_macro, last_model_static, + max_model_fields_len, model_data, model_functions, + model_internal, model_macros, model_static, models): Define. + 2020-03-12 Kamil Rytarowski <n54@gmx.com> * emul_netbsd.c (netbsd_signal_names): Sync with NetBSD 9.99.49. diff --git a/sim/ppc/ld-insn.c b/sim/ppc/ld-insn.c index e39131c..585071a 100644 --- a/sim/ppc/ld-insn.c +++ b/sim/ppc/ld-insn.c @@ -28,6 +28,24 @@ #include "igen.h" +static model *last_model; + +static insn *last_model_macro; +static insn *last_model_function; +static insn *last_model_internal; +static insn *last_model_static; +static insn *last_model_data; + +model *models; + +insn *model_macros; +insn *model_functions; +insn *model_internal; +insn *model_static; +insn *model_data; + +int max_model_fields_len; + static void update_depth(insn_table *entry, lf *file, diff --git a/sim/ppc/ld-insn.h b/sim/ppc/ld-insn.h index 88318ff..52baeaa 100644 --- a/sim/ppc/ld-insn.h +++ b/sim/ppc/ld-insn.h @@ -200,25 +200,15 @@ extern insn_table *load_insn_table table_include *includes, cache_table **cache_rules); -model *models; -model *last_model; +extern model *models; -insn *model_macros; -insn *last_model_macro; +extern insn *model_macros; +extern insn *model_functions; +extern insn *model_internal; +extern insn *model_static; +extern insn *model_data; -insn *model_functions; -insn *last_model_function; - -insn *model_internal; -insn *last_model_internal; - -insn *model_static; -insn *last_model_static; - -insn *model_data; -insn *last_model_data; - -int max_model_fields_len; +extern int max_model_fields_len; extern void insn_table_insert_insn (insn_table *table, |