[Mesa-dev] [PATCH 1/3] aubinator: stop using non portable error() function
Jonathan Gray
jsg at jsg.id.au
Thu Sep 1 17:12:24 UTC 2016
error() is a gnu extension and is not present on OpenBSD
and likely other systems.
Convert use of error to fprintf/strerror/exit.
Signed-off-by: Jonathan Gray <jsg at jsg.id.au>
---
src/intel/tools/aubinator.c | 46 +++++++++++++++++++++++++++++----------------
1 file changed, 30 insertions(+), 16 deletions(-)
diff --git a/src/intel/tools/aubinator.c b/src/intel/tools/aubinator.c
index 811f707..66107711 100644
--- a/src/intel/tools/aubinator.c
+++ b/src/intel/tools/aubinator.c
@@ -30,7 +30,6 @@
#include <string.h>
#include <signal.h>
#include <errno.h>
-#include <error.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/wait.h>
@@ -794,8 +793,10 @@ handle_trace_block(struct gen_spec *spec, uint32_t *p)
case AUB_TRACE_OP_DATA_WRITE:
if (address_space != AUB_TRACE_MEMTYPE_GTT)
break;
- if (gtt_size < offset + size)
- error(EXIT_FAILURE, errno, "overflow gtt space");
+ if (gtt_size < offset + size) {
+ fprintf(stderr, "overflow gtt space: %s", strerror(errno));
+ exit(EXIT_FAILURE);
+ }
memcpy((char *) gtt + offset, data, size);
if (gtt_end < offset + size)
gtt_end = offset + size;
@@ -834,16 +835,22 @@ aub_file_open(const char *filename)
file = malloc(sizeof *file);
file->filename = strdup(filename);
file->fd = open(file->filename, O_RDONLY);
- if (file->fd == -1)
- error(EXIT_FAILURE, errno, "open %s failed", file->filename);
+ if (file->fd == -1) {
+ fprintf(stderr, "open %s failed: %s", file->filename, strerror(errno));
+ exit(EXIT_FAILURE);
+ }
- if (fstat(file->fd, &file->sb) == -1)
- error(EXIT_FAILURE, errno, "stat failed");
+ if (fstat(file->fd, &file->sb) == -1) {
+ fprintf(stderr, "stat failed: %s", strerror(errno));
+ exit(EXIT_FAILURE);
+ }
file->map = mmap(NULL, file->sb.st_size,
PROT_READ, MAP_SHARED, file->fd, 0);
- if (file->map == MAP_FAILED)
- error(EXIT_FAILURE, errno, "mmap failed");
+ if (file->map == MAP_FAILED) {
+ fprintf(stderr, "mmap failed: %s", strerror(errno));
+ exit(EXIT_FAILURE);
+ }
file->cursor = file->map;
file->end = file->map + file->sb.st_size / 4;
@@ -852,8 +859,10 @@ aub_file_open(const char *filename)
gtt_size = 1ul << 40;
gtt = mmap(NULL, gtt_size, PROT_READ | PROT_WRITE,
MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE, -1, 0);
- if (gtt == MAP_FAILED)
- error(EXIT_FAILURE, errno, "failed to alloc gtt space");
+ if (gtt == MAP_FAILED) {
+ fprintf(stderr, "failed to alloc gtt space: %s", strerror(errno));
+ exit(1);
+ }
return file;
}
@@ -1056,8 +1065,10 @@ int main(int argc, char *argv[])
} else if (strcmp(argv[i], "--no-offsets") == 0) {
option_print_offsets = false;
} else if (is_prefix(argv[i], "--gen", &value)) {
- if (value == NULL)
- error(EXIT_FAILURE, 0, "option '--gen' requires an argument\n");
+ if (value == NULL) {
+ fprintf(stderr, "option '--gen' requires an argument\n");
+ exit(EXIT_FAILURE);
+ }
found_arg_gen = true;
gen_major = 0;
gen_minor = 0;
@@ -1071,8 +1082,10 @@ int main(int argc, char *argv[])
option_color = COLOR_NEVER;
else if (strcmp(value, "auto") == 0)
option_color = COLOR_AUTO;
- else
- error(EXIT_FAILURE, 0, "invalid value for --color: %s", value);
+ else {
+ fprintf(stderr, "invalid value for --color: %s", value);
+ exit(EXIT_FAILURE);
+ }
} else if (strcmp(argv[i], "--help") == 0) {
print_help(stdout);
exit(EXIT_SUCCESS);
@@ -1131,8 +1144,9 @@ int main(int argc, char *argv[])
gen_major = 9;
gen_minor = 0;
} else {
- error(EXIT_FAILURE, 0, "can't parse gen: %s, expected ivb, byt, hsw, "
+ fprintf(stderr, "can't parse gen: %s, expected ivb, byt, hsw, "
"bdw, chv, skl, kbl or bxt\n", gen_val);
+ exit(EXIT_FAILURE);
}
/* Do this before we redirect stdout to pager. */
--
2.9.3
More information about the mesa-dev
mailing list