This is the mail archive of the
gdb@sourceware.cygnus.com
mailing list for the GDB project.
Re: solib.c bfd_elf_get_arch_size() changes break build
- To: jtc at redback dot com
- Subject: Re: solib.c bfd_elf_get_arch_size() changes break build
- From: Andrew Cagney <ac131313 at cygnus dot com>
- Date: Tue, 30 May 2000 18:43:44 +1000
- CC: gdb at sourceware dot cygnus dot com
- Organization: Cygnus Solutions
- References: <5mk8gr5pbd.fsf@jtc.redback.com>
"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