public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
From: swagiaal@sourceware.org
To: archer-commits@sourceware.org
Subject: [SCM]  master: *** empty log message ***
Date: Tue, 18 Aug 2009 15:16:00 -0000	[thread overview]
Message-ID: <20090818151557.20747.qmail@sourceware.org> (raw)

The branch, master has been updated
       via  19a50d12edce0600e6e784c1edb3ada364e315f6 (commit)
       via  7d85f8dcdcb4b149fc5c8d1264fd143389966d90 (commit)
       via  b2bd124143030a72ceffe8164b95eca30c136a71 (commit)
       via  2d2cca06c04577fedc2547a9d22213bf2ce5944b (commit)
       via  7b89e85c0e6ec79862388fffa7f37097023ff996 (commit)
       via  9213c4b80953bfb0cd4f413449804cfea7083b8c (commit)
       via  2e49d7624aa051e6fc923ad075c8d5a8b760b03a (commit)
       via  668e15338216bae8b420ac7622e451fbd41f7150 (commit)
       via  61b721bf40f1b08c51e333356223aac25779efce (commit)
      from  0ad8a5906cd65758e6050bdf59b893a0b1c20bc9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 19a50d12edce0600e6e784c1edb3ada364e315f6
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Tue Aug 18 00:00:32 2009 +0000

    *** empty log message ***

commit 7d85f8dcdcb4b149fc5c8d1264fd143389966d90
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Tue Aug 18 00:00:06 2009 +0000

    daily update

commit b2bd124143030a72ceffe8164b95eca30c136a71
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Mon Aug 17 20:09:37 2009 +0000

    	* symfile.c (reread_symbols): Call objfiles_changed *before*
    	calling clear_symtab_users.

commit 2d2cca06c04577fedc2547a9d22213bf2ce5944b
Author: Michael Snyder <msnyder@specifix.com>
Date:   Mon Aug 17 18:23:45 2009 +0000

    2009-08-17  Michael Snyder  <msnyder@vmware.com>
    
    	* amd64-tdep.c: Add a frame unwinder for function epilogues.
    	(amd64_in_function_epilogue_p): New function.
    	(amd64_epilogue_frame_sniffer): New function.
    	(amd64_epilogue_frame_cache): New function.
    	(amd64_epilogue_frame_this_id): New function.
    	(amd64_epilogue_frame_unwind): New struct frame_unwind.
    	(amd64_init_abi): Hook the new unwinder.
    
    	* amd64-linux-tdep.c (amd64_linux_init_abi): Set gdbarch to use
    	SVR4 method for skip_trampoline_code.

commit 7b89e85c0e6ec79862388fffa7f37097023ff996
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Mon Aug 17 11:16:11 2009 +0000

    2009-08-17  Pedro Alves  <pedro@codesourcery.com>>
    
    	* objfiles.c (objfile_relocate): Relocate the entry point before
    	relocating the section offsets.  Flush the section map before
    	resetting breakpoints.

commit 9213c4b80953bfb0cd4f413449804cfea7083b8c
Author: Ben Elliston <bje@au.ibm.com>
Date:   Mon Aug 17 04:10:29 2009 +0000

    	* config.sub, config.guess: Update from upstream sources.

commit 2e49d7624aa051e6fc923ad075c8d5a8b760b03a
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Mon Aug 17 00:00:08 2009 +0000

    daily update

commit 668e15338216bae8b420ac7622e451fbd41f7150
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Mon Aug 17 00:00:03 2009 +0000

    *** empty log message ***

commit 61b721bf40f1b08c51e333356223aac25779efce
Author: Doug Evans <dje@google.com>
Date:   Sun Aug 16 17:32:21 2009 +0000

    	* opncls.c (bfd_close): Until BFD_IN_MEMORY has an iovec,
    	at least don't leak memory.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog              |    4 ++
 bfd/ChangeLog          |    5 +++
 bfd/opncls.c           |   16 ++++++---
 bfd/version.h          |    2 +-
 config.guess           |   12 +++---
 config.sub             |   20 ++++++++---
 gdb/ChangeLog          |   24 +++++++++++++
 gdb/amd64-linux-tdep.c |    3 ++
 gdb/amd64-tdep.c       |   89 ++++++++++++++++++++++++++++++++++++++++++++++++
 gdb/objfiles.c         |   16 +++++----
 gdb/symfile.c          |    6 ++--
 gdb/version.in         |    2 +-
 12 files changed, 171 insertions(+), 28 deletions(-)

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 64dc5aa..4ee1147 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-08-17  Ben Elliston  <bje@au.ibm.com>
+
+	* config.sub, config.guess: Update from upstream sources.
+
 2009-08-06  Michael Eager <eager@eagercon.com>
 
 	* configure.ac: Add Microblaze target.
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index ecca9ca..f9c4c6d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2009-08-16  Doug Evans  <dje@google.com>
+
+	* opncls.c (bfd_close): Until BFD_IN_MEMORY has an iovec,
+	at least don't leak memory.
+
 2009-08-13  DJ Delorie  <dj@redhat.com>
 
 	* elf32-m32c.c (m32c_elf_relax_delete_bytes): Adjust symbol sizes
diff --git a/bfd/opncls.c b/bfd/opncls.c
index 6a4f319..7992030 100644
--- a/bfd/opncls.c
+++ b/bfd/opncls.c
@@ -703,12 +703,18 @@ bfd_close (bfd *abfd)
   if (! BFD_SEND (abfd, _close_and_cleanup, (abfd)))
     return FALSE;
 
-  /* FIXME: cagney/2004-02-15: Need to implement a BFD_IN_MEMORY io
-     vector.  */
-  if (!(abfd->flags & BFD_IN_MEMORY))
-    ret = abfd->iovec->bclose (abfd);
+  if ((abfd->flags & BFD_IN_MEMORY) != 0)
+    {
+      /* FIXME: cagney/2004-02-15: Need to implement a BFD_IN_MEMORY io
+	 vector.
+	 Until that's done, at least don't leak memory.  */
+      struct bfd_in_memory *bim = abfd->iostream;
+      free (bim->buffer);
+      free (bim);
+      ret = TRUE;
+    }
   else
-    ret = TRUE;
+    ret = abfd->iovec->bclose (abfd);
 
   if (ret)
     _maybe_make_executable (abfd);
diff --git a/bfd/version.h b/bfd/version.h
index b19ea97..e217c6e 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20090816
+#define BFD_VERSION_DATE 20090818
 #define BFD_VERSION @bfd_version@
 #define BFD_VERSION_STRING  @bfd_version_package@ @bfd_version_string@
 #define REPORT_BUGS_TO @report_bugs_to@
diff --git a/config.guess b/config.guess
index 7c48073..e3a2116 100755
--- a/config.guess
+++ b/config.guess
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
 #   Free Software Foundation, Inc.
 
-timestamp='2009-06-03'
+timestamp='2009-06-10'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -170,7 +170,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
 		eval $set_cc_for_build
 		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-			| grep __ELF__ >/dev/null
+			| grep -q __ELF__
 		then
 		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
 		    # Return netbsd for either.  FIX?
@@ -656,7 +656,7 @@ EOF
 	    # => hppa64-hp-hpux11.23
 
 	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-		grep __LP64__ >/dev/null
+		grep -q __LP64__
 	    then
 		HP_ARCH="hppa2.0w"
 	    else
@@ -927,7 +927,7 @@ EOF
 	  EV67)  UNAME_MACHINE=alphaev67 ;;
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
         esac
-	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+	objdump --private-headers /bin/sh | grep -q ld.so.1
 	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
 	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
 	exit ;;
@@ -1046,7 +1046,7 @@ EOF
     i*86:syllable:*:*)
 	echo ${UNAME_MACHINE}-pc-syllable
 	exit ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
 	echo i386-unknown-lynxos${UNAME_RELEASE}
 	exit ;;
     i*86:*DOS:*:*)
@@ -1154,7 +1154,7 @@ EOF
     rs6000:LynxOS:2.*:*)
 	echo rs6000-unknown-lynxos${UNAME_RELEASE}
 	exit ;;
-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
 	echo powerpc-unknown-lynxos${UNAME_RELEASE}
 	exit ;;
     SM[BE]S:UNIX_SV:*:*)
diff --git a/config.sub b/config.sub
index 67a635e..32d764c 100755
--- a/config.sub
+++ b/config.sub
@@ -4,7 +4,7 @@
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
 #   Free Software Foundation, Inc.
 
-timestamp='2009-06-03'
+timestamp='2009-08-17'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -149,10 +149,13 @@ case $os in
 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
 	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
 	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple | -axis | -knuth | -cray)
+	-apple | -axis | -knuth | -cray | -microblaze)
 		os=
 		basic_machine=$1
 		;;
+        -bluegene*)
+	        os=-cnk
+		;;
 	-sim | -cisco | -oki | -wec | -winbond)
 		os=
 		basic_machine=$1
@@ -337,7 +340,7 @@ case $basic_machine in
 	| lm32-* \
 	| m32c-* | m32r-* | m32rle-* \
 	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
 	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
 	| mips16-* \
 	| mips64-* | mips64el-* \
@@ -467,6 +470,10 @@ case $basic_machine in
 		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
 		os=-linux
 		;;
+	bluegene*)
+		basic_machine=powerpc-ibm
+		os=-cnk
+		;;
 	c90)
 		basic_machine=c90-cray
 		os=-unicos
@@ -719,6 +726,9 @@ case $basic_machine in
 		basic_machine=ns32k-utek
 		os=-sysv
 		;;
+        microblaze)
+		basic_machine=microblaze-xilinx
+		;;
 	mingw32)
 		basic_machine=i386-pc
 		os=-mingw32
@@ -1260,7 +1270,7 @@ case $os in
 	# Each alternative MUST END IN A *, to match a version number.
 	# -sysv* is not here because it comes later, after sysvr4.
 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
 	      | -kopensolaris* \
 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
@@ -1613,7 +1623,7 @@ case $basic_machine in
 			-sunos*)
 				vendor=sun
 				;;
-			-aix*)
+			-cnk*|-aix*)
 				vendor=ibm
 				;;
 			-beos*)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 4215476..3af22c1 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,27 @@
+2009-08-17  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* symfile.c (reread_symbols): Call objfiles_changed *before*
+	calling clear_symtab_users.
+
+2009-08-17  Michael Snyder  <msnyder@vmware.com>
+
+	* amd64-tdep.c: Add a frame unwinder for function epilogues.
+	(amd64_in_function_epilogue_p): New function.
+	(amd64_epilogue_frame_sniffer): New function.
+	(amd64_epilogue_frame_cache): New function.
+	(amd64_epilogue_frame_this_id): New function.
+	(amd64_epilogue_frame_unwind): New struct frame_unwind.
+	(amd64_init_abi): Hook the new unwinder.
+
+	* amd64-linux-tdep.c (amd64_linux_init_abi): Set gdbarch to use
+	SVR4 method for skip_trampoline_code.
+
+2009-08-17  Pedro Alves  <pedro@codesourcery.com>>
+
+	* objfiles.c (objfile_relocate): Relocate the entry point before
+	relocating the section offsets.  Flush the section map before
+	resetting breakpoints.
+
 2009-08-14  Doug Evans  <dje@google.com>
 
 	* symfile.c (find_separate_debug_file): Remove double free of
diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c
index e7f966b..dcfdb38 100644
--- a/gdb/amd64-linux-tdep.c
+++ b/gdb/amd64-linux-tdep.c
@@ -1415,6 +1415,9 @@ amd64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
   set_gdbarch_fetch_tls_load_module_address (gdbarch,
                                              svr4_fetch_objfile_link_map);
 
+  /* GNU/Linux uses SVR4-style shared libraries.  */
+  set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
+
   /* Displaced stepping.  */
   set_gdbarch_displaced_step_copy_insn (gdbarch,
                                         amd64_displaced_step_copy_insn);
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
index 187b9ce..51560cf 100644
--- a/gdb/amd64-tdep.c
+++ b/gdb/amd64-tdep.c
@@ -1887,6 +1887,89 @@ static const struct frame_base amd64_frame_base =
   amd64_frame_base_address
 };
 
+/* Normal frames, but in a function epilogue.  */
+
+/* The epilogue is defined here as the 'ret' instruction, which will
+   follow any instruction such as 'leave' or 'pop %ebp' that destroys
+   the function's stack frame.  */
+
+static int
+amd64_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+{
+  gdb_byte insn;
+
+  if (target_read_memory (pc, &insn, 1))
+    return 0;   /* Can't read memory at pc.  */
+
+  if (insn != 0xc3)     /* 'ret' instruction.  */
+    return 0;
+
+  return 1;
+}
+
+static int
+amd64_epilogue_frame_sniffer (const struct frame_unwind *self,
+			      struct frame_info *this_frame,
+			      void **this_prologue_cache)
+{
+  if (frame_relative_level (this_frame) == 0)
+    return amd64_in_function_epilogue_p (get_frame_arch (this_frame),
+					 get_frame_pc (this_frame));
+  else
+    return 0;
+}
+
+static struct amd64_frame_cache *
+amd64_epilogue_frame_cache (struct frame_info *this_frame, void **this_cache)
+{
+  struct gdbarch *gdbarch = get_frame_arch (this_frame);
+  enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+  struct amd64_frame_cache *cache;
+  gdb_byte buf[4];
+
+  if (*this_cache)
+    return *this_cache;
+
+  cache = amd64_alloc_frame_cache ();
+  *this_cache = cache;
+
+  /* Cache base will be %esp plus cache->sp_offset (-8).  */
+  get_frame_register (this_frame, AMD64_RSP_REGNUM, buf);
+  cache->base = extract_unsigned_integer (buf, 8, 
+					  byte_order) + cache->sp_offset;
+
+  /* Cache pc will be the frame func.  */
+  cache->pc = get_frame_pc (this_frame);
+
+  /* The saved %esp will be at cache->base plus 16.  */
+  cache->saved_sp = cache->base + 16;
+
+  /* The saved %eip will be at cache->base plus 8.  */
+  cache->saved_regs[AMD64_RIP_REGNUM] = cache->base + 8;
+
+  return cache;
+}
+
+static void
+amd64_epilogue_frame_this_id (struct frame_info *this_frame,
+			      void **this_cache,
+			      struct frame_id *this_id)
+{
+  struct amd64_frame_cache *cache = amd64_epilogue_frame_cache (this_frame,
+							       this_cache);
+
+  (*this_id) = frame_id_build (cache->base + 8, cache->pc);
+}
+
+static const struct frame_unwind amd64_epilogue_frame_unwind =
+{
+  NORMAL_FRAME,
+  amd64_epilogue_frame_this_id,
+  amd64_frame_prev_register,
+  NULL, 
+  amd64_epilogue_frame_sniffer
+};
+
 static struct frame_id
 amd64_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
 {
@@ -2065,6 +2148,12 @@ amd64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
   set_gdbarch_dummy_id (gdbarch, amd64_dummy_id);
 
+  /* Hook the function epilogue frame unwinder.  This unwinder is
+     appended to the list first, so that it supercedes the other
+     unwinders in function epilogues.  */
+  frame_unwind_prepend_unwinder (gdbarch, &amd64_epilogue_frame_unwind);
+
+  /* Hook the prologue-based frame unwinders.  */
   frame_unwind_append_unwinder (gdbarch, &amd64_sigtramp_frame_unwind);
   frame_unwind_append_unwinder (gdbarch, &amd64_frame_unwind);
   frame_base_set_default (gdbarch, &amd64_frame_base);
diff --git a/gdb/objfiles.c b/gdb/objfiles.c
index 586f5d0..92db65e 100644
--- a/gdb/objfiles.c
+++ b/gdb/objfiles.c
@@ -666,12 +666,6 @@ objfile_relocate (struct objfile *objfile, struct section_offsets *new_offsets)
      to be out of order.  */
   msymbols_sort (objfile);
 
-  {
-    int i;
-    for (i = 0; i < objfile->num_sections; ++i)
-      (objfile->section_offsets)->offsets[i] = ANOFFSET (new_offsets, i);
-  }
-
   if (objfile->ei.entry_point != ~(CORE_ADDR) 0)
     {
       /* Relocate ei.entry_point with its section offset, use SECT_OFF_TEXT
@@ -684,6 +678,15 @@ objfile_relocate (struct objfile *objfile, struct section_offsets *new_offsets)
         objfile->ei.entry_point += ANOFFSET (delta, SECT_OFF_TEXT (objfile));
     }
 
+  {
+    int i;
+    for (i = 0; i < objfile->num_sections; ++i)
+      (objfile->section_offsets)->offsets[i] = ANOFFSET (new_offsets, i);
+  }
+
+  /* Rebuild section map next time we need it.  */
+  objfiles_changed_p = 1;
+
   /* Update the table in exec_ops, used to read memory.  */
   ALL_OBJFILE_OSECTIONS (objfile, s)
     {
@@ -695,7 +698,6 @@ objfile_relocate (struct objfile *objfile, struct section_offsets *new_offsets)
 
   /* Relocate breakpoints as necessary, after things are relocated. */
   breakpoint_re_set ();
-  objfiles_changed_p = 1;  /* Rebuild section map next time we need it.  */
 }
 \f
 /* Many places in gdb want to test just to see if we have any partial
diff --git a/gdb/symfile.c b/gdb/symfile.c
index e30b613..5151966 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -2467,13 +2467,13 @@ reread_symbols (void)
 
   if (reread_one)
     {
+      /* Notify objfiles that we've modified objfile sections.  */
+      objfiles_changed ();
+
       clear_symtab_users ();
       /* At least one objfile has changed, so we can consider that
          the executable we're debugging has changed too.  */
       observer_notify_executable_changed ();
-
-      /* Notify objfiles that we've modified objfile sections.  */
-      objfiles_changed ();
     }
 }
 
diff --git a/gdb/version.in b/gdb/version.in
index 16c6d91..f2db57a 100644
--- a/gdb/version.in
+++ b/gdb/version.in
@@ -1 +1 @@
-6.8.50.20090816-cvs
+6.8.50.20090818-cvs


hooks/post-receive
--
Repository for Project Archer.


             reply	other threads:[~2009-08-18 15:16 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-18 15:16 swagiaal [this message]
  -- strict thread matches above, loose matches on Subject: below --
2009-09-17 10:12 jkratoch
2009-05-03 13:07 jkratoch
2009-02-28 20:17 jkratoch
2008-11-10 15:43 sergio
2008-11-04  2:30 sergio
2008-10-29 17:15 sergio
2008-10-21 17:13 sergio

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090818151557.20747.qmail@sourceware.org \
    --to=swagiaal@sourceware.org \
    --cc=archer-commits@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).