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]

Re: solib.c bfd_elf_get_arch_size() changes break build


"J.T. Conklin" wrote:
> 
> 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.

Has anyone had a chance to look at this?

	Andrew

> 
>         --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]