Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
To: libra <mr924352@cs.nthu.edu.tw>
Cc: gdb@sources.redhat.com
Subject: Re: About bfd in gdb
Date: Sun, 04 Jul 2004 14:00:00 -0000	[thread overview]
Message-ID: <40E80D65.1040501@codito.com> (raw)
In-Reply-To: <1088948153.40e807b9434db@webmail.cs.nthu.edu.tw>

Hi there,

<snip>

> <>
> Why we must build the bfd and opcodes parts that the same as in 
> binutils (like
> archures.c reloc.c arm-dis.c and arm-opc.h and so on)
>
> My idea is that :
> We just need to build bfd inoder to recognize the input file format,then
> i can use the gdb to connect to simulator(sim),after that, I can run 
> my own
> program.
> So, the aboved mentioned file (ex: arm-dis.c and arm-opc.h), why is 
> those file
> must be built again. It seem does not be used in gdb.

This would be needed for doing all the reading of the object file. The 
most common cases that come to mind off the cuff are:

1. The implementation of the disassembling would be based on the 
disassembling in the opcodes library.
   Just taking your example. For the ARM if you trace the disassembling 
function in arm-tdep.c you would observe that it returns the function
   print_insn_little_arm or print_insn_big_arm depending on the 
endian-ness . These functions happen to be defined in opcodes/arm-dis.c and
   there would be a dependency between the two of them.
    "code pasted below for your reference "
  
CVS today ..
    File: gdb/ arm-tdep.c
    Function :

  gdb_print_insn_arm (bfd_vma memaddr, disassemble_info *info)
  {

    <blah>
   

 if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
    return print_insn_big_arm (memaddr, info);
  else
    return print_insn_little_arm (memaddr, info);
  }

  and you can find both these functions defined in opcodes/arm-dis.c 	


2.  Construction of minimal symbol tables for the debugger.
3.  Reading any information from the executable file would use the bfd 
library.Since all information about the executable for the debugger 
happens to be in the
executable file in the case of the ELF file format gdb would 
automatically have a dependency with the opcodes and bfd library.

cheers
Ramana

---
Ramana Radhakrishnan
GNU Tools
codito ergo sum (www.codito.com )


  reply	other threads:[~2004-07-04 14:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-04 13:35 libra
2004-07-04 14:00 ` Ramana Radhakrishnan [this message]
2004-07-05  1:59 libra
2004-07-08 21:52 ` Andrew Cagney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=40E80D65.1040501@codito.com \
    --to=ramana.radhakrishnan@codito.com \
    --cc=gdb@sources.redhat.com \
    --cc=mr924352@cs.nthu.edu.tw \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox