gdb/gdb-rhbz795424-bitpos-07of25.patch
Stephan Kulow 16b5661a6f Accepting request 147743 from devel:gcc
- Merge from gdb-7.5.1-30.fc18.src.rpm.
  7.5.1 gives:
    * An "Attempt to dereference a generic pointer" errors (-var-create).
    * Backtrace problems on x32 (PR backtrace/14646).
    * next/step/finish problems on x32 (PR gdb/14647).
    * A "malformed linespec error: unexpected keyword, [...]" error
      (PR breakpoints/14643).
    * GDB crash while stepping through powerpc (32bits) code.
    * A failed assertion in linux_ptrace_test_ret_to_nx.
    * A "!frame_id_inlined_p (frame_id)" failed assertion.
    * A "No more reverse-execution history." error during reverse
      "next" execution (PR 14548).
    * Incomplete command descriptions in "apropos" output.
    * PR gdb/14494 (a GDB crash difficult to characterize).
  7.5 gives:
    * Go language support.
    * New targets (x32 ABI, microMIPS, Renesas RL78, HP OpenVMS ia64).
    * More Python scripting improvements.
    * SDT (Static Defined Tracing) probes support with SystemTap probes.
    * GDBserver improvements (stdio connections, target-side evaluation
      of breakpoint conditions, remote protocol improvements).
    * Other miscellaneous improvements (ability to stop when a shared
      library is loaded/unloaded, dynamic printf, etc).
    * Reverse debugging on ARM.

- Do not provide a custom (safe) auto-load dir.

OBS-URL: https://build.opensuse.org/request/show/147743
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gdb?expand=0&rev=90
2013-01-11 14:55:20 +00:00

65 lines
2.0 KiB
Diff

http://sourceware.org/ml/gdb-cvs/2012-07/msg00182.html
### src/gdb/ChangeLog 2012/07/23 15:25:11 1.14514
### src/gdb/ChangeLog 2012/07/23 18:08:27 1.14515
## -1,3 +1,9 @@
+2012-07-23 Siddhesh Poyarekar <siddhesh@redhat.com>
+
+ * p-valprint.c (pascal_object_print_value): Replace potentially
+ unsafe alloca with xmalloc/xfree.
+ * valops.c (search_struct_method): Likewise.
+
2012-07-23 Tom Tromey <tromey@redhat.com>
* solib-svr4.c (enable_break): Update.
--- src/gdb/p-valprint.c 2012/05/18 21:02:49 1.100
+++ src/gdb/p-valprint.c 2012/07/23 18:08:29 1.101
@@ -797,8 +797,11 @@
if (boffset < 0 || boffset >= TYPE_LENGTH (type))
{
- /* FIXME (alloc): not safe is baseclass is really really big. */
- gdb_byte *buf = alloca (TYPE_LENGTH (baseclass));
+ gdb_byte *buf;
+ struct cleanup *back_to;
+
+ buf = xmalloc (TYPE_LENGTH (baseclass));
+ back_to = make_cleanup (xfree, buf);
base_valaddr = buf;
if (target_read_memory (address + boffset, buf,
@@ -807,6 +810,7 @@
address = address + boffset;
thisoffset = 0;
boffset = 0;
+ do_cleanups (back_to);
}
else
base_valaddr = valaddr;
--- src/gdb/valops.c 2012/06/24 07:28:10 1.297
+++ src/gdb/valops.c 2012/07/23 18:08:29 1.298
@@ -2281,8 +2281,13 @@
if (offset < 0 || offset >= TYPE_LENGTH (type))
{
- gdb_byte *tmp = alloca (TYPE_LENGTH (baseclass));
- CORE_ADDR address = value_address (*arg1p);
+ gdb_byte *tmp;
+ struct cleanup *back_to;
+ CORE_ADDR address;
+
+ tmp = xmalloc (TYPE_LENGTH (baseclass));
+ back_to = make_cleanup (xfree, tmp);
+ address = value_address (*arg1p);
if (target_read_memory (address + offset,
tmp, TYPE_LENGTH (baseclass)) != 0)
@@ -2293,6 +2298,7 @@
address + offset);
base_valaddr = value_contents_for_printing (base_val);
this_offset = 0;
+ do_cleanups (back_to);
}
else
{