This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[RFC 4/5] xtensa: make xtensa_modules dynamic
- From: Max Filippov <jcmvbkbc at gmail dot com>
- To: binutils at sourceware dot org, gdb-patches at sourceware dot org
- Cc: Sterling Augustine <augustine dot sterling at gmail dot com>, David Weatherford <weath at cadence dot com>, Maxim Grigoriev <maxim2405 at gmail dot com>, Woody LaRue <larue at cadence dot com>, Max Filippov <jcmvbkbc at gmail dot com>
- Date: Mon, 22 May 2017 14:12:32 -0700
- Subject: [RFC 4/5] xtensa: make xtensa_modules dynamic
- Authentication-results: sourceware.org; auth=none
- References: <1495487553-19078-1-git-send-email-jcmvbkbc@gmail.com>
2017-05-22 Max Filippov <jcmvbkbc@gmail.com>
bfd/
* xtensa-isa.c (xtensa-dynconfig.h): New #include'd header.
(xtensa_get_modules): New function.
(xtensa_isa_init): Call xtensa_get_modules instead of taking
address of global xtensa_modules.
---
bfd/xtensa-isa.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/bfd/xtensa-isa.c b/bfd/xtensa-isa.c
index 8da75be..79fb76b 100644
--- a/bfd/xtensa-isa.c
+++ b/bfd/xtensa-isa.c
@@ -23,6 +23,7 @@
#include "libbfd.h"
#include "xtensa-isa.h"
#include "xtensa-isa-internal.h"
+#include "xtensa-dynconfig.h"
xtensa_isa_status xtisa_errno;
char xtisa_error_msg[1024];
@@ -233,10 +234,20 @@ xtensa_insnbuf_from_chars (xtensa_isa isa,
extern xtensa_isa_internal xtensa_modules;
+static xtensa_isa_internal *xtensa_get_modules (void)
+{
+ static xtensa_isa_internal *modules;
+
+ if (!modules)
+ modules = xtensa_load_config ("xtensa_modules", &xtensa_modules);
+
+ return modules;
+}
+
xtensa_isa
xtensa_isa_init (xtensa_isa_status *errno_p, char **error_msg_p)
{
- xtensa_isa_internal *isa = &xtensa_modules;
+ xtensa_isa_internal *isa = xtensa_get_modules ();
int n, is_user;
/* Set up the opcode name lookup table. */
--
2.1.4