Remove _bfd_dwarf2_find_nearest_line addr_size parameter
authorAlan Modra <amodra@gmail.com>
Wed, 14 Aug 2019 01:10:20 +0000 (10:40 +0930)
committerAlan Modra <amodra@gmail.com>
Wed, 14 Aug 2019 01:53:18 +0000 (11:23 +0930)
This parameter might appear to be used to set up offset_size, but
since git commit 024b2372f5 offset_size is either set from the
debug_info data or is set to 4.

* dwarf2.c (_bfd_dwarf2_find_nearest_line): Remove addr_size parameter.
* libbfd-in.h  (_bfd_dwarf2_find_nearest_line): Update prototype.
* coffgen.c (coff_find_nearest_line_with_names): Adjust
_bfd_dwarf2_find_nearest_line calls.
* elf.c (_bfd_elf_find_nearest_line, _bfd_elf_find_line): Likewise.
* elf32-arm.c (elf32_arm_find_nearest_line): Likewise.
* elf64-alpha.c (elf64_alpha_find_nearest_line): Likewise.
* elfnn-aarch64.c (elfNN_aarch64_find_nearest_line): Likewise.
* elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise.
* mach-o.c (bfd_mach_o_find_nearest_line): Likewise.
* libbfd.h: Regenerate.

bfd/ChangeLog
bfd/coffgen.c
bfd/dwarf2.c
bfd/elf.c
bfd/elf32-arm.c
bfd/elf64-alpha.c
bfd/elfnn-aarch64.c
bfd/elfxx-mips.c
bfd/libbfd-in.h
bfd/libbfd.h
bfd/mach-o.c

index cf2fec78810e97567ce4ec6c6d09deb9b82d897f..a2c2e51b4aea5fb5f6e9c3b78d7e4c0516bfb242 100644 (file)
@@ -1,3 +1,17 @@
+2019-08-14  Alan Modra  <amodra@gmail.com>
+
+       * dwarf2.c (_bfd_dwarf2_find_nearest_line): Remove addr_size parameter.
+       * libbfd-in.h  (_bfd_dwarf2_find_nearest_line): Update prototype.
+       * coffgen.c (coff_find_nearest_line_with_names): Adjust
+       _bfd_dwarf2_find_nearest_line calls.
+       * elf.c (_bfd_elf_find_nearest_line, _bfd_elf_find_line): Likewise.
+       * elf32-arm.c (elf32_arm_find_nearest_line): Likewise.
+       * elf64-alpha.c (elf64_alpha_find_nearest_line): Likewise.
+       * elfnn-aarch64.c (elfNN_aarch64_find_nearest_line): Likewise.
+       * elfxx-mips.c (_bfd_mips_elf_find_nearest_line): Likewise.
+       * mach-o.c (bfd_mach_o_find_nearest_line): Likewise.
+       * libbfd.h: Regenerate.
+
 2019-08-09  Mihailo Stojanovic  <mihailo.stojanovic@rt-rk.com>
 
        * elf-bfd.h (struct elf_backend_data): New members.
index 0001d9a4133363723faad9625ed631f4c2effdb1..5d61f39c8ce5e4460bb1000679bc63cb00a4cf38 100644 (file)
@@ -2290,7 +2290,7 @@ coff_find_nearest_line_with_names (bfd *abfd,
   /* Also try examining DWARF2 debugging information.  */
   if (_bfd_dwarf2_find_nearest_line (abfd, symbols, NULL, section, offset,
                                     filename_ptr, functionname_ptr,
-                                    line_ptr, NULL, debug_sections, 0,
+                                    line_ptr, NULL, debug_sections,
                                     &coff_data(abfd)->dwarf2_find_line_info))
     return TRUE;
 
@@ -2330,7 +2330,7 @@ coff_find_nearest_line_with_names (bfd *abfd,
          && _bfd_dwarf2_find_nearest_line (abfd, symbols, NULL, section,
                                            offset + bias,
                                            filename_ptr, functionname_ptr,
-                                           line_ptr, NULL, debug_sections, 0,
+                                           line_ptr, NULL, debug_sections,
                                            &coff_data(abfd)->dwarf2_find_line_info))
        return TRUE;
     }
index 65c41611710e33462dc328ce827caa38d87a49f9..9cbd81de76d4671750cf736db7a912a85cf7fd78 100644 (file)
@@ -4531,7 +4531,6 @@ _bfd_dwarf2_find_symbol_bias (asymbol ** symbols, void ** pinfo)
    NULL the FUNCTIONNAME_PTR is also filled in.
    SYMBOLS contains the symbol table for ABFD.
    DEBUG_SECTIONS contains the name of the dwarf debug sections.
-   ADDR_SIZE is the number of bytes in the initial .debug_info length
    field and in the abbreviation offset, or zero to indicate that the
    default value should be used.  */
 
@@ -4546,7 +4545,6 @@ _bfd_dwarf2_find_nearest_line (bfd *abfd,
                               unsigned int *linenumber_ptr,
                               unsigned int *discriminator_ptr,
                               const struct dwarf_debug_section *debug_sections,
-                              unsigned int addr_size,
                               void **pinfo)
 {
   /* Read each compilation unit from the section .debug_info, and check
@@ -4727,18 +4725,11 @@ _bfd_dwarf2_find_nearest_line (bfd *abfd,
        }
     }
 
-  /* The DWARF2 spec says that the initial length field, and the
-     offset of the abbreviation table, should both be 4-byte values.
-     However, some compilers do things differently.  */
-  if (addr_size == 0)
-    addr_size = 4;
-  BFD_ASSERT (addr_size == 4 || addr_size == 8);
-
   /* Read each remaining comp. units checking each as they are read.  */
   while (stash->info_ptr < stash->info_ptr_end)
     {
       bfd_vma length;
-      unsigned int offset_size = addr_size;
+      unsigned int offset_size;
       bfd_byte *info_ptr_unit = stash->info_ptr;
 
       length = read_4_bytes (stash->bfd_ptr, stash->info_ptr, stash->info_ptr_end);
@@ -4768,13 +4759,11 @@ _bfd_dwarf2_find_nearest_line (bfd *abfd,
           b) if they do use 64-bit offsets but they are not using
              the size hints that are tested for above then they are
              not conforming to the DWARF3 standard anyway.  */
-      else if (addr_size == 8)
+      else
        {
          offset_size = 4;
          stash->info_ptr += 4;
        }
-      else
-       stash->info_ptr += 4;
 
       if (length > 0)
        {
index 6b5d12c04433d9705a4ec910958e3153d851262a..42ae1627ba7c412add0772f7657db6120433494c 100644 (file)
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -8972,7 +8972,7 @@ _bfd_elf_find_nearest_line (bfd *abfd,
   if (_bfd_dwarf2_find_nearest_line (abfd, symbols, NULL, section, offset,
                                     filename_ptr, functionname_ptr,
                                     line_ptr, discriminator_ptr,
-                                    dwarf_debug_sections, 0,
+                                    dwarf_debug_sections,
                                     &elf_tdata (abfd)->dwarf2_find_line_info)
       || _bfd_dwarf1_find_nearest_line (abfd, symbols, section, offset,
                                        filename_ptr, functionname_ptr,
@@ -9012,7 +9012,7 @@ _bfd_elf_find_line (bfd *abfd, asymbol **symbols, asymbol *symbol,
 {
   return _bfd_dwarf2_find_nearest_line (abfd, symbols, symbol, NULL, 0,
                                        filename_ptr, NULL, line_ptr, NULL,
-                                       dwarf_debug_sections, 0,
+                                       dwarf_debug_sections,
                                        &elf_tdata (abfd)->dwarf2_find_line_info);
 }
 
index 15591bee8ad9b47e73ab71abb8ec84e0303c16bf..f1895df2788483bfe09ffdaebfcedd6b00a1d288 100644 (file)
@@ -16112,7 +16112,7 @@ elf32_arm_find_nearest_line (bfd *          abfd,
   if (_bfd_dwarf2_find_nearest_line (abfd, symbols, NULL, section, offset,
                                     filename_ptr, functionname_ptr,
                                     line_ptr, discriminator_ptr,
-                                    dwarf_debug_sections, 0,
+                                    dwarf_debug_sections,
                                     & elf_tdata (abfd)->dwarf2_find_line_info))
     {
       if (!*functionname_ptr)
index 6810483a0590966810bc9b464a700d075a9dd36d..490860123c917241104069418f7da2754085080f 100644 (file)
@@ -1467,7 +1467,7 @@ elf64_alpha_find_nearest_line (bfd *abfd, asymbol **symbols,
   if (_bfd_dwarf2_find_nearest_line (abfd, symbols, NULL, section, offset,
                                     filename_ptr, functionname_ptr,
                                     line_ptr, discriminator_ptr,
-                                    dwarf_debug_sections, 0,
+                                    dwarf_debug_sections,
                                     &elf_tdata (abfd)->dwarf2_find_line_info))
     return TRUE;
 
index ba9e97c1e9be74b7911da5af4620347a9f9cc1fc..4e6cbc9a3ad63c8d4485c9e43cf83b6aedef60a9 100644 (file)
@@ -8040,7 +8040,7 @@ elfNN_aarch64_find_nearest_line (bfd *abfd,
   if (_bfd_dwarf2_find_nearest_line (abfd, symbols, NULL, section, offset,
                                     filename_ptr, functionname_ptr,
                                     line_ptr, discriminator_ptr,
-                                    dwarf_debug_sections, 0,
+                                    dwarf_debug_sections,
                                     &elf_tdata (abfd)->dwarf2_find_line_info))
     {
       if (!*functionname_ptr)
index e845c90ee410f7e7bcbd7e2b148d288cd7605a7f..e3054043df3b3a2ad73a72af1efbc4783ca7a0f3 100644 (file)
@@ -13084,7 +13084,6 @@ _bfd_mips_elf_find_nearest_line (bfd *abfd, asymbol **symbols,
                                     filename_ptr, functionname_ptr,
                                     line_ptr, discriminator_ptr,
                                     dwarf_debug_sections,
-                                    ABI_64_P (abfd) ? 8 : 0,
                                     &elf_tdata (abfd)->dwarf2_find_line_info)
       || _bfd_dwarf1_find_nearest_line (abfd, symbols, section, offset,
                                        filename_ptr, functionname_ptr,
index 4d87687043f27d64cecf602985a16ea11706fcd3..7a97dfae19904ebc32831311818f117e29eb3e37 100644 (file)
@@ -588,7 +588,7 @@ extern const struct dwarf_debug_section dwarf_debug_sections[] ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_dwarf2_find_nearest_line
   (bfd *, asymbol **, asymbol *, asection *, bfd_vma,
    const char **, const char **, unsigned int *, unsigned int *,
-   const struct dwarf_debug_section *, unsigned int, void **) ATTRIBUTE_HIDDEN;
+   const struct dwarf_debug_section *, void **) ATTRIBUTE_HIDDEN;
 
 /* Find the bias between DWARF addresses and real addresses.  */
 extern bfd_signed_vma _bfd_dwarf2_find_symbol_bias
index fd45595f2d2905b4e950a5d59ce5bea364d4924c..13f4c5b4082b945dbc9c16ac11eaf56ff51bdc00 100644 (file)
@@ -593,7 +593,7 @@ extern const struct dwarf_debug_section dwarf_debug_sections[] ATTRIBUTE_HIDDEN;
 extern bfd_boolean _bfd_dwarf2_find_nearest_line
   (bfd *, asymbol **, asymbol *, asection *, bfd_vma,
    const char **, const char **, unsigned int *, unsigned int *,
-   const struct dwarf_debug_section *, unsigned int, void **) ATTRIBUTE_HIDDEN;
+   const struct dwarf_debug_section *, void **) ATTRIBUTE_HIDDEN;
 
 /* Find the bias between DWARF addresses and real addresses.  */
 extern bfd_signed_vma _bfd_dwarf2_find_symbol_bias
index 4e6408670dd7c1dfe2f2f59671934324bd79cd26..d02398048cebba6c1f70e64289981a3f0a885b12 100644 (file)
@@ -5985,7 +5985,7 @@ bfd_mach_o_find_nearest_line (bfd *abfd,
   return _bfd_dwarf2_find_nearest_line (abfd, symbols, NULL, section, offset,
                                        filename_ptr, functionname_ptr,
                                        line_ptr, discriminator_ptr,
-                                       dwarf_debug_sections, 0,
+                                       dwarf_debug_sections,
                                        &mdata->dwarf2_find_line_info);
 }