This is the mail archive of the gdb@sourceware.cygnus.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

solib.c bfd_elf_get_arch_size() changes break build


The changes to solib.c to use bfd_elf_get_arch_size() break the GDB
build for a.out targets that use solib.c such as NetBSD/i386 1.4.

In info_sharedlibrary_command(), it appears that the intent was for
bfd_elf_get_arch_size() to fail at run time on non-elf targets. 
However, that function/macro is not available on those targets 
and GDB fails to link.

I've enclosed the offending part of the diff.

        --jtc

*************** 
*** 1491,1503 ****
        return; 
      }

! #ifndef TARGET_ELF64
!   addr_width = 8 + 4;
!   addr_fmt = "08l";
! #else
!   addr_width = 16 + 4;
!   addr_fmt = "016l";
! #endif
 
    update_solib_list (from_tty, 0);

--- 1504,1521 ----
        return; 
      }  

!   arch_size = bfd_elf_get_arch_size (exec_bfd);
!   /* Default to 32-bit in case of failure (non-elf). */
!   if (arch_size == 32 || arch_size == -1)
!     { 
!       addr_width = 8 + 4;
!       addr_fmt = "08l";
!     }
!   else if (arch_size == 64)
!     {      
!       addr_width = 16 + 4;
!       addr_fmt = "016l";
!     }     

    update_solib_list (from_tty, 0);
  

-- 
J.T. Conklin
RedBack Networks

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]