This is the mail archive of the gdb-patches@sources.redhat.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]
Other format: [Raw text]

Re: [PATCH/RFC] coffread.c: delete param


> The change from 4.17 to 4.18 added the new COFF_MAKE_MSYMBOL_SPECIAL,
> and changed arm-tdep.c to use the new COFF_MAKE_MSYMBOL_SPECIAL,
> but did not delete the old dangling c_sclass code.
> > Someone with access to the old Cygnus CVS repository might be able
> to say more about the exact change some time between 4.17 and 4.18.


Did you see my posting with the exact diffs (from 1998) I posted
yesterday?
http://sources.redhat.com/ml/gdb-patches/2003-10/msg00470.html

That explains in detail what happened, which is pretty much how you
describe it here.

BTW, if COFF's minimal symbol pointed at the bfd symbol, GDB could share the logic:


  if (!is_thumb && info->symbols != NULL)
    {
      if (bfd_asymbol_flavour (*info->symbols) == bfd_target_coff_flavour)
        {
          coff_symbol_type * cs;

          cs = coffsymbol (*info->symbols);
          is_thumb = (   cs->native->u.syment.n_sclass == C_THUMBEXT
                      || cs->native->u.syment.n_sclass == C_THUMBSTAT
                      || cs->native->u.syment.n_sclass == C_THUMBLABEL
                      || cs->native->u.syment.n_sclass == C_THUMBEXTFUNC
                      || cs->native->u.syment.n_sclass == C_THUMBSTATFUNC);
        }
      else if (bfd_asymbol_flavour (*info->symbols) == bfd_target_elf_flavour)
        {
          elf_symbol_type *  es;
          unsigned int       type;

          es = *(elf_symbol_type **)(info->symbols);
          type = ELF_ST_TYPE (es->internal_elf_sym.st_info);

          is_thumb = (type == STT_ARM_TFUNC) || (type == STT_ARM_16BIT);
        }
    }


found in opcodes/arm-dis.c with bfd/opcodes. Similar for MIPS, SH-5, M68HC11, ...


Andrew



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