X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=ld%2Fldbuildid.c;h=7448dcb7d0818172c068832bfe99da71b52f55d3;hb=e961c696dcb226d5b58bd8b17b1cf5491d87f846;hp=d7eb6ae560b8c465c3602ab8082f3cad4c91b1c1;hpb=b3adc24a0713411ab38a21dc894dd40dbc5c8f4f;p=binutils-gdb.git diff --git a/ld/ldbuildid.c b/ld/ldbuildid.c index d7eb6ae560b..7448dcb7d08 100644 --- a/ld/ldbuildid.c +++ b/ld/ldbuildid.c @@ -1,5 +1,5 @@ /* ldbuildid.c - Build Id support routines - Copyright (C) 2013-2020 Free Software Foundation, Inc. + Copyright (C) 2013-2022 Free Software Foundation, Inc. This file is part of the GNU Binutils. @@ -30,16 +30,15 @@ #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")) @@ -116,7 +115,7 @@ generate_build_id (bfd *abfd, sha1_init_ctx (&ctx); if (!(*checksum_contents) (abfd, (sum_fn) &sha1_process_bytes, &ctx)) - return FALSE; + return false; sha1_finish_ctx (&ctx, id_bits); } else if (streq (style, "uuid")) @@ -126,11 +125,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 +137,25 @@ generate_build_id (bfd *abfd, HMODULE rpc_library = LoadLibrary ("rpcrt4.dll"); if (!rpc_library) - return FALSE; + 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 +178,5 @@ generate_build_id (bfd *abfd, else abort (); /* Should have been validated earlier. */ - return TRUE; + return true; }