Re: [PATCH] Replace the block_found global with explicit data-flow

Pierre-Marie de Rodat
2015-08-01T09:35:25Z

[-- Attachment #1: Type: text/plain, Size: 836 bytes --]

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?

--
Pierre-Marie de Rodat

[-- Attachment #2: 0001-Complete-the-previous-commit-block_found-refactoring.patch --]
[-- Type: text/x-patch, Size: 4352 bytes --]

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(-)

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;
}

if (sym)
diff --git a/gdb/ft32-tdep.c b/gdb/ft32-tdep.c
index e7f4d1a..2e5deca 100644
--- a/gdb/ft32-tdep.c
+++ b/gdb/ft32-tdep.c
@@ -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)
{
diff --git a/gdb/moxie-tdep.c b/gdb/moxie-tdep.c
index 555151d..9496314 100644
--- a/gdb/moxie-tdep.c
+++ b/gdb/moxie-tdep.c
@@ -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)
diff --git a/gdb/mt-tdep.c b/gdb/mt-tdep.c
index 74d54a7..a9c1fbb 100644
--- a/gdb/mt-tdep.c
+++ b/gdb/mt-tdep.c
@@ -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. */
diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c
index 4faad2e..05b3039 100644
--- a/gdb/xstormy16-tdep.c
+++ b/gdb/xstormy16-tdep.c
@@ -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