This is the mail archive of the gdb-patches@sourceware.org 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] Avoid producing broken non-native core files


On Wed, 2013-10-23 at 23:03 +0100, Maciej W. Rozycki wrote:


> Index: gdb-fsf-trunk-quilt/gdb/linux-tdep.c
> ===================================================================
> --- gdb-fsf-trunk-quilt.orig/gdb/linux-tdep.c	2013-10-21 12:15:29.727655132 +0100
> +++ gdb-fsf-trunk-quilt/gdb/linux-tdep.c	2013-10-21 12:15:53.727656870 +0100
> @@ -1209,14 +1209,15 @@ linux_corefile_thread_callback (struct t
>  				       args->note_data, args->note_size,
>  				       args->stop_signal);
>  
> -      if (siginfo_data != NULL)
> -	{
> +      /* Don't return anything if we got no register information above,
> +         such a core file is useless.  */
> +      if (args->note_data != NULL)
> +	if (siginfo_data != NULL)
>  	  args->note_data = elfcore_write_note (args->obfd,
>  						args->note_data,
>  						args->note_size,
>  						"CORE", NT_SIGINFO,
>  						siginfo_data, siginfo_size);
> -	}
>  
>        do_cleanups (old_chain);
>      }

Maciej,  I believe this change is the cause of a build failure for me
when using an old GCC (4.1.2) to build gdb.  I get:

cc1: warnings being treated as errors
/scratch/gcc/nightly/src/binutils-gdb/gdb/linux-tdep.c: In function
'linux_corefile_thread_callback':
/scratch/gcc/nightly/src/binutils-gdb/gdb/linux-tdep.c:1196: warning:
'siginfo_size' may be used uninitialized in this function

I do not get this error when using a newer GCC (like 4.4.3 or above).  I
can work around it by setting siginfo_size to 0 when it is declared.  I
don't know if there is a minimum GCC version required for building gdb
but my build with GCC 4.1.2 used to work.  Do you think initializing
siginfo_size is reasonable to allow us to use older GCC's to build gdb?

Steve Ellcey
sellcey@mips.com



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