Jan Kratochvil [Tue, 5 Oct 2010 20:53:40 +0000 (20:53 +0000)]
gdb/
* symfile.c (addr_section_name): New function.
(addrs_section_compar): Use it.
(addr_info_make_relative): Use it. Move variable sect_name into a more
inner block. Make ".dynbss" and ".sdynbss" checks more strict.
gdb/testsuite/
* gdb.base/prelink-lib.c (copyreloc): New initialized variable.
* gdb.base/prelink.c (copyreloc, bssvar, bssvarp): New variables.
(main): Use copyreloc.
* gdb.base/prelink.exp (split debug of executable)
(.dynbss vs. .bss address shift): New tests.
This commit was manufactured by cvs2svn to create branch 'gdb_7_2-branch'.
Cherrypick from master 2010-09-22 15:48:59 UTC Sami Wagiaalla <swagiaal@redhat.com> 'Fix PR 12028: "GDB crashes on a double free during overload resolution "':
gdb/testsuite/gdb.cp/pr12028.cc
gdb/testsuite/gdb.cp/pr12028.exp
gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c
gdb/testsuite/gdb.mi/dw2-ref-missing-frame-main.c
gdb/testsuite/gdb.mi/dw2-ref-missing-frame.S
gdb/testsuite/gdb.mi/dw2-ref-missing-frame.exp
Yao Qi [Wed, 8 Sep 2010 12:25:19 +0000 (12:25 +0000)]
2010-09-08 Yao Qi <yao@codesourcery.com>
Pedro Alves <pedro@codesourcery.com>
* infrunc(resume): When inferior is waiting_for_vfork_done,
clear step and don't use displaced stepping.
Extend comment on ignoring single-step requests on vfork
parents waiting for a vfork-done.
Joel Brobecker [Thu, 2 Sep 2010 23:16:42 +0000 (23:16 +0000)]
Back out the change introducing the "record pic" feature.
gdb/ChangeLog:
Back out the following change:
| 2010-06-29 Hui Zhu <teawater@gmail.com>
| * record.c (set_record_pic_cmdlist,
| show_record_pic_cmdlist): New variables.
| (set_record_pic_command,
| show_record_pic_command): New functions.
| (record_pic_function, record_pic_line, record_pic_enum,
| set_record_pic_type, record_pic_hide_nofunction,
| record_pic_hide_nosource, record_pic_hide_same): New variables.
| (record_pic_fputs): New function.
| (function_list, node_list, edge_list): New struct.
| (function_list, node_list, edge_list): New variables.
| (record_pic_cleanups, record_pic_node,
| record_pic_edge, cmd_record_pic): New functions.
| (_initialize_record): Add new commands for record pic.
Yao Qi [Mon, 30 Aug 2010 15:33:03 +0000 (15:33 +0000)]
2010-08-30 Yao Qi <yao@codesourcery.com>
* arm-linux-tdep.c (arm_linux_sigreturn_return_addr): New.
(arm_linux_syscall_next_pc): New.
(arm_linux_copy_svc): Use arm_linux_sigreturn_return_addr instead.
(arm_linux_init_abi): Initialize syscall_next_pc.
* arm-tdep.c (thumb_get_next_pc_raw): Get next pc of SWI in Thumb mode.
(arm_get_next_pc_raw): Get next pc of SWI in ARM mode.
* arm-tdep.h (struct gdbarch_tdep): Add a function pointer syscall_next_pc.
Declare arm_frame_is_thumb.
Yao Qi [Thu, 26 Aug 2010 08:30:38 +0000 (08:30 +0000)]
2010-08-26 Yao Qi <yao@codesourcery.com>
* gdb.dwarf2/dw2-ref-missing-frame-func.c: Add .p2align 4 for labels
func_nofb_start and func_loopfb_start, so that address of functions
is equal to these labels on Thumb.
* gdb.arch/vsx-regs.exp: Remove wrong comment about testing AltiVec
registers. Update data sets with the new v2_double element in the
VSX register union. Add vector_register3_vr data set for the AltiVec
registers. Use gdb_test_no_output instead of send_gdb.
Joel Brobecker [Thu, 19 Aug 2010 09:12:33 +0000 (09:12 +0000)]
Fix regression in -file-list-exec-source-files command.
See http://sourceware.org/ml/gdb/2010-07/msg00118.html for
a description of the problem. Namely, the file and fullname
fields are inverted in the output of the -file-list-exec-source-files
GDB/MI command:
(gdb) interpreter-exec mi -file-list-exec-source-files
^done,files=[{file="/takamaka.a/brobecke/ex/list-exec-source-files/foo.c",fullname="foo.c"},{file="/takamaka.a/brobecke/ex/list-exec-source-files/foo.c",fullname="foo.c"},{file="",fullname="init.c"},{file="",fullname="../sysdeps/x86_64/elf/start.S"},{file="",fullname="../sysdeps/x86_64/elf/start.S"}]
It turns out to be a silly thinko: The map_symbol_filenames function
calls the psymtab version of map_symbol_filenames routine, and this
version called the callback function with filename and fullname
in the wrong order (fullname/filename instead of filename/fullname).
The routine description in symfile.h confirst that expected order for
the FUN callback parameters:
/* Call a callback for every file defined in OBJFILE. FUN is the
callback. It is passed the file's name, the file's full name,
and the DATA passed to this function. */
void (*map_symbol_filenames) (struct objfile *objfile,
void (*fun) (const char *, const char *,
void *),
void *data);
Fixing this error uncovered another location where the arguments
were reversed: maybe_add_partial_symtab_filename. Once the first
error was fixed, the debugger would crash while attempting to do
completion, because it was given a NULL fullname instead of the
non-NULL filename.
gdb/ChangeLog:
* psymtab.c (map_symbol_filenames_psymtab): Call FUN with
the arguments in the correct order.
* symtab.c (maybe_add_partial_symtab_filename): Declare
the arguments in the correct order.