diff options
author | Eric Engestrom <[email protected]> | 2016-09-25 16:49:52 +0100 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2016-10-01 15:27:46 -0700 |
commit | c86793804498a33e36302b670d3a8b095f9bdc93 (patch) | |
tree | 7e196583230c7e3bc611e83717c764cec778cee8 /src | |
parent | 65c8cbe89df3c0e23e83f32111cce6609f86c85d (diff) |
nir/spirv: improve mmap() error handling
Signed-off-by: Eric Engestrom <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/spirv/spirv2nir.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/compiler/spirv/spirv2nir.c b/src/compiler/spirv/spirv2nir.c index a02402874fc..3dc07351322 100644 --- a/src/compiler/spirv/spirv2nir.c +++ b/src/compiler/spirv/spirv2nir.c @@ -38,6 +38,8 @@ #include <fcntl.h> #include <unistd.h> #include <stdio.h> +#include <errno.h> +#include <string.h> #define WORD_SIZE 4 @@ -62,7 +64,13 @@ int main(int argc, char **argv) size_t word_count = len / WORD_SIZE; const void *map = mmap(NULL, len, PROT_READ, MAP_PRIVATE, fd, 0); - assert(map != NULL); + if (map == MAP_FAILED) + { + fprintf(stderr, "Failed to mmap the file: errno=%d, %s\n", + errno, strerror(errno)); + close(fd); + return 1; + } nir_function *func = spirv_to_nir(map, word_count, NULL, 0, MESA_SHADER_FRAGMENT, "main", NULL); |