skip __main

Pierre Muller muller@ics.u-strasbg.fr
Tue Jan 29 08:50:00 GMT 2008


Hi Pedro!

  Thanks for resubmitting this.

  The problem for me is that I am currently 
unable to do a testsuite on cygwin,
the test stays forever on gdb.threads/manythreads.exp
test and the timeout does not seem to work there :(

  Concerning your patch:
  I would suggest one change:
instead of using hard coded "main" name,
you should use the main_name function from symtab.c source
defined in symtab.h
  I am not really sure this is useful,
(the modified main_name for GNU pascal compiler
does not contain a call to __main), but
it seems more logical to me.

  
Pierre
 

> -----Original Message-----
> From: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] On Behalf Of Pedro Alves
> Sent: Tuesday, January 29, 2008 6:25 AM
> To: Pierre Muller; gdb-patches
> Subject: skip __main
> 
> Hi all, Pierre,
> 
> Here's the much smaller patch I mentioned at gdb@.
> 
> This version is about as small as it can get.  First the prologue is
> analysed and skipped, then line info is used to get at the first line
> of user code in the function.  If the function is called "main" (humm,
> I shall move that into the callback, as I believe the place where
> __main/__gccmain is emitted is configurable on the gcc side), call a
> gdbarch method that skips the __main call.  Works OK as long as nothing
> is scheduled into before the __main call.  That means that it should
> work OK at -O0, which is enough for fixing the runto_main problems in
> the testsuite.  Then again, debugging code with .stabs debug info at
> anything but -O0 is not pleasant anyway.
> 
> Last time I looked at the results, it uncovered other more serious
> problems, so it was a win just for that fact.
> 
> I'm starting an overnight testrun on Cygwin, as the last time I did
> that was a couple of months back.
> 
> Any comments?  Suggestions for a better gdbarch callback name?
> 
> --
> Pedro Alves




More information about the Gdb-patches mailing list