]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - ld/ldbuildid.c
Automatic date update in version.in
[thirdparty/binutils-gdb.git] / ld / ldbuildid.c
index 7d25a9251a90abc6bc52d4691ff57d06b81fc114..5ba9e503c7c3af4a06f04f8e50affd0a5ba4a473 100644 (file)
@@ -1,5 +1,5 @@
 /* ldbuildid.c - Build Id support routines
-   Copyright (C) 2013-2018 Free Software Foundation, Inc.
+   Copyright (C) 2013-2024 Free Software Foundation, Inc.
 
    This file is part of the GNU Binutils.
 
 #endif
 
 #define streq(a,b)     strcmp ((a), (b)) == 0
-#define strneq(a,b,n)  strncmp ((a), (b), (n)) == 0
 
-bfd_boolean
+bool
 validate_build_id_style (const char *style)
 {
   if ((streq (style, "md5")) || (streq (style, "sha1"))
-      || (streq (style, "uuid")) || (strneq (style, "0x", 2)))
-    return TRUE;
+      || (streq (style, "uuid")) || (startswith (style, "0x")))
+    return true;
 
-  return FALSE;
+  return false;
 }
 
 bfd_size_type
@@ -51,7 +50,7 @@ compute_build_id_size (const char *style)
   if (streq (style, "sha1"))
     return 160 / 8;
 
-  if (strneq (style, "0x", 2))
+  if (startswith (style, "0x"))
     {
       bfd_size_type size = 0;
       /* ID is in string form (hex).  Count the bytes.  */
@@ -94,7 +93,7 @@ read_hex (const char xdigit)
   return 0;
 }
 
-bfd_boolean
+bool
 generate_build_id (bfd *abfd,
                   const char *style,
                   checksum_fn checksum_contents,
@@ -107,7 +106,7 @@ generate_build_id (bfd *abfd,
 
       md5_init_ctx (&ctx);
       if (!(*checksum_contents) (abfd, (sum_fn) &md5_process_bytes, &ctx))
-       return FALSE;
+       return false;
       md5_finish_ctx (&ctx, id_bits);
     }
   else if (streq (style, "sha1"))
@@ -115,8 +114,9 @@ generate_build_id (bfd *abfd,
       struct sha1_ctx ctx;
 
       sha1_init_ctx (&ctx);
-      if (!(*checksum_contents) (abfd, (sum_fn) &sha1_process_bytes, &ctx))
-       return FALSE;
+      if (!(*checksum_contents) (abfd, (sum_fn) sha1_choose_process_bytes (),
+                                &ctx))
+       return false;
       sha1_finish_ctx (&ctx, id_bits);
     }
   else if (streq (style, "uuid"))
@@ -126,11 +126,11 @@ generate_build_id (bfd *abfd,
       int fd = open ("/dev/urandom", O_RDONLY);
 
       if (fd < 0)
-       return FALSE;
+       return false;
       n = read (fd, id_bits, size);
       close (fd);
       if (n < size)
-       return FALSE;
+       return false;
 #else /* __MINGW32__ */
       typedef RPC_STATUS (RPC_ENTRY * UuidCreateFn) (UUID *);
       UUID          uuid;
@@ -138,25 +138,25 @@ generate_build_id (bfd *abfd,
       HMODULE       rpc_library = LoadLibrary ("rpcrt4.dll");
 
       if (!rpc_library)
-       return FALSE;
-      uuid_create = (UuidCreateFn) GetProcAddress (rpc_library, "UuidCreate");
+       return false;
+      uuid_create = (UuidCreateFn) (void (WINAPI *)(void)) GetProcAddress (rpc_library, "UuidCreate");
       if (!uuid_create)
        {
          FreeLibrary (rpc_library);
-         return FALSE;
+         return false;
        }
 
       if (uuid_create (&uuid) != RPC_S_OK)
        {
          FreeLibrary (rpc_library);
-         return FALSE;
+         return false;
        }
       FreeLibrary (rpc_library);
       memcpy (id_bits, &uuid,
              (size_t) size < sizeof (UUID) ? (size_t) size : sizeof (UUID));
 #endif /* __MINGW32__ */
     }
-  else if (strneq (style, "0x", 2))
+  else if (startswith (style, "0x"))
     {
       /* ID is in string form (hex).  Convert to bits.  */
       const char *id = style + 2;
@@ -179,5 +179,5 @@ generate_build_id (bfd *abfd,
   else
     abort ();                  /* Should have been validated earlier.  */
 
-  return TRUE;
+  return true;
 }