From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-x52d.google.com (mail-pg1-x52d.google.com [IPv6:2607:f8b0:4864:20::52d]) by sourceware.org (Postfix) with ESMTPS id A550E3858D28; Wed, 3 May 2023 06:01:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A550E3858D28 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pg1-x52d.google.com with SMTP id 41be03b00d2f7-5208be24dcbso3218812a12.1; Tue, 02 May 2023 23:01:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683093676; x=1685685676; h=content-disposition:mime-version:message-id:subject:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=q4uhKGsVzuRxFl+eldyOu5diajMrZefo+hag3UR/7g4=; b=R04KpJUWhnf/4wZ+uo1AFKxu1lDYqtC0N8WAViORhAVDkJMWWahjJ7Mky/t1dc0x2a WJ+lsiUCiICJKSuiyzVOvpAARWAeSo1u7Air6oYvOK+WT3p+geibeotBzWHR1gtUYFwb UlWoDH7fhm69HjNNkOOWVfb3Q9xX9LRlbAM2mjHSyzR47sVi6wgG8bVJCAQV4kECo25S mLyUqB4a/YMRfZ0Z8WyQrNln0ugdQkyqDulkWQOBiIG3OaiAnt9Q3y8aisp8uX0aK2OQ yh8REcyuYYWsRYF9YVEFEtHVpUygBSg6cG0YqGMd5AOho/vXhmj4OMKSqg0rtENUUwWE Oypg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683093676; x=1685685676; h=content-disposition:mime-version:message-id:subject:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=q4uhKGsVzuRxFl+eldyOu5diajMrZefo+hag3UR/7g4=; b=VeIZ2QdfP94ieOY0M+OIFCn6/iOeXMY0HYt5xCfQqhgPTUpG2jyaTgw1bKiaqt41DP TTAO/PSIQAjpzy1A44RxWURnp3M69p/Fa1e78+76My9eZh1tO9SJ6DktrgCKbwKwuGnf ZqR+JwbtPCVfouPcXn9EaQbsb39yEK9YfEOc8reN4UhVx91LrNkrCcUzYe2vgPR49PUJ jZU/Hu2KSxvtgY6kAoQfzRibhO49sF4m6+X0+aibEabP0/LFH2DtHJw3kpyc4AE/Er0F BSaetEneiH/aZg7NsSEh3j1n94Uq0+PPNtHqr3JEbQANiRwifY25D4gNHjYjIHXIyiBX HNAQ== X-Gm-Message-State: AC+VfDwaSgF0/50q7VLJWr11CeCMHXBOVPW/7JR40Da/BRCLQPGDEEYE b74wS2nlkgNY838iFt7y66N1PGG0yOM= X-Google-Smtp-Source: ACHHUZ5ziEXm2x8I4OW01dSVvpImzc7W3x8hjgLc9nAlf26mAbX97UETdLsWpRzSPZ7JsSLEha+DqA== X-Received: by 2002:a05:6a20:e195:b0:f5:68c9:6f83 with SMTP id ks21-20020a056a20e19500b000f568c96f83mr22446002pzb.18.1683093675861; Tue, 02 May 2023 23:01:15 -0700 (PDT) Received: from squeak.grove.modra.org (158.106.96.58.static.exetel.com.au. [58.96.106.158]) by smtp.gmail.com with ESMTPSA id x35-20020a056a0018a300b0063b6cccd5dfsm22831304pfh.195.2023.05.02.23.01.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 May 2023 23:01:15 -0700 (PDT) Received: by squeak.grove.modra.org (Postfix, from userid 1000) id 6E16F1140B60; Wed, 3 May 2023 15:31:11 +0930 (ACST) Date: Wed, 3 May 2023 15:31:11 +0930 From: Alan Modra To: binutils@sourceware.org, gdb-patches@sourceware.org Subject: Change signature of bfd crc functions Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-3034.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: The crc calculated is 32 bits. Replace uses of unsigned long with uint32_t. Also use bfd_byte* for buffers. bfd/ * opncls.c (bfd_calc_gnu_debuglink_crc32): Use stdint types. (bfd_get_debug_link_info_1, bfd_get_debug_link_info): Likewise. (separate_debug_file_exists, bfd_follow_gnu_debuglink): Likewise. (bfd_fill_in_gnu_debuglink_section): Likewise. * bfd-in2.h: Regenerate. gdb/ * auto-load.c (auto_load_objfile_script): Update type of bfd_get_debug_link_info argument. * symfile.c (find_separate_debug_file_by_debuglink): Likewise. * gdb_bfd.c (get_file_crc): Update type of bfd_calc_gnu_debuglink_crc32 argument. diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 1eae010d9ca..d695402b62f 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -516,10 +516,10 @@ void *bfd_alloc (bfd *abfd, bfd_size_type wanted); void *bfd_zalloc (bfd *abfd, bfd_size_type wanted); -unsigned long bfd_calc_gnu_debuglink_crc32 - (unsigned long crc, const unsigned char *buf, bfd_size_type len); +uint32_t bfd_calc_gnu_debuglink_crc32 + (uint32_t crc, const bfd_byte *buf, bfd_size_type len); -char *bfd_get_debug_link_info (bfd *abfd, unsigned long *crc32_out); +char *bfd_get_debug_link_info (bfd *abfd, uint32_t *crc32_out); char *bfd_get_alt_debug_link_info (bfd * abfd, bfd_size_type *buildid_len, diff --git a/bfd/opncls.c b/bfd/opncls.c index 81e124457e9..eabea414467 100644 --- a/bfd/opncls.c +++ b/bfd/opncls.c @@ -1091,8 +1091,8 @@ FUNCTION bfd_calc_gnu_debuglink_crc32 SYNOPSIS - unsigned long bfd_calc_gnu_debuglink_crc32 - (unsigned long crc, const unsigned char *buf, bfd_size_type len); + uint32_t bfd_calc_gnu_debuglink_crc32 + (uint32_t crc, const bfd_byte *buf, bfd_size_type len); DESCRIPTION Computes a CRC value as used in the .gnu_debuglink section. @@ -1102,12 +1102,12 @@ DESCRIPTION Return the updated CRC32 value. */ -unsigned long -bfd_calc_gnu_debuglink_crc32 (unsigned long crc, - const unsigned char *buf, +uint32_t +bfd_calc_gnu_debuglink_crc32 (uint32_t crc, + const bfd_byte *buf, bfd_size_type len) { - static const unsigned long crc32_table[256] = + static const uint32_t crc32_table[256] = { 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, @@ -1162,7 +1162,7 @@ bfd_calc_gnu_debuglink_crc32 (unsigned long crc, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d }; - const unsigned char *end; + const bfd_byte *end; crc = ~crc & 0xffffffff; for (end = buf + len; buf < end; ++ buf) @@ -1176,7 +1176,7 @@ bfd_calc_gnu_debuglink_crc32 (unsigned long crc, The @var{crc32_out} parameter is an untyped pointer because this routine is used as a @code{get_func_type} function, but it - is expected to be an unsigned long pointer. + is expected to be a uint32_t pointer. Returns the filename of the associated debug information file, or NULL if there is no such file. If the filename was found @@ -1190,7 +1190,7 @@ static char * bfd_get_debug_link_info_1 (bfd *abfd, void *crc32_out) { asection *sect; - unsigned long *crc32 = (unsigned long *) crc32_out; + uint32_t *crc32 = crc32_out; bfd_byte *contents; unsigned int crc_offset; char *name; @@ -1234,7 +1234,7 @@ FUNCTION bfd_get_debug_link_info SYNOPSIS - char *bfd_get_debug_link_info (bfd *abfd, unsigned long *crc32_out); + char *bfd_get_debug_link_info (bfd *abfd, uint32_t *crc32_out); DESCRIPTION Extracts the filename and CRC32 value for any separate debug @@ -1250,7 +1250,7 @@ DESCRIPTION */ char * -bfd_get_debug_link_info (bfd *abfd, unsigned long *crc32_out) +bfd_get_debug_link_info (bfd *abfd, uint32_t *crc32_out) { return bfd_get_debug_link_info_1 (abfd, crc32_out); } @@ -1313,7 +1313,7 @@ bfd_get_alt_debug_link_info (bfd * abfd, bfd_size_type *buildid_len, } /* Checks to see if @var{name} is a file and if its contents match - @var{crc32}, which is a pointer to an @code{unsigned long} + @var{crc32}, which is a pointer to a @code{uint32_t} containing a CRC32. The @var{crc32_p} parameter is an untyped pointer because this @@ -1323,15 +1323,15 @@ static bool separate_debug_file_exists (const char *name, void *crc32_p) { unsigned char buffer[8 * 1024]; - unsigned long file_crc = 0; + uint32_t file_crc = 0; FILE *f; bfd_size_type count; - unsigned long crc; + uint32_t crc; BFD_ASSERT (name); BFD_ASSERT (crc32_p); - crc = *(unsigned long *) crc32_p; + crc = *(uint32_t *) crc32_p; f = _bfd_real_fopen (name, FOPEN_RB); if (f == NULL) @@ -1567,7 +1567,7 @@ DESCRIPTION char * bfd_follow_gnu_debuglink (bfd *abfd, const char *dir) { - unsigned long crc32; + uint32_t crc32; return find_separate_debug_file (abfd, dir, true, bfd_get_debug_link_info_1, @@ -1712,7 +1712,7 @@ bfd_fill_in_gnu_debuglink_section (bfd *abfd, const char *filename) { bfd_size_type debuglink_size; - unsigned long crc32; + uint32_t crc32; char * contents; bfd_size_type crc_offset; FILE * handle; diff --git a/gdb/auto-load.c b/gdb/auto-load.c index 40b05fdc634..5267cb4e64d 100644 --- a/gdb/auto-load.c +++ b/gdb/auto-load.c @@ -856,7 +856,7 @@ auto_load_objfile_script (struct objfile *objfile, struct objfile *parent = objfile->separate_debug_objfile_backlink; if (parent != nullptr) { - unsigned long crc32; + uint32_t crc32; gdb::unique_xmalloc_ptr debuglink (bfd_get_debug_link_info (parent->obfd.get (), &crc32)); diff --git a/gdb/gdb_bfd.c b/gdb/gdb_bfd.c index b05c78218ed..17e454eb9fd 100644 --- a/gdb/gdb_bfd.c +++ b/gdb/gdb_bfd.c @@ -822,7 +822,7 @@ gdb_bfd_map_section (asection *sectp, bfd_size_type *size) static int get_file_crc (bfd *abfd, unsigned long *file_crc_return) { - unsigned long file_crc = 0; + uint32_t file_crc = 0; if (bfd_seek (abfd, 0, SEEK_SET) != 0) { diff --git a/gdb/symfile.c b/gdb/symfile.c index 8ae2177b159..d0cb5cb6534 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -1536,7 +1536,7 @@ std::string find_separate_debug_file_by_debuglink (struct objfile *objfile, std::vector *warnings_vector) { - unsigned long crc32; + uint32_t crc32; gdb::unique_xmalloc_ptr debuglink (bfd_get_debug_link_info (objfile->obfd.get (), &crc32)); -- Alan Modra Australia Development Lab, IBM