Replace the block_found global with explicit data-flow
Commit Message
On 08/01/2015 11:08 AM, Pierre-Marie de Rodat wrote:
> On 08/01/2015 10:57 AM, Pierre-Marie de Rodat wrote:
>> This is pushed, now.
>
> Sergio's buildbot detected a compilation error:
>
> ../../binutils-gdb/gdb/ft32-tdep.c: In function 'ft32_skip_prologue':
> ../../binutils-gdb/gdb/ft32-tdep.c:253:8: error: incompatible types when
> assigning to type 'struct symbol *' from type 'struct block_symbol'
> sym = lookup_symbol (func_name, NULL, VAR_DOMAIN, NULL);
>
> Strange, I don't have this problem locally. Investigating how the
> buildbot's build is different (mhm… probably this --enable-targets=all).
Indeed, that was the problem. I've updated my scripts to always build
with this option, I've fixed the obvious errors (patch attached) and I
saw no regression on x86_64-linux.
Ok to push?
Comments
On 08/01/2015 06:35 AM, Pierre-Marie de Rodat wrote:
> On 08/01/2015 11:08 AM, Pierre-Marie de Rodat wrote:
> gdb/
>
> * alpha-mdebug-tdep.c (find_proc_desc): Update call to
> lookup_symbol.
> * ft32-tdep.c (ft32_skip_prologue): Likewise.
> * moxie-tdep.c (moxie_skip_prologue): Likewise.
> * mt-tdep.c (mt_skip_prologue): Likewise.
> * xstormy16-tdep.c (xstormy16_skip_prologue): Likewise.
> ---
> gdb/ChangeLog | 9 +++++++++
> gdb/alpha-mdebug-tdep.c | 3 ++-
> gdb/ft32-tdep.c | 2 +-
> gdb/moxie-tdep.c | 2 +-
> gdb/mt-tdep.c | 2 +-
> gdb/xstormy16-tdep.c | 2 +-
> 6 files changed, 15 insertions(+), 5 deletions(-)
>
> diff --git a/gdb/ChangeLog b/gdb/ChangeLog
> index e8c04c0..a62415f 100644
> --- a/gdb/ChangeLog
> +++ b/gdb/ChangeLog
> @@ -1,5 +1,14 @@
> 2015-08-01 Pierre-Marie de Rodat<derodat@adacore.com>
>
> + * alpha-mdebug-tdep.c (find_proc_desc): Update call to
> + lookup_symbol.
> + * ft32-tdep.c (ft32_skip_prologue): Likewise.
> + * moxie-tdep.c (moxie_skip_prologue): Likewise.
> + * mt-tdep.c (mt_skip_prologue): Likewise.
> + * xstormy16-tdep.c (xstormy16_skip_prologue): Likewise.
> +
> +2015-08-01 Pierre-Marie de Rodat<derodat@adacore.com>
> +
> * ada-exp.y (write_object_renaming): Replace struct
> ada_symbol_info with struct block_symbol. Update field
> references accordingly.
> diff --git a/gdb/alpha-mdebug-tdep.c b/gdb/alpha-mdebug-tdep.c
> index 2f58c64..a8a511b 100644
> --- a/gdb/alpha-mdebug-tdep.c
> +++ b/gdb/alpha-mdebug-tdep.c
> @@ -107,7 +107,8 @@ find_proc_desc (CORE_ADDR pc)
> symbol reading. */
> sym = NULL;
> else
> - sym = lookup_symbol (MDEBUG_EFI_SYMBOL_NAME, b, LABEL_DOMAIN, 0);
> + sym = lookup_symbol (MDEBUG_EFI_SYMBOL_NAME, b, LABEL_DOMAIN,
> + 0).symbol;
> }
It is probably a matter of personal taste, but i find it easier and
cleaner to get the result of lookup_symbol (...) assigned to a variable
and then have the code access its 'symbol' field as opposed to chaining
things like the above.
The current codebase doesn't show many occurrences like the above.
On 08/01/2015 10:35 AM, Pierre-Marie de Rodat wrote:
> On 08/01/2015 11:08 AM, Pierre-Marie de Rodat wrote:
>> On 08/01/2015 10:57 AM, Pierre-Marie de Rodat wrote:
>>> This is pushed, now.
>>
>> Sergio's buildbot detected a compilation error:
>>
>> ../../binutils-gdb/gdb/ft32-tdep.c: In function 'ft32_skip_prologue':
>> ../../binutils-gdb/gdb/ft32-tdep.c:253:8: error: incompatible types when
>> assigning to type 'struct symbol *' from type 'struct block_symbol'
>> sym = lookup_symbol (func_name, NULL, VAR_DOMAIN, NULL);
>>
>> Strange, I don't have this problem locally. Investigating how the
>> buildbot's build is different (mhm… probably this --enable-targets=all).
>
> Indeed, that was the problem. I've updated my scripts to always build
> with this option, I've fixed the obvious errors (patch attached) and I
> saw no regression on x86_64-linux.
>
> Ok to push?
>
Thanks, this is OK. I went ahead and pushed this for you, to avoid
keeping the tree broken for too long.
On 08/02/2015 08:17 PM, Pedro Alves wrote:
> Thanks, this is OK. I went ahead and pushed this for you, to avoid
> keeping the tree broken for too long.
Great, thank you very much! As discussed on IRC, I will push the fix "as
obvious" the next time a similar situation occurs.
From 347dc1ee346ba9bf8d72c1cbc1b48676ed048b75 Mon Sep 17 00:00:00 2001
From: Pierre-Marie de Rodat <derodat@adacore.com>
Date: Sat, 1 Aug 2015 11:25:44 +0200
Subject: [PATCH] Complete the previous commit (block_found refactoring)
The previous commit (Replace the block_found global with explicit
data-flow) lacks updates in a couple of files because it was not tested
building GDB with --enable-targets=all... but buildbots did. This adds
the appropriate simple updates to fix buildbots.
gdb/
* alpha-mdebug-tdep.c (find_proc_desc): Update call to
lookup_symbol.
* ft32-tdep.c (ft32_skip_prologue): Likewise.
* moxie-tdep.c (moxie_skip_prologue): Likewise.
* mt-tdep.c (mt_skip_prologue): Likewise.
* xstormy16-tdep.c (xstormy16_skip_prologue): Likewise.
---
gdb/ChangeLog | 9 +++++++++
gdb/alpha-mdebug-tdep.c | 3 ++-
gdb/ft32-tdep.c | 2 +-
gdb/moxie-tdep.c | 2 +-
gdb/mt-tdep.c | 2 +-
gdb/xstormy16-tdep.c | 2 +-
6 files changed, 15 insertions(+), 5 deletions(-)
@@ -1,5 +1,14 @@
2015-08-01 Pierre-Marie de Rodat <derodat@adacore.com>
+ * alpha-mdebug-tdep.c (find_proc_desc): Update call to
+ lookup_symbol.
+ * ft32-tdep.c (ft32_skip_prologue): Likewise.
+ * moxie-tdep.c (moxie_skip_prologue): Likewise.
+ * mt-tdep.c (mt_skip_prologue): Likewise.
+ * xstormy16-tdep.c (xstormy16_skip_prologue): Likewise.
+
+2015-08-01 Pierre-Marie de Rodat <derodat@adacore.com>
+
* ada-exp.y (write_object_renaming): Replace struct
ada_symbol_info with struct block_symbol. Update field
references accordingly.
@@ -107,7 +107,8 @@ find_proc_desc (CORE_ADDR pc)
symbol reading. */
sym = NULL;
else
- sym = lookup_symbol (MDEBUG_EFI_SYMBOL_NAME, b, LABEL_DOMAIN, 0);
+ sym = lookup_symbol (MDEBUG_EFI_SYMBOL_NAME, b, LABEL_DOMAIN,
+ 0).symbol;
}
if (sym)
@@ -250,7 +250,7 @@ ft32_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
plg_end = ft32_analyze_prologue (func_addr,
func_end, &cache, gdbarch);
/* Found a function. */
- sym = lookup_symbol (func_name, NULL, VAR_DOMAIN, NULL);
+ sym = lookup_symbol (func_name, NULL, VAR_DOMAIN, NULL).symbol;
/* Don't use line number debug info for assembly source files. */
if ((sym != NULL) && SYMBOL_LANGUAGE (sym) != language_asm)
{
@@ -241,7 +241,7 @@ moxie_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
plg_end = moxie_analyze_prologue (func_addr,
func_end, &cache, gdbarch);
/* Found a function. */
- sym = lookup_symbol (func_name, NULL, VAR_DOMAIN, NULL);
+ sym = lookup_symbol (func_name, NULL, VAR_DOMAIN, NULL).symbol;
/* Don't use line number debug info for assembly source
files. */
if (sym && SYMBOL_LANGUAGE (sym) != language_asm)
@@ -415,7 +415,7 @@ mt_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
struct symbol *sym;
/* Found a function. */
- sym = lookup_symbol (func_name, NULL, VAR_DOMAIN, NULL);
+ sym = lookup_symbol (func_name, NULL, VAR_DOMAIN, NULL).symbol;
if (sym && SYMBOL_LANGUAGE (sym) != language_asm)
{
/* Don't use this trick for assembly source files. */
@@ -433,7 +433,7 @@ xstormy16_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
return plg_end;
/* Found a function. */
- sym = lookup_symbol (func_name, NULL, VAR_DOMAIN, NULL);
+ sym = lookup_symbol (func_name, NULL, VAR_DOMAIN, NULL).symbol;
/* Don't use line number debug info for assembly source files. */
if (sym && SYMBOL_LANGUAGE (sym) != language_asm)
{
--
2.4.6