Jan Kratochvil | 1 Feb 2012 19:00
Picon
Favicon

GNU Tools Cauldron 2012 - BoF: Roadmap

Hi,

It would be nice to make a general GDB BoF there, are more GDB contributors
planning to attend Cauldron?
	http://gcc.gnu.org/wiki/cauldron2012
	Prague, Czech Republic, July 9 to 11, 2012

The London one pointed out some missing features (*).

Current status:
http://sourceware.org/gdb/wiki/ProjectArcher
http://sourceware.org/gdb/wiki/ProjectIdeas

Regards,
Jan

(*) Not that they would all get already implemented, though...

Title: GDB Roadmap
Authors: Jan Kratochvil
Abstract:
Status of missing features, status of features being worked on (known to me).

Which way to keep unused template methods code separate from the code output.
Dynamic types (such as variable length arrays) implementation choices in GDB.

Jose E. Marchesi | 1 Feb 2012 21:10
Picon
Gravatar

Re: GNU Tools Cauldron 2012 - BoF: Roadmap


    It would be nice to make a general GDB BoF there, are more GDB contributors
    planning to attend Cauldron?

ATM I am just getting familiar with the sims stuff and working in a
private git repo, so I cannot be considered as a contributor (yet), but
I will be attending the Cauldron :)

--

-- 
Jose E. Marchesi         http://www.jemarch.net
GNU Project              http://www.gnu.org

Kevin Pouget | 6 Feb 2012 18:41
Picon
Gravatar

Re: GNU Tools Cauldron 2012 - BoF: Roadmap

On Wed, Feb 1, 2012 at 9:10 PM, Jose E. Marchesi <jemarch <at> gnu.org> wrote:
>
>    It would be nice to make a general GDB BoF there, are more GDB contributors
>    planning to attend Cauldron?
>
> ATM I am just getting familiar with the sims stuff and working in a
> private git repo, so I cannot be considered as a contributor (yet), but
> I will be attending the Cauldron :)

hello,

I'll participate as well, and I registered myself to give a
presentation about my PhD on-going work, as described in the abstract
below.

Title: Supporting Parallel Component Debugging Using the GDB Python Interface
Authors: Kevin POUGET, Miguel SANTANA, Jean-François MEHAUT and Vania
Marangozova-Martin
Abstract:
In this presentation, we will introduce the work we have
undertaken in a join R&D effort of STMicroelectronics and the
Laboratoire d'Informatique de Grenoble on the GDB project.

In the context of parallel and embedded computing, debugging is well-
recognized as a complex activity. Nowadays, such applications are not
developed anymore from scratch, relying only on the programming
language primitives. Instead, they lean upon more advanced programming
models allowing an easier expression of parallelism.

Interactive debuggers like GDB evolved from their earlier times when
(Continue reading)

Evgeny Eltsin | 7 Feb 2012 14:50
Picon
Favicon

[mingw] gdb does not handle rebased executables?

Hi,

It seems like gdb does not take into account that executable can be
rebased, so that process image base differs from what is given in the
PE file. When attaching to such a process, all its symbols in gdb have
wrong addresses.

We've made a dumb fix for that, by saving the image base at
CREATE_PROCESS_DEBUG_EVENT processing, and using it later right inside
attach_command_post_wait to relocate the executable.

However, injecting Windows-specific code in attach_command_post_wait
is ugly. Can you give me a hint which hook I can use to relocate the
executable after attach_command_post_wait figures it out? Probably
some observer event?

wbr,
Evgeny

P.S. For SVR4, something similar is done in
svr4_solib_create_inferior_hook -> svr4_relocate_main_executable. What
about Windows?

Daniel Jacobowitz | 7 Feb 2012 20:58

GDB and the OpenJDK JVM

Has anyone investigated non-trivial integration between GDB and this
(or any other) JVM?  So far I haven't turned up anything useful.  Some
examples of the sorts of integration I mean:

* Showing information about Java objects given JNI handles
* Interleaving Java frames in the stack trace
* Fabricating unwind information for JIT'd code
* Automatically handling SEGVs related to the garbage collector
without hiding SEGVs for native code

--

-- 
Thanks,
Daniel

Greg McGary | 7 Feb 2012 21:45
Picon

gdbserver for embedded targets?

Most gdbserver targets are full OSes (Linux, *BSD).  I need a remote stub for an embedded multi-core DSP
target.  The DSPs are co-processors of an ARM, similar to the pairing of SPUs with PPC.  When debugging,
there will always be a full OS (Linux or Windoze) front-end system available.  System topology looks like so:

    Workstation: gdb client
    ... TCP ...
    x86 front-end: gdbserver
    ... serial ...
    ARM co-processor: target control
    ... shared memory, control registers ...
    DSPs

The DSP doesn't handle interrupts, and all control is handled by the ARM, thus the ARM must run the stub. 
Traditional stub functionality (remote protocol handling + target processor control) is divided
betweenthe front-end systemthe ARM.  The front-end system will run gdbserver, and the target_ops will be
populated with functions that send/receive requests over serial using a compact binary protocol.  The
ARM will run a simple command loop.  The gdbserver/ARM interactions will be simple commands toread/write
memory & registers, and control execution. 

I really don't want to write a remote-protocol server, and would rather leverage the existing gdbserver,
since presumably it is maintained and stays current with enhancements to the remote protocol.

Question: is the gdbserver target_ops interface suitable for such a target?  I'm going to proceed under the
assumption that it is, and will supplement if I find deficiencies.

Comments?

G

(Continue reading)

Jonas Maebe | 8 Feb 2012 11:34
Picon
Favicon

Debug ARM semihosting Thumb-2 binary

Hi,

I'm debugging ARM binaries compiled for the semihosting interface
(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0471c/CHDJHHDI.html 
  ). The binaries run under qemu-system-arm and I'm using QEMU's gdb  
remote target interface.

In general, this works fine, except when such binaries are Thumb-2 and  
perform system calls. The reason is that for Thumb-2, the system call  
interface of the semihosting platform uses "bkpt 0xab"
(http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0491c/CJAFABBB.html 
  ). GDB intercepts this bkpt, halts the execution with a SIGINT  
message and does not pass it on to the debugged process. If the  
process is then continued, it behaves as if the system call/bkpt in  
question never was executed

Using "handle SIGINT pass" does not change this.

Is there another way to tell gdb to ignore those particular bkpt  
instructions and execute them normally? I'm using gdb 7.4 (7.2 behaves  
the same).

Thanks,

Jonas

Hui Zhu | 8 Feb 2012 13:57
Picon
Gravatar

Question, does gdb have a command can show the file and line info of a address like "addr2line"

Hi,

GDB can get the symbol info with command "info symbol 0x400570".
Does gdb have a command can show the file and line info of a address
like "addr2line"?

For example:
info addr2line 0x400570
1.c:25

Thanks,
Hui

Jan Kratochvil | 8 Feb 2012 14:00
Picon
Favicon

Re: Question, does gdb have a command can show the file and line info of a address like "addr2line"

On Wed, 08 Feb 2012 13:57:03 +0100, Hui Zhu wrote:
> GDB can get the symbol info with command "info symbol 0x400570".
> Does gdb have a command can show the file and line info of a address
> like "addr2line"?

(gdb) info line *0x454d40
Line 27 of "../../gdb/gdb.c" starts at address 0x454d40 <main> and ends at 0x454d45 <main+5>.

Regards,
Jan


Gmane