aboutsummaryrefslogtreecommitdiff
path: root/sim
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2024-01-01 17:34:01 -0500
committerMike Frysinger <vapier@gentoo.org>2024-01-01 17:39:09 -0500
commit9ddac092a831d9eb4a53959764c2d13b12964a0c (patch)
treea9177cbf20722b0c81ee211beb50886309028322 /sim
parentef993dfa05f6a79a76ede0d0be00f7ac93d7c75c (diff)
downloadbinutils-9ddac092a831d9eb4a53959764c2d13b12964a0c.zip
binutils-9ddac092a831d9eb4a53959764c2d13b12964a0c.tar.gz
binutils-9ddac092a831d9eb4a53959764c2d13b12964a0c.tar.bz2
sim: ppc: rework igen error to match common
Switch to an ERROR macro and tweak the error signature to match the common igen version in preparation for merging the two implementations.
Diffstat (limited to 'sim')
-rw-r--r--sim/ppc/gen-idecode.c2
-rw-r--r--sim/ppc/gen-model.c4
-rw-r--r--sim/ppc/igen.c4
-rw-r--r--sim/ppc/ld-cache.c2
-rw-r--r--sim/ppc/ld-decode.c2
-rw-r--r--sim/ppc/ld-insn.c14
-rw-r--r--sim/ppc/lf.c2
-rw-r--r--sim/ppc/misc.c8
-rw-r--r--sim/ppc/misc.h7
-rw-r--r--sim/ppc/table.c2
10 files changed, 25 insertions, 22 deletions
diff --git a/sim/ppc/gen-idecode.c b/sim/ppc/gen-idecode.c
index 256ba75..5d22535 100644
--- a/sim/ppc/gen-idecode.c
+++ b/sim/ppc/gen-idecode.c
@@ -1543,6 +1543,6 @@ gen_idecode_c(lf *file,
}
else {
- error("Something is wrong!\n");
+ ERROR("Something is wrong!\n");
}
}
diff --git a/sim/ppc/gen-model.c b/sim/ppc/gen-model.c
index a8bcc66..11a533b 100644
--- a/sim/ppc/gen-model.c
+++ b/sim/ppc/gen-model.c
@@ -52,7 +52,7 @@ model_c_or_h_function(insn_table *entry,
{
if (function->fields[function_type] == NULL
|| function->fields[function_type][0] == '\0') {
- error("Model function type not specified for %s", function->fields[function_name]);
+ ERROR("Model function type not specified for %s", function->fields[function_name]);
}
lf_printf(file, "\n");
lf_print_function_type(file, function->fields[function_type], prefix, " ");
@@ -203,7 +203,7 @@ model_c_function(insn_table *table,
{
if (function->fields[function_type] == NULL
|| function->fields[function_type][0] == '\0') {
- error("Model function return type not specified for %s", function->fields[function_name]);
+ ERROR("Model function return type not specified for %s", function->fields[function_name]);
}
else {
lf_printf(file, "\n");
diff --git a/sim/ppc/igen.c b/sim/ppc/igen.c
index 61afa49..264d808 100644
--- a/sim/ppc/igen.c
+++ b/sim/ppc/igen.c
@@ -450,7 +450,7 @@ main(int argc,
code &= ~generate_with_icache;
break;
default:
- error ("Expecting -Ggen-icache or -Ggen-icache=<N>\n");
+ ERROR ("Expecting -Ggen-icache or -Ggen-icache=<N>\n");
}
}
break;
@@ -568,7 +568,7 @@ main(int argc,
real_file_name = NULL;
break;
default:
- error("unknown option\n");
+ ERROR("unknown option\n");
}
}
return 0;
diff --git a/sim/ppc/ld-cache.c b/sim/ppc/ld-cache.c
index 9a78f90..a5d101d 100644
--- a/sim/ppc/ld-cache.c
+++ b/sim/ppc/ld-cache.c
@@ -115,7 +115,7 @@ main(int argc, char **argv)
{
cache_table *rules;
if (argc != 3)
- error("Usage: cache <cache-file> <hi-bit-nr>\n");
+ ERROR("Usage: cache <cache-file> <hi-bit-nr>\n");
rules = load_cache_table(argv[1], a2i(argv[2]));
dump_cache_rules(rules, 0);
return 0;
diff --git a/sim/ppc/ld-decode.c b/sim/ppc/ld-decode.c
index 63c2c2e..a631645 100644
--- a/sim/ppc/ld-decode.c
+++ b/sim/ppc/ld-decode.c
@@ -143,7 +143,7 @@ main(int argc, char **argv)
{
decode_table *rules;
if (argc != 3)
- error("Usage: decode <decode-file> <hi-bit-nr>\n");
+ ERROR("Usage: decode <decode-file> <hi-bit-nr>\n");
rules = load_decode_table(argv[1], a2i(argv[2]));
dump_decode_rules(rules, 0);
return 0;
diff --git a/sim/ppc/ld-insn.c b/sim/ppc/ld-insn.c
index 5cb72b2..c11b449 100644
--- a/sim/ppc/ld-insn.c
+++ b/sim/ppc/ld-insn.c
@@ -110,7 +110,7 @@ parse_insn_format(table_entry *entry,
/* sanity check */
if (!isdigit(*chp)) {
- error("%s:%d: missing position field at `%s'\n",
+ ERROR("%s:%d: missing position field at `%s'\n",
entry->file_name, entry->line_nr, chp);
}
@@ -122,7 +122,7 @@ parse_insn_format(table_entry *entry,
if (*chp == '.' && strlen_pos > 0)
chp++;
else {
- error("%s:%d: missing field value at %s\n",
+ ERROR("%s:%d: missing field value at %s\n",
entry->file_name, entry->line_nr, chp);
break;
}
@@ -137,7 +137,7 @@ parse_insn_format(table_entry *entry,
if (*chp == ',')
chp++;
else if (*chp != '\0' || strlen_val == 0) {
- error("%s:%d: missing field terminator at %s\n",
+ ERROR("%s:%d: missing field terminator at %s\n",
entry->file_name, entry->line_nr, chp);
break;
}
@@ -216,7 +216,7 @@ parse_include_entry (table *file,
{
/* parse the include file_entry */
if (file_entry->nr_fields < 4)
- error ("Incorrect nr fields for include record\n");
+ ERROR ("Incorrect nr fields for include record\n");
/* process it */
if (!is_filtered_out(file_entry->fields[include_flags], filters))
{
@@ -326,7 +326,7 @@ insn_table_insert_insn(insn_table *table,
}
if (!model_ptr)
- error("%s:%d: machine model `%s' was not known about\n",
+ ERROR("%s:%d: machine model `%s' was not known about\n",
file_entry->file_name, file_entry->line_nr, name);
}
@@ -663,7 +663,7 @@ insn_table_find_opcode_field(insn *insns,
curr_opcode->boolean_constant = rule->special_constant;
break;
default:
- error("Something is going wrong\n");
+ ERROR("Something is going wrong\n");
}
return curr_opcode;
@@ -979,7 +979,7 @@ main(int argc, char **argv)
cache_table *cache_rules = NULL;
if (argc != 5)
- error("Usage: insn <filter> <hi-bit-nr> <decode-table> <insn-table>\n");
+ ERROR("Usage: insn <filter> <hi-bit-nr> <decode-table> <insn-table>\n");
filters = new_filter(argv[1], filters);
hi_bit_nr = a2i(argv[2]);
diff --git a/sim/ppc/lf.c b/sim/ppc/lf.c
index 9a9d615..9deb2d2 100644
--- a/sim/ppc/lf.c
+++ b/sim/ppc/lf.c
@@ -274,7 +274,7 @@ lf_print__c_code(lf *file,
chp++;
}
if (in_bit_field)
- error("bit field paren miss match some where\n");
+ ERROR("bit field paren miss match some where\n");
if (*chp == '\n') {
nr += lf_putchr(file, '\n');
chp++;
diff --git a/sim/ppc/misc.c b/sim/ppc/misc.c
index a281d62..9499101 100644
--- a/sim/ppc/misc.c
+++ b/sim/ppc/misc.c
@@ -28,7 +28,7 @@
#include <string.h>
void
-error (const char *msg, ...)
+error (const void *line, const char *msg, ...)
{
va_list ap;
va_start(ap, msg);
@@ -42,7 +42,7 @@ zalloc(long size)
{
void *memory = malloc(size);
if (memory == NULL)
- error("zalloc failed\n");
+ ERROR("zalloc failed\n");
memset(memory, 0, size);
return memory;
}
@@ -186,7 +186,7 @@ name2i(const char *names,
if (curr->i >= 0)
return curr->i;
else
- error("%s contains no valid names\n", names);
+ ERROR("%s contains no valid names\n", names);
return 0;
}
@@ -199,6 +199,6 @@ i2name(const int i,
return map->name;
map++;
}
- error("map lookup failed for %d\n", i);
+ ERROR("map lookup failed for %d\n", i);
return NULL;
}
diff --git a/sim/ppc/misc.h b/sim/ppc/misc.h
index 0073467..243d5c9 100644
--- a/sim/ppc/misc.h
+++ b/sim/ppc/misc.h
@@ -28,8 +28,11 @@
#include "ansidecl.h"
#include "filter_host.h"
-extern void error (const char *msg, ...)
- ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (1, 2);
+extern void error (const void *line, const char *msg, ...)
+ ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (2, 3);
+
+#define ERROR(EXPRESSION, args...) \
+ error (NULL, EXPRESSION, ## args)
#define ASSERT(EXPRESSION) \
do { \
diff --git a/sim/ppc/table.c b/sim/ppc/table.c
index cb9a73a..0c5b6fc 100644
--- a/sim/ppc/table.c
+++ b/sim/ppc/table.c
@@ -98,7 +98,7 @@ table_push (table *root,
/* free (dup_name); */
if (include->next == NULL)
{
- error ("Problem opening file `%s'\n", file_name);
+ ERROR ("Problem opening file `%s'\n", file_name);
perror (file_name);
exit (1);
}