diff options
author | Mike Frysinger <vapier@gentoo.org> | 2021-01-09 03:10:52 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2021-01-09 09:39:17 -0500 |
commit | 7eb99e5e27eebaf4a4acd469ad0856c0b35d80b3 (patch) | |
tree | 4ae7fa2d590cec9e63da42f6fe9070f79092b4bf | |
parent | f074c07d8d4d36d2712117eace2e4db48d544291 (diff) | |
download | gdb-7eb99e5e27eebaf4a4acd469ad0856c0b35d80b3.zip gdb-7eb99e5e27eebaf4a4acd469ad0856c0b35d80b3.tar.gz gdb-7eb99e5e27eebaf4a4acd469ad0856c0b35d80b3.tar.bz2 |
sim: cr16/d10v: move storage out of header
These ports declare their State variable in a header and then include
multiple times. This causes linker errors with newer gcc due to the
change in -fno-common behavior. Move the storage to a C file so we
only have one instance of it in the final program.
-rw-r--r-- | sim/cr16/ChangeLog | 5 | ||||
-rw-r--r-- | sim/cr16/cr16_sim.h | 4 | ||||
-rw-r--r-- | sim/cr16/interp.c | 2 | ||||
-rw-r--r-- | sim/d10v/ChangeLog | 5 | ||||
-rw-r--r-- | sim/d10v/d10v_sim.h | 4 | ||||
-rw-r--r-- | sim/d10v/interp.c | 2 |
6 files changed, 20 insertions, 2 deletions
diff --git a/sim/cr16/ChangeLog b/sim/cr16/ChangeLog index 9e8a16d..14edee2 100644 --- a/sim/cr16/ChangeLog +++ b/sim/cr16/ChangeLog @@ -1,5 +1,10 @@ 2021-01-09 Mike Frysinger <vapier@gentoo.org> + * cr16_sim.h (State): Change to an extern. + * interp.c (State): Define. + +2021-01-09 Mike Frysinger <vapier@gentoo.org> + * configure: Regenerate. 2021-01-09 Mike Frysinger <vapier@gentoo.org> diff --git a/sim/cr16/cr16_sim.h b/sim/cr16/cr16_sim.h index 4d6f1b9..8232f07 100644 --- a/sim/cr16/cr16_sim.h +++ b/sim/cr16/cr16_sim.h @@ -243,7 +243,9 @@ struct _state enum _ins_type ins_type; -} State; +}; + +extern struct _state State; extern uint32 OP[4]; diff --git a/sim/cr16/interp.c b/sim/cr16/interp.c index 0adb68a..cff7b88 100644 --- a/sim/cr16/interp.c +++ b/sim/cr16/interp.c @@ -33,6 +33,8 @@ #include "gdb/signals.h" #include "opcode/cr16.h" +struct _state State; + int cr16_debug; uint32 OP[4]; diff --git a/sim/d10v/ChangeLog b/sim/d10v/ChangeLog index b82ea09..13abbb8 100644 --- a/sim/d10v/ChangeLog +++ b/sim/d10v/ChangeLog @@ -1,5 +1,10 @@ 2021-01-09 Mike Frysinger <vapier@gentoo.org> + * d10v_sim.h (State): Change to an extern. + * interp.c (State): Define. + +2021-01-09 Mike Frysinger <vapier@gentoo.org> + * configure: Regenerate. 2021-01-09 Mike Frysinger <vapier@gentoo.org> diff --git a/sim/d10v/d10v_sim.h b/sim/d10v/d10v_sim.h index 86243c9..a3755bf 100644 --- a/sim/d10v/d10v_sim.h +++ b/sim/d10v/d10v_sim.h @@ -270,7 +270,9 @@ struct _state enum _ins_type ins_type; -} State; +}; + +extern struct _state State; extern uint16 OP[4]; diff --git a/sim/d10v/interp.c b/sim/d10v/interp.c index cb8c6cf..5c70b38 100644 --- a/sim/d10v/interp.c +++ b/sim/d10v/interp.c @@ -25,6 +25,8 @@ enum _leftright { LEFT_FIRST, RIGHT_FIRST }; +struct _state State; + int d10v_debug; /* Set this to true to get the previous segment layout. */ |