This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA take 4] Allow setting breakpoints on inline functions (PR 10738)
- From: Mark Wielaard <mark at klomp dot org>
- To: Gary Benson <gbenson at redhat dot com>
- Cc: gdb-patches at sourceware dot org, Jan Kratochvil <jan dot kratochvil at redhat dot com>
- Date: Tue, 14 Feb 2012 10:33:45 +0100
- Subject: Re: [RFA take 4] Allow setting breakpoints on inline functions (PR 10738)
- References: <20120213184700.GA31170@redhat.com>
On Mon, Feb 13, 2012 at 06:47:00PM +0000, Gary Benson wrote:
> This patch bumps the version number of the .gdb-index to 6, but
> it does not remove any of the backwards compatibility code which
> I would prefer to do as a separate patch.
> [...]
> @item
> -The version number, currently 5. Versions 1, 2 and 3 are obsolete.
> -Version 4 differs by its hashing function.
> +The version number, currently 6. Versions 1, 2, 3, 4 and 5 are
> +obsolete.
>
> @item
> The offset, from the start of the file, of the CU list.
> @@ -38786,18 +38778,9 @@ valid index for both a string and a CU vector.
> The hash value for a table entry is computed by applying an
> iterative hash function to the symbol's name. Starting with an
> initial value of @code{r = 0}, each (unsigned) character @samp{c} in
> -the string is incorporated into the hash using the formula depending on the
> -index version:
> -
> -@table @asis
> -@item Version 4
> -The formula is @code{r = r * 67 + c - 113}.
> -
> -@item Version 5
> -The formula is @code{r = r * 67 + tolower (c) - 113}.
> -@end table
> -
> -The terminating @samp{\0} is not incorporated into the hash.
> +the string is incorporated into the hash using the formula
> +@code{r = r * 67 + tolower (c) - 113}. The terminating @samp{\0} is
> +not incorporated into the hash.
>
> The step size used in the hash table is computed via
> @code{((hash * 17) & (size - 1)) | 1}, where @samp{hash} is the hash
I think you should keep the historical information about older
versions and add precisely which symbols weren't included with
version 5 that are now included with version 6 in the documentation
of the gdb index format. That will be helpful for other producers
and consumers of the .gdb_index section (elfutils/binutils readelf,
gold --gdb-index option).
Thanks,
Mark