summaryrefslogtreecommitdiff
path: root/arch/powerpc/assembler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/assembler.cpp')
-rw-r--r--arch/powerpc/assembler.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/powerpc/assembler.cpp b/arch/powerpc/assembler.cpp
index 845b1ecb..1294a378 100644
--- a/arch/powerpc/assembler.cpp
+++ b/arch/powerpc/assembler.cpp
@@ -43,7 +43,7 @@ struct info {
uint32_t mask; /* which bits to mutate */
};
-map<string, info> lookup = {
+static const map<string_view, info> lookup = {
{ "tdi NUM , GPR , NUM",{0x0800000A,0x03FFFFFF}}, // 000010xxxxxxxxxxxxxxxxxxxxxxxxxx tdi 0, r0, 0xa
{ "tdlgti GPR , NUM",{0x08200000,0x001FFFFF}}, // 00001000001xxxxxxxxxxxxxxxxxxxxx tdlgti r0, 0
{ "tdllti GPR , NUM",{0x08400000,0x001FFFFF}}, // 00001000010xxxxxxxxxxxxxxxxxxxxx tdllti r0, 0
@@ -2932,12 +2932,13 @@ int assemble_single(string src, uint32_t addr, uint8_t *result, string& err,
MYLOG("src:%s has signature:%s\n", src.c_str(), sig_src.c_str());
- if(lookup.find(sig_src) == lookup.end()) {
+ auto it = lookup.find(sig_src);
+ if(it == lookup.end()) {
err = "invalid syntax in " + sig_src;
return -1;
}
- auto info = lookup[sig_src];
+ auto info = it->second;
uint32_t vary_mask = info.mask;
/* for relative branches, shift the target address to 0 */