* native gdb @ 2022-04-18 6:07 Mahesh Bodapati 2022-04-18 13:46 ` Simon Marchi 0 siblings, 1 reply; 4+ messages in thread From: Mahesh Bodapati @ 2022-04-18 6:07 UTC (permalink / raw) To: gdb Hi All, Target-linux-nat.c is the file for supporting native gdb? for instance, I want to build a native gdb for MicroBlaze. '--host=microblazeel-xilinx-linux-gnu' '--target=microblazeel-xilinx-linux-gnu' 1. what are steps for building native gdb which are specific to configure and flags. 2. what files needs to be ported? and is there any guide for porting native gdb ? Thanks, Mahesh B ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: native gdb 2022-04-18 6:07 native gdb Mahesh Bodapati @ 2022-04-18 13:46 ` Simon Marchi 2022-04-19 6:31 ` Mahesh Bodapati 0 siblings, 1 reply; 4+ messages in thread From: Simon Marchi @ 2022-04-18 13:46 UTC (permalink / raw) To: Mahesh Bodapati, gdb On 2022-04-18 02:07, Mahesh Bodapati via Gdb wrote: > Hi All, > Target-linux-nat.c is the file for supporting native gdb? > for instance, I want to build a native gdb for MicroBlaze. > > '--host=microblazeel-xilinx-linux-gnu' > '--target=microblazeel-xilinx-linux-gnu' > > > 1. what are steps for building native gdb which are specific to > configure and flags. I'm not 100% sure I understand your question, but I assume you want to cross-compile GDB on an x86-64 build machine, so that GDB runs and debugs natively on a Microblaze Linux system. At the simplest, it will be something like: .../configure --host=microblazeel-xilinx-linu-gnu --sysroot=<path to sysroot> make But you will probably hit more problems that are typical of cross-compilation (not specific to GDB), like making sure you have all GDB dependencies built for Microblaze and installed in your sysroot. > 2. what files needs to be ported? and is there any guide for porting > native gdb ? GDB already supports Microblaze, see files gdb/microblaze* in the tree. However, we didn't have contributions that touched those files for a while, so it's possible these have bitrotted a little bit. Simon ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: native gdb 2022-04-18 13:46 ` Simon Marchi @ 2022-04-19 6:31 ` Mahesh Bodapati 2022-04-19 20:15 ` Simon Marchi 0 siblings, 1 reply; 4+ messages in thread From: Mahesh Bodapati @ 2022-04-19 6:31 UTC (permalink / raw) To: Simon Marchi; +Cc: gdb Thanks Simon, >I'm not 100% sure I understand your question, but I assume you want to >cross-compile GDB on an x86-64 build machine, so that GDB runs and >debugs natively on a Microblaze Linux system. build != host == target (“cross-native”) native toolchain, as it targets the same machine as it runs on. But it is build on another machine. >GDB already supports Microblaze, see files gdb/microblaze* in the tree. >However, we didn't have contributions that touched those files for a >while, so it's possible these have bitrotted a little bit. I didn't see any issues while I compile cross-compile gdb which runs on x86 and I assume 'microblaze-linux-nat.c' has to be ported/added as similar to other target to make it run on a target natively and also files to be ported for MicroBlaze at " gdb/nat/" Am I correct here? Please help me understand in detail. On Mon, Apr 18, 2022 at 7:16 PM Simon Marchi <simon.marchi@polymtl.ca> wrote: > > > On 2022-04-18 02:07, Mahesh Bodapati via Gdb wrote: > > Hi All, > > Target-linux-nat.c is the file for supporting native gdb? > > for instance, I want to build a native gdb for MicroBlaze. > > > > '--host=microblazeel-xilinx-linux-gnu' > > '--target=microblazeel-xilinx-linux-gnu' > > > > > > 1. what are steps for building native gdb which are specific to > > configure and flags. > > I'm not 100% sure I understand your question, but I assume you want to > cross-compile GDB on an x86-64 build machine, so that GDB runs and > debugs natively on a Microblaze Linux system. > > At the simplest, it will be something like: > > .../configure --host=microblazeel-xilinx-linu-gnu --sysroot=<path to > sysroot> > make > > But you will probably hit more problems that are typical of > cross-compilation (not specific to GDB), like making sure you have all > GDB dependencies built for Microblaze and installed in your sysroot. > > > 2. what files needs to be ported? and is there any guide for porting > > native gdb ? > > GDB already supports Microblaze, see files gdb/microblaze* in the tree. > However, we didn't have contributions that touched those files for a > while, so it's possible these have bitrotted a little bit. > > Simon > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: native gdb 2022-04-19 6:31 ` Mahesh Bodapati @ 2022-04-19 20:15 ` Simon Marchi 0 siblings, 0 replies; 4+ messages in thread From: Simon Marchi @ 2022-04-19 20:15 UTC (permalink / raw) To: Mahesh Bodapati; +Cc: gdb On 2022-04-19 02:31, Mahesh Bodapati wrote: > Thanks Simon, >>I'm not 100% sure I understand your question, but I assume you want to >>cross-compile GDB on an x86-64 build machine, so that GDB runs and >>debugs natively on a Microblaze Linux system. > > build != host == target (“cross-native”) > > native toolchain, as it targets the same machine as it runs on. But it is build on another machine. > > >>GDB already supports Microblaze, see files gdb/microblaze* in the tree. >>However, we didn't have contributions that touched those files for a >>while, so it's possible these have bitrotted a little bit. > > I didn't see any issues while I compile cross-compile gdb which runs on x86 and I assume 'microblaze-linux-nat.c' has to be ported/added as similar to other target to make it run on a target natively and also files to be ported for MicroBlaze at " gdb/nat/" Ah, you're right, the existing files are only -tdep files, so there's no native debugging support for Microblaze. So, yeah, you would need to add a microblaze-linux-nat.c, edit configure.nat to add an entry for Microblaze/Linux. microblaze-linux-nat.c would contain a class definition like class microblaze_linux_nat_target final : public linux_nat_target { ... } and a static instance like: static microblaze_linux_nat_target the_microblaze_linux_nat_target; Then, I would suggest looking at another "simple" architecture, like riscv-linux-nat.c, for inspiration. That architecture only defines some fetch_registers and store_registers methods, plus read_description. That's probably about the minimal things you need to get something working. Simon ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-04-19 20:15 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-04-18 6:07 native gdb Mahesh Bodapati 2022-04-18 13:46 ` Simon Marchi 2022-04-19 6:31 ` Mahesh Bodapati 2022-04-19 20:15 ` Simon Marchi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).