aboutsummaryrefslogtreecommitdiff
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
parentef993dfa05f6a79a76ede0d0be00f7ac93d7c75c (diff)
downloadgdb-9ddac092a831d9eb4a53959764c2d13b12964a0c.zip
gdb-9ddac092a831d9eb4a53959764c2d13b12964a0c.tar.gz
gdb-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.
-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);
}