aboutsummaryrefslogtreecommitdiff
path: root/sim/rl78
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2021-01-09 10:18:50 -0500
committerMike Frysinger <vapier@gentoo.org>2021-01-11 08:25:34 -0500
commit933306703a73585ad80c72a8a9422833074961a2 (patch)
tree482a0bbef8d98e20e72bbd3d8d99d67386fa69d2 /sim/rl78
parent68ed2854284d415a71efd856a40343f550881ede (diff)
downloadgdb-933306703a73585ad80c72a8a9422833074961a2.zip
gdb-933306703a73585ad80c72a8a9422833074961a2.tar.gz
gdb-933306703a73585ad80c72a8a9422833074961a2.tar.bz2
sim: rl78: move storage out of header
This port declares its pc variable in a header and then includes it 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.
Diffstat (limited to 'sim/rl78')
-rw-r--r--sim/rl78/ChangeLog5
-rw-r--r--sim/rl78/cpu.c2
-rw-r--r--sim/rl78/cpu.h2
3 files changed, 8 insertions, 1 deletions
diff --git a/sim/rl78/ChangeLog b/sim/rl78/ChangeLog
index 8944ad4..ec31614 100644
--- a/sim/rl78/ChangeLog
+++ b/sim/rl78/ChangeLog
@@ -1,5 +1,10 @@
2021-01-11 Mike Frysinger <vapier@gentoo.org>
+ * cpu.h (pc): Change to an extern.
+ * cpu.c (pc): Define.
+
+2021-01-11 Mike Frysinger <vapier@gentoo.org>
+
* config.in, configure: Regenerate.
2021-01-09 Mike Frysinger <vapier@gentoo.org>
diff --git a/sim/rl78/cpu.c b/sim/rl78/cpu.c
index a1b8543..a38d6f6 100644
--- a/sim/rl78/cpu.c
+++ b/sim/rl78/cpu.c
@@ -36,6 +36,8 @@ int rl78_g10_mode = 0;
int g13_multiply = 0;
int g14_multiply = 0;
+SI pc;
+
#define REGISTER_ADDRESS 0xffee0
typedef struct {
diff --git a/sim/rl78/cpu.h b/sim/rl78/cpu.h
index 4629e0b..a21de32 100644
--- a/sim/rl78/cpu.h
+++ b/sim/rl78/cpu.h
@@ -39,7 +39,7 @@ extern int rl78_in_gdb;
SI get_reg (RL78_Register);
SI set_reg (RL78_Register, SI);
-SI pc;
+extern SI pc;
extern const char * const reg_names[];