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]

FYI: fixed a build failure on AIX (rs6000-nat.c:vmap_exec)


Hello,

This is a patch that sat in my outbox since July 4th... It fixes a build
failure on AIX.

Tested on AIX with AdaCore's testsuite.

-- 
Joel
commit 4e8743a20fd7fddef3d6741c2a40c4fd4f15c07d
Author: Joel Brobecker <brobecker@adacore.com>
Date:   Sat Jul 4 09:13:32 2009 -0700

    Fix build failure on AIX.
    
        * rs6000-nat.c (vmap_exec): Rewrite using target_get_section_table
        instead of relying on the to_sections/to_section_end target_ops
        field, since the latter have been removed in a previous patch.

diff --git a/gdb/rs6000-nat.c b/gdb/rs6000-nat.c
index a1d15bc..7fa7c41 100644
--- a/gdb/rs6000-nat.c
+++ b/gdb/rs6000-nat.c
@@ -935,33 +935,32 @@ vmap_exec (void)
 {
   static bfd *execbfd;
   int i;
+  struct target_section_table *table = target_get_section_table (&exec_ops);
 
   if (execbfd == exec_bfd)
     return;
 
   execbfd = exec_bfd;
 
-  if (!vmap || !exec_ops.to_sections)
-    error (_("vmap_exec: vmap or exec_ops.to_sections == 0."));
+  if (!vmap || !table->sections)
+    error (_("vmap_exec: vmap or table->sections == 0."));
 
-  for (i = 0; &exec_ops.to_sections[i] < exec_ops.to_sections_end; i++)
+  for (i = 0; &table->sections[i] < table->sections_end; i++)
     {
-      if (strcmp (".text", exec_ops.to_sections[i].the_bfd_section->name) == 0)
+      if (strcmp (".text", table->sections[i].the_bfd_section->name) == 0)
 	{
-	  exec_ops.to_sections[i].addr += vmap->tstart - vmap->tvma;
-	  exec_ops.to_sections[i].endaddr += vmap->tstart - vmap->tvma;
+	  table->sections[i].addr += vmap->tstart - vmap->tvma;
+	  table->sections[i].endaddr += vmap->tstart - vmap->tvma;
 	}
-      else if (strcmp (".data",
-		       exec_ops.to_sections[i].the_bfd_section->name) == 0)
+      else if (strcmp (".data", table->sections[i].the_bfd_section->name) == 0)
 	{
-	  exec_ops.to_sections[i].addr += vmap->dstart - vmap->dvma;
-	  exec_ops.to_sections[i].endaddr += vmap->dstart - vmap->dvma;
+	  table->sections[i].addr += vmap->dstart - vmap->dvma;
+	  table->sections[i].endaddr += vmap->dstart - vmap->dvma;
 	}
-      else if (strcmp (".bss",
-		       exec_ops.to_sections[i].the_bfd_section->name) == 0)
+      else if (strcmp (".bss", table->sections[i].the_bfd_section->name) == 0)
 	{
-	  exec_ops.to_sections[i].addr += vmap->dstart - vmap->dvma;
-	  exec_ops.to_sections[i].endaddr += vmap->dstart - vmap->dvma;
+	  table->sections[i].addr += vmap->dstart - vmap->dvma;
+	  table->sections[i].endaddr += vmap->dstart - vmap->dvma;
 	}
     }
 }

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