Change signature of bfd crc functions
authorAlan Modra <amodra@gmail.com>
Sat, 29 Apr 2023 01:07:28 +0000 (10:37 +0930)
committerAlan Modra <amodra@gmail.com>
Wed, 3 May 2023 05:10:49 +0000 (14:40 +0930)
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.

bfd/bfd-in2.h
bfd/opncls.c
gdb/auto-load.c
gdb/gdb_bfd.c
gdb/symfile.c

index 1eae010d9ca72bc29d4453046d5a49ba5e6dadc1..d695402b62f4f7a10ac81261ad804263b13e4661 100644 (file)
@@ -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,
index 81e124457e991f505ba56cafe8284155af52b8fe..eabea414467f3d67217bf3165aef573f0231cc72 100644 (file)
@@ -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;
index 40b05fdc634fe00f61559a80ad35fb9c6bdd23ca..5267cb4e64d791a366f26a94ed03ef3e646948f1 100644 (file)
@@ -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<char> debuglink
        (bfd_get_debug_link_info (parent->obfd.get (), &crc32));
 
index b05c78218ed6737557f370c0c19de577db911a46..17e454eb9fd11fd14e29441404a6f7e88029798e 100644 (file)
@@ -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)
     {
index 8ae2177b1594fe2a97f2540ef80c3ecc4b523010..d0cb5cb6534621d5d4ae9cefec58f1b1a0c657c5 100644 (file)
@@ -1536,7 +1536,7 @@ std::string
 find_separate_debug_file_by_debuglink
   (struct objfile *objfile, std::vector<std::string> *warnings_vector)
 {
-  unsigned long crc32;
+  uint32_t crc32;
 
   gdb::unique_xmalloc_ptr<char> debuglink
     (bfd_get_debug_link_info (objfile->obfd.get (), &crc32));