]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
bfd: Use MAP_FAILED for mmap failure
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 13 Mar 2024 13:31:28 +0000 (06:31 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 13 Mar 2024 13:55:44 +0000 (06:55 -0700)
Use MAP_FAILED, instead of ((void *) -1), for mmap failure and use
((void *) -1) only if MAP_FAILED is undefined.

* bfdio.c (bfd_mmap): Replace (void *) -1 with MAP_FAILED for
mmap failure.
* bfdwin.c: Don't include <sys/mman.h>.
(MAP_FILE): Removed.
(bfd_get_file_window): Replace (void *) -1 with MAP_FAILED for
mmap failure.
* cache.c: Don't include <sys/mman.h>.
(cache_bmmap): Replace (void *) -1 with MAP_FAILED for mmap
failure.
* opncls.c (opncls_bmmap): Likewise.
* sysdep.h: Include <sys/mman.h> if HAVE_MMAP is define.
(MAP_FILE): New.  Defined as 0 if undefined.
(MAP_FAILED): New.  Defined as ((void *) -1) if undefined.

bfd/bfdio.c
bfd/bfdwin.c
bfd/cache.c
bfd/opncls.c
bfd/sysdep.h
bfd/vms-lib.c

index ab3e28ea20498ee1cc169c0efbda1f4267f8da03..1572de00ad497bb5aef0af54afe8fc27ddfffcca 100644 (file)
@@ -666,7 +666,7 @@ bfd_mmap (bfd *abfd, void *addr, bfd_size_type len,
   if (abfd->iovec == NULL)
     {
       bfd_set_error (bfd_error_invalid_operation);
-      return (void *) -1;
+      return MAP_FAILED;
     }
 
   return abfd->iovec->bmmap (abfd, addr, len, prot, flags, offset,
index beb17398744d8c3522516d7bae4133691dbbd29c..2919c71b3cbd7ed61ff22774e8303e4e74ad8cec 100644 (file)
 
 #undef HAVE_MPROTECT /* code's not tested yet */
 
-#if HAVE_MMAP || HAVE_MPROTECT || HAVE_MADVISE
-#include <sys/mman.h>
-#endif
-
-#ifndef MAP_FILE
-#define MAP_FILE 0
-#endif
-
 static int debug_windows;
 
 /* The idea behind the next and refcount fields is that one mapped
@@ -234,7 +226,7 @@ bfd_get_file_window (bfd *abfd,
                       ? MAP_FILE | MAP_PRIVATE
                       : MAP_FILE | MAP_SHARED),
                      fd, file_offset);
-      if (i->data == (void *) -1)
+      if (i->data == MAP_FAILED)
        {
          /* An error happened.  Report it, or try using malloc, or
             something.  */
index 4c00c00f8d5553d55dbe936567a8b35ae3bfda58..3bc2afc9f3609b90ada79a498c181cf687aa7be8 100644 (file)
@@ -45,10 +45,6 @@ SUBSECTION
 #include "libbfd.h"
 #include "libiberty.h"
 
-#ifdef HAVE_MMAP
-#include <sys/mman.h>
-#endif
-
 static FILE *_bfd_open_file_unlocked (bfd *abfd);
 
 /* In some cases we can optimize cache operation when reopening files.
@@ -489,7 +485,7 @@ cache_bmmap (struct bfd *abfd ATTRIBUTE_UNUSED,
             void **map_addr ATTRIBUTE_UNUSED,
             bfd_size_type *map_len ATTRIBUTE_UNUSED)
 {
-  void *ret = (void *) -1;
+  void *ret = MAP_FAILED;
 
   if (!bfd_lock ())
     return ret;
@@ -518,7 +514,7 @@ cache_bmmap (struct bfd *abfd ATTRIBUTE_UNUSED,
       pg_len = (len + (offset - pg_offset) + pagesize_m1) & ~pagesize_m1;
 
       ret = mmap (addr, pg_len, prot, flags, fileno (f), pg_offset);
-      if (ret == (void *) -1)
+      if (ret == MAP_FAILED)
        bfd_set_error (bfd_error_system_call);
       else
        {
@@ -530,7 +526,7 @@ cache_bmmap (struct bfd *abfd ATTRIBUTE_UNUSED,
 #endif
 
   if (!bfd_unlock ())
-    return (void *) -1;
+    return MAP_FAILED;
   return ret;
 }
 
index a0a5c40fba89bdd6f25f092e04871bb384e6a2f2..096672475c4b1c5ae1c68a5d9cf2136a68db6504 100644 (file)
@@ -675,7 +675,7 @@ opncls_bmmap (struct bfd *abfd ATTRIBUTE_UNUSED,
              void **map_addr ATTRIBUTE_UNUSED,
              bfd_size_type *map_len ATTRIBUTE_UNUSED)
 {
-  return (void *) -1;
+  return MAP_FAILED;
 }
 
 static const struct bfd_iovec opncls_iovec =
index a57666573459519ba99a453c5d440a96d6d806cc..b907bc26a09b5d62f3fb0d608ec13d2656a24ef6 100644 (file)
 #define SEEK_CUR 1
 #endif
 
+#ifdef HAVE_MMAP
+#include <sys/mman.h>
+#endif
+
+#ifndef MAP_FILE
+#define MAP_FILE 0
+#endif
+
+#ifndef MAP_FAILED
+#define MAP_FAILED ((void *) -1)
+#endif
+
 #include "filenames.h"
 
 #if !HAVE_DECL_FFS
index b0ca9908b17ba2b8e007108dcf265fe60a4df44e..592a57fbe68db5d8bdd2985d69eb59dbf146097b 100644 (file)
@@ -1277,7 +1277,7 @@ vms_lib_bmmap (struct bfd *abfd ATTRIBUTE_UNUSED,
               void **map_addr ATTRIBUTE_UNUSED,
               bfd_size_type *map_len ATTRIBUTE_UNUSED)
 {
-  return (void *) -1;
+  return MAP_FAILED;
 }
 
 static const struct bfd_iovec vms_lib_iovec = {