This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] Fix to handle enums with values above LONG_MAX
- To: "John R. Moore" <jmoore at redhat dot com>
- Subject: Re: [RFA] Fix to handle enums with values above LONG_MAX
- From: Elena Zannoni <ezannoni at cygnus dot com>
- Date: Tue, 12 Jun 2001 13:47:31 -0400
- Cc: gdb-patches <gdb-patches at sources dot redhat dot com>
- References: <Pine.GSO.4.31.0105081000430.8166-100000@makita.cygnus.com>
John R. Moore writes:
>
> This fix has been tested on linux 2.4.4 kernel using gcc RedHat-2.97.
> Without this fix, gdb simply core-dumps.
>
This seems Ok to me, but Jim is the last one to have touched this
function. Jim?
Also,read_huge_number is called in several places, what input was
actually creating the problem? Maybe we can add a simple test to the
testsuite (gdb.stabs).
Elena
>
> 2001-05-08 John Moore <jmoore@redhat.com>
>
> * stabsread.c (read_huge_number): Fix to allow gdb to handle
> enums with unsigned long values above LONG_MAX.
>
> Index: gdb/stabsread.c
> ===================================================================
> RCS file: /cvs/cvsfiles/devo/gdb/stabsread.c,v
> retrieving revision 2.178
> diff -p -u -r2.178 stabsread.c
> --- gdb/stabsread.c 2001/03/26 19:54:39 2.178
> +++ gdb/stabsread.c 2001/05/07 22:45:47
> @@ -4433,10 +4433,7 @@ read_huge_number (char **pp, int end, in
> p++;
> }
>
> - if (os9k_stabs)
> - upper_limit = ULONG_MAX / radix;
> - else
> - upper_limit = LONG_MAX / radix;
> + upper_limit = ULONG_MAX / radix;
>
> while ((c = *p++) >= '0' && c < ('0' + radix))
> {
>
>