Pedro Alves [Tue, 17 Sep 2013 19:32:47 +0000 (19:32 +0000)]
PR gdb/11568 - delete thread-specific breakpoints on thread exit
PR gdb/11568 is about thread-specific breakpoints being left behind
when the corresponding thread exits.
Currently:
(gdb) b start thread 2
Breakpoint 3 at 0x400614: file thread-specific-bp.c, line 23.
(gdb) b end
Breakpoint 4 at 0x40061f: file thread-specific-bp.c, line 29.
(gdb) c
Continuing.
[Thread 0x7ffff7fcb700 (LWP 14925) exited]
[Switching to Thread 0x7ffff7fcc740 (LWP 14921)]
Breakpoint 4, end () at thread-specific-bp.c:29
29 }
(gdb) info threads
Id Target Id Frame
* 1 Thread 0x7ffff7fcc740 (LWP 14921) "thread-specific" end () at thread-specific-bp.c:29
(gdb) info breakpoints
Num Type Disp Enb Address What
2 breakpoint keep y 0x0000000000400614 in start at thread-specific-bp.c:23
breakpoint already hit 1 time
3 breakpoint keep y 0x0000000000400614 in start at thread-specific-bp.c:23 thread 2
stop only in thread 2
4 breakpoint keep y 0x000000000040061f in end at thread-specific-bp.c:29
breakpoint already hit 1 time
Note that the thread-specific breakpoint 3 stayed around, even though
thread 2 is gone.
There's no way that breakpoint can trigger again (*), so the PR argues
that the breakpoint should just be removed, like local watchpoints.
I'm ambivalent on this -- it could be reasonable to disable the
breakpoint (kind of like breakpoint in shared library code when the
DSO is unloaded), so the user could still use it as visual template
for creating other breakpoints (copy/paste command lists, etc.), or we
could have a way to change to which thread a breakpoint applies. But,
several people pushed this direction, and I don't plan on arguing...
(*) - actually, there is ... thread numbers are reset on "run", so
the user could do "break foo thread 2", "run", and expect the
breakpoint to hit again on the second thread. But given gdb's thread
numbering can't really be stable, that'd only work sufficiently well
for thread 1, so we'd better call it unsupported.
So with the patch, whenever a thread is deleted from GDB's list, GDB
goes through the thread-specific breakpoints and deletes corresponding
breakpoints. Since this is user-visible, GDB prints out:
Thread-specific breakpoint 3 deleted - thread 2 is gone.
And of course, we end up with:
(gdb) info breakpoints
Num Type Disp Enb Address What
2 breakpoint keep y 0x0000000000400614 in start at thread-specific-bp.c:23
breakpoint already hit 1 time
4 breakpoint keep y 0x000000000040061f in end at thread-specific-bp.c:29
breakpoint already hit 1 time
2013-09-17 Muhammad Waqas <mwaqas@codesourcery.com>
Pedro Alves <palves@redhat.com>
PR gdb/11568
* breakpoint.c (remove_threaded_breakpoints): New function.
(_initialize_breakpoint): Attach remove_threaded_breakpoints
as thread_exit observer.
2013-09-17 Muhammad Waqas <mwaqas@codesourccery.com>
Jan Kratochvil <jan.kartochvil@redhat.com>
Pedro Alves <palves@redhat.com>
PR gdb/11568
* gdb.thread/thread-specific-bp.c: New file.
* gdb.thread/thread-specific-bp.exp: New file.
Sergio Durigan Junior [Tue, 17 Sep 2013 19:24:51 +0000 (19:24 +0000)]
This commit fixes a regression introduced by the new $_isvoid convenience
function. It adds a check for $_isvoid during the test of "show convenience"
output.
gdb/testsuite/
2013-09-17 Sergio Durigan Junior <sergiodj@redhat.com>
* gdb.base/defaults.exp (<show_conv_list>): Add check for $_isvoid
convenience function.
Pedro Alves [Tue, 17 Sep 2013 18:26:41 +0000 (18:26 +0000)]
PR gdb/15911: "info threads" changes the default source and line (for "break", "list")
"info threads" changes the default source for "break" and "list", to
whatever the location of the first/bottom thread in the thread list
is...
(gdb) b start
(gdb) c
...
(gdb) list
*lists "start"*
(gdb) b 23
Breakpoint 3 at 0x400614: file test.c, line 23.
(gdb) info threads
Id Target Id Frame
* 2 Thread 0x7ffff7fcb700 (LWP 1760) "test" start (arg=0x0) at test.c:23
1 Thread 0x7ffff7fcc740 (LWP 1748) "test" 0x000000323dc08e60 in pthread_join (threadid=
140737353922304, thread_return=0x0) at pthread_join.c:93
(gdb) b 23
Breakpoint 4 at 0x323dc08d90: file pthread_join.c, line 23.
^^^^^^^^^^^^^^^
(gdb) list
93 lll_wait_tid (pd->tid);
94
95
96 /* Restore cancellation mode. */
97 CANCEL_RESET (oldtype);
98
99 /* Remove the handler. */
100 pthread_cleanup_pop (0);
101
102
The issue is that print_stack_frame always sets the current sal to the
frame's sal. print_frame_info (which print_stack_frame calls to do
most of the work) also sets the last displayed sal, but only if
print_what isn't LOCATION. Now the call in question, from within
thread.c:print_thread_info, does pass in LOCATION as print_what, but
print_stack_frame doesn't have the same check print_frame_info has.
We could consider adding it, but setting these globals depending on
print_what isn't very clean, IMO. What we have is two logically
distinct operations mixed in the same function(s):
#1 - print frame, in the format specified by {print_what,
print_level and print_args}.
#2 - We're displaying a frame to the user, and I want the default
sal to point here, because the program stopped here, or the user
did some context-changing command (up, down, etc.).
So I added a new parameter to print_stack_frame & friends for point
#2, and went through all calls in the tree adjusting as necessary.
Tested on x86_64 Fedora 17.
gdb/
2013-09-17 Pedro Alves <palves@redhat.com>
PR gdb/15911
* ada-tasks.c (task_command_1): Adjust call to print_stack_frame.
* bsd-kvm.c (bsd_kvm_open, bsd_kvm_proc_cmd, bsd_kvm_pcb_cmd):
* corelow.c (core_open):
* frame.h (print_stack_frame, print_frame_info): New
'set_current_sal' parameter.
* infcmd.c (finish_command, kill_command): Adjust call to
print_stack_frame.
* inferior.c (inferior_command): Likewise.
* infrun.c (normal_stop): Likewise.
* linux-fork.c (linux_fork_context): Likewise.
* record-full.c (record_full_goto_entry, record_full_restore):
Likewise.
* remote-mips.c (common_open): Likewise.
* stack.c (print_stack_frame): New 'set_current_sal' parameter.
Use it.
(print_frame_info): New 'set_current_sal' parameter. Set the last
displayed sal depending on the new paremeter instead of looking at
print_what.
(backtrace_command_1, select_and_print_frame, frame_command)
(current_frame_command, up_command, down_command): Adjust call to
print_stack_frame.
* thread.c (print_thread_info, restore_selected_frame)
(do_captured_thread_select): Adjust call to print_stack_frame.
* tracepoint.c (tfind_1): Likewise.
* mi/mi-cmd-stack.c (mi_cmd_stack_list_frames)
(mi_cmd_stack_info_frame): Likewise.
* mi/mi-interp.c (mi_on_normal_stop): Likewise.
* mi/mi-main.c (mi_cmd_exec_return, mi_cmd_trace_find): Likewise.
gdb/testsuite/
* gdb.threads/info-threads-cur-sal-2.c: New file.
* gdb.threads/info-threads-cur-sal.c: New file.
* gdb.threads/info-threads-cur-sal.exp: New file.
Luis Machado [Tue, 17 Sep 2013 15:06:01 +0000 (15:06 +0000)]
Fix ChangeLog entry missing a ':' char.
Jiong Wang [Tue, 17 Sep 2013 14:00:30 +0000 (14:00 +0000)]
gdbserver/ChangeLog
* linux-tile-low.c (tile_regsets): Modify the size field to 64-bit
for each register.
Nick Clifton [Tue, 17 Sep 2013 13:57:21 +0000 (13:57 +0000)]
PR ld/15957
* deffilep.y (def_file_add_directive): Avoid readin past end of
buffer.
Jiong Wang [Tue, 17 Sep 2013 13:56:54 +0000 (13:56 +0000)]
2013-09-16 Jiong Wang <jiwang@tilera.com>
gdbserver/ChangeLog
* configure.srv <tilegx*-*-linux*>: Remove linux-osdata.o from and add
linux-tile-low.o to srv_tgtobj.
Richard Sandiford [Tue, 17 Sep 2013 09:02:37 +0000 (09:02 +0000)]
opcodes/
* s390-opc.txt (clih): Make the immediate unsigned.
gas/testsuite/
* gas/s390/zarch-z196.s, gas/s390/zarch-z196.d: Test CLIH with
4000000000.
Yao Qi [Tue, 17 Sep 2013 07:00:50 +0000 (07:00 +0000)]
gdb/testsuite/
* gdb.base/catch-load.c: Remove the include of "dlfcn.h".
[__WIN32__]: Include "windows.h" and define macro dlopen
and dlclose.
[!__WIN32__]: Include "dlfcn.h".
* gdb.base/catch-load.exp (one_catch_load_test): Match
directory separator.
Alan Modra [Tue, 17 Sep 2013 00:00:04 +0000 (00:00 +0000)]
daily update
Doug Evans [Mon, 16 Sep 2013 23:59:02 +0000 (23:59 +0000)]
* lib/gdb.exp (using_fission): New proc.
* gdb.base/info-macros.exp: Skip test if using Fission.
Doug Evans [Mon, 16 Sep 2013 23:42:58 +0000 (23:42 +0000)]
* gdb.base/break-interp.exp: Fix indentation.
Sergio Durigan Junior [Mon, 16 Sep 2013 21:07:14 +0000 (21:07 +0000)]
The error message in the function was saying
"You should provide one parameter..." while it should be saying "... one
argument...". Replaced.
2013-09-16 Sergio Durigan Junior <sergiodj@redhat.com>
* value.c (isvoid_internal_fn): Replace "parameter" with
"argument".
Stan Shebs [Mon, 16 Sep 2013 18:00:34 +0000 (18:00 +0000)]
* README: Update references to writing code for GDB.
* configure.ac (build_warnings): Remove obsolete comment.
* configure: Regenerate.
* gdbarch.sh: Remove references to gdbint.texinfo.
* gdbarch.h: Regenerate.
* gdbtypes.c (objfile_type): Remove comments referencing internals
manual and D10V.
[gdb/doc]
Remove the internals manual gdbint.texinfo.
* Makefile.in (INFO_DEPS): Remove gdbint.info.
(PDFFILES): Remove gdbint.pdf.
(HTMLFILES): Remove gdbint/index.html.
(HTMLFILES_INSTALL): Remove gdbint.
(GDBINT_DOC_FILES): Remove.
(dvi): Remove gdbint.dvi.
(ps): Remove gdbint.ps.
* gdbint.texinfo: Remove file.
* gdb.texinfo (Maintenance Commands): Remove reference to gdbint.
Sergio Durigan Junior [Mon, 16 Sep 2013 17:47:30 +0000 (17:47 +0000)]
Based on the discussion at:
<https://sourceware.org/ml/gdb-patches/2013-09/msg00301.html>
<https://sourceware.org/ml/gdb-patches/2013-09/msg00383.html>
This patch adds a new convenience function called $_isvoid, whose
only purpose is to check whether an expression is void or not.
This became necessary because the new convenience variable
$_exitsignal (not yet approved) has a mutual exclusive behavior
with $_exitcode, i.e., when one is "defined" (i.e., non-void),
the other is cleared (i.e., becomes void). Doug wanted a way to
identify which variable to use, and checking for voidness is the
obvious solution.
It is worth mentioning that my first attempt, after a conversation with
Doug, was to actually implement a new $_isdefined() convenience
function. I would do that (for convenience variables) by calling
lookup_only_internalvar. However, I found a few problems:
- Whenever I called $_isdefined ($variable), $variable became defined
(with a void value), and $_isdefined always returned true.
- Then, I tried to implement $_isdefined ("variable"), and do the "$" +
"variable" inside GDB, thus making it impossible for GDB to create the
convenience variable. However, it was hard to extract the string
without having to mess with values and their idiossincrasies.
Therefore, I decided to abandon this attempt (specially because I
didn't want to spend too much time struggling with it).
Anyway, after talking to Doug again we decided that it would be easier
to implement $_isvoid, and this will probably help in cases like
<http://stackoverflow.com/questions/
3744554/testing-if-a-gdb-convenience-variable-is-defined>.
I wrote a NEWS entry for it, and some new lines on the documentation.
gdb/
2013-09-16 Sergio Durigan Junior <sergiodj@redhat.com>
* NEWS: Mention new convenience function $_isvoid.
* value.c (isvoid_internal_fn): New function.
(_initialize_values): Add new convenience function $_isvoid.
gdb/doc/
2013-09-16 Sergio Durigan Junior <sergiodj@redhat.com>
* gdb.texinfo (Convenience Functions): Mention new convenience
function $_isvoid.
gdb/testsuite/
2013-09-16 Sergio Durigan Junior <sergiodj@redhat.com>
* gdb.base/gdbvars.c (foo_void): New function.
(foo_int): Likewise.
* gdb.base/gdbvars.exp (test_convenience_functions): New
function. Call it.
Will Newton [Mon, 16 Sep 2013 14:22:19 +0000 (14:22 +0000)]
gdbserver, aarch64: Zero out regs in aarch64_linux_set_debug_regs.
Apply the same fix that was applied to aarch64-linux-nat.c.
2013-09-16 Will Newton <will.newton@linaro.org>
* linux-aarch64-low.c (aarch64_linux_set_debug_regs): Zero
out regs.
Pierre Muller [Mon, 16 Sep 2013 11:28:53 +0000 (11:28 +0000)]
* arm-linux-tdep.c: Add "elf/common.h" header.
Remove AT_HWCAP macro definintion as it is provided in
added include file.
* s390-tdep.c: Remove system header <elf.h>
Add "elf/common.h" header for AT_HWCAP definition.
(s390_core_read_description): Use correct CORE_ADDR
for hwcap local variable used as third parameter
of function target_auxv_search.
Will Newton [Mon, 16 Sep 2013 09:34:30 +0000 (09:34 +0000)]
gas/config/tc-arm.c: Fix parsing of NEON load/store element sizes.
The existing code would accept VLD2.64 and similar undefined
instructions.
gas/ChangeLog:
2013-09-16 Will Newton <will.newton@linaro.org>
* config/tc-arm.c (do_neon_ld_st_interleave): Add constraint
disallowing element size 64 with interleave other than 1.
gas/testsuite/ChangeLog:
2013-09-16 Will Newton <will.newton@linaro.org>
* gas/arm/neon-ldst-es.d: Add VLD1.64 instructions.
* gas/arm/neon-ldst-es.s: Likewise.
* testsuite/gas/arm/neon-ldst-es-bad.d: New file.
* testsuite/gas/arm/neon-ldst-es-bad.l: Likewise.
* testsuite/gas/arm/neon-ldst-es-bad.s: Likewise.
Alan Modra [Mon, 16 Sep 2013 00:00:04 +0000 (00:00 +0000)]
daily update
Alan Modra [Sun, 15 Sep 2013 00:00:04 +0000 (00:00 +0000)]
daily update
Pierre Muller [Sat, 14 Sep 2013 06:26:35 +0000 (06:26 +0000)]
* common/filestuff.c (gdb_fopen_cloexec): Do not try to use "e"
mode if operating system doesn't know O_CLOEXEC.
Alan Modra [Sat, 14 Sep 2013 00:00:04 +0000 (00:00 +0000)]
daily update
Jan Kratochvil [Fri, 13 Sep 2013 14:21:03 +0000 (14:21 +0000)]
Code cleanup: Move variable.
gdb/
2013-09-13 Jan Kratochvil <jan.kratochvil@redhat.com>
Code cleanup.
* symfile.c (reread_symbols): Move variable obfd_filename to a more
inner block.
Ulrich Weigand [Fri, 13 Sep 2013 14:17:31 +0000 (14:17 +0000)]
gdb/ChangeLog:
2013-09-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
* NEWS: Mention TDB support.
* features/s390-tdb.xml: New file.
* features/s390-te-linux64.xml: New file.
* features/s390x-te-linux64.xml: New file.
* features/Makefile (WHICH): Add new tdescs above.
(s390-te-linux64-expedite): Set.
(s390x-te-linux64-expedite): Set.
* features/s390-te-linux64.c: New file (generated).
* features/s390x-te-linux64.c: New file (generated).
* regformats/s390-te-linux64.dat: New file (generated).
* regformats/s390x-te-linux64.dat: New file (generated).
* s390-tdep.h (HWCAP_S390_HIGH_GPRS): Define.
(HWCAP_S390_TE): Likewise.
(S390_TDB_DWORD0_REGNUM): Likewise.
(S390_TDB_DWORD0_REGNUM): Likewise.
(S390_TDB_ABORT_CODE_REGNUM): Likewise.
(S390_TDB_CONFLICT_TOKEN_REGNUM): Likewise.
(S390_TDB_ATIA_REGNUM): Likewise.
(S390_TDB_R0_REGNUM): Likewise.
(S390_TDB_R1_REGNUM): Likewise.
(S390_TDB_R2_REGNUM): Likewise.
(S390_TDB_R3_REGNUM): Likewise.
(S390_TDB_R4_REGNUM): Likewise.
(S390_TDB_R5_REGNUM): Likewise.
(S390_TDB_R6_REGNUM): Likewise.
(S390_TDB_R7_REGNUM): Likewise.
(S390_TDB_R8_REGNUM): Likewise.
(S390_TDB_R9_REGNUM): Likewise.
(S390_TDB_R10_REGNUM): Likewise.
(S390_TDB_R11_REGNUM): Likewise.
(S390_TDB_R12_REGNUM): Likewise.
(S390_TDB_R13_REGNUM): Likewise.
(S390_TDB_R14_REGNUM): Likewise.
(S390_TDB_R15_REGNUM): Likewise.
(S390_NUM_REGS): Increase.
(S390_IS_TDBREGSET_REGNUM): New macro.
(s390_regmap_tdb): Declare.
(s390_sizeof_tdbregset): Define.
(tdesc_s390_te_linux64): Declare.
(tdesc_s390x_te_linux64): Likewise.
* s390-tdep.c: Add includes for "auxv.h", <elf.h>,
"features/s390-te-linux64.c", and "features/s390x-te-linux64.c".
(s390_regmap_tdb): New regmap.
(s390_supply_tdb_regset): New function.
(s390_tdb_regset): New regset.
(s390_linux64v2_regset_sections): Add TDB regset to list.
(s390x_linux64v2_regset_sections): Likewise.
(s390_regset_from_core_section): Recognize TDB core note section.
(s390_core_read_description): If HWCAP indicates TE support,
select tdesc_s390_te_linux64 or tdesc_s390_s390x_te_linux64.
(s390_gdbarch_init): Handle TDB regset.
(_initialize_s390_tdep): Initialize new tdescs.
* s390-nat.c (HWCAP_S390_HIGH_GPRS): Remove define.
(have_regset_tdb): New variable.
(s390_native_supply): Support register invalidation.
(fetch_regset): Invalidate registers if ptrace yields ENODATA.
(check_regset): Treat ENODATA as "regset exists".
(s390_linux_fetch_inferior_registers): Add TDB.
(s390_read_description): Check for TDB existence and select
appropriate tdesc.
* gdbserver/Makefile.in (clean): Add removal of new makefile
targets.
(s390-te-linux64.c): New makefile target.
(s390x-te-linux64.c): Likewise.
* gdbserver/configure.srv (srv_regobj): Append new objects
s390-te-linux64.o and s390x-te-linux64.o.
(srv_xmlfiles): Append new files s390-te-linux64.xml,
s390x-te-linux64.xml, and s390-tdb.xml.
* gdbserver/linux-s390-low.c (init_registers_s390_te_linux64): New
declaration.
(tdesc_s390_te_linux64): Likewise.
(init_registers_s390x_te_linux64): Likewise.
(tdesc_s390x_te_linux64): Likewise.
(s390_check_regset): Treat ENODATA as "regset exists".
(s390_arch_setup): Add TDB regset support.
(initialize_low_arch): Initialize registers for new tdescs.
gdb/doc/ChangeLog:
2013-09-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
* gdb.texinfo (Decimal Floating Point format): Mention S/390.
(Standard Target Features): Add new node to menu.
(S/390 and System z Features): New node.
gdb/testsuite/ChangeLog:
2013-09-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
* gdb.arch/s390-tdbregs.c: New file.
* gdb.arch/s390-tdbregs.exp: New file.
Ulrich Weigand [Fri, 13 Sep 2013 14:11:15 +0000 (14:11 +0000)]
2013-09-13 Andreas Arnez <arnez@linux.vnet.ibm.com>
* s390-tdep.h (S390_IS_GREGSET_REGNUM): New macro.
(S390_IS_FPREGSET_REGNUM): New macro.
* s390-tdep.c (s390_dwarf_regmap): Make const.
(regnum_is_gpr_full): New function for replacing repeated code.
(s390_pseudo_register_name): Use it.
(s390_pseudo_register_type): Likewise.
(s390_pseudo_register_read): Likewise.
(s390_pseudo_register_write): Likewise.
(s390_unwind_pseudo_register): Likewise.
(s390_regmap_gregset): New format for regmap.
(s390x_regmap_gregset): Likewise.
(s390_regmap_fpregset): Likewise.
(s390_regmap_upper): Likewise.
(s390_regmap_last_break): Likewise.
(s390_regmap_system_call): Likewise.
(s390_supply_regset): Adjust to new regmap format.
(s390_collect_regset): Likewise.
* s390-nat.c (s390_native_supply): Adjust to new regmap format.
(s390_native_collect): Likewise.
(supply_gregset): Likewise.
(fill_gregset): Likewise.
(supply_fpregset): Likewise.
(fill_fpregset): Likewise.
(fetch_regset): Likewise.
(store_regset): Likewise.
(s390_linux_fetch_inferior_registers): Likewise.
(s390_linux_fetch_inferior_registers): Likewise.
Sanimir Agovic [Fri, 13 Sep 2013 08:04:02 +0000 (08:04 +0000)]
doc,mi: example refers to -list-features instead of -list-target-features
Corrected mi documentation about -list-target-features, example now uses the
correct mi command.
2013-09-13 Sanimir Agovic <sanimir.agovic@intel.com>
* gdb.texinfo (GDB/MI Miscellaneous Commands): Use
-list-target-features in the example.
Alan Modra [Fri, 13 Sep 2013 00:00:04 +0000 (00:00 +0000)]
daily update
Stan Shebs [Thu, 12 Sep 2013 22:51:16 +0000 (22:51 +0000)]
* README: New file.
Doug Evans [Thu, 12 Sep 2013 22:39:26 +0000 (22:39 +0000)]
* gdb.python/py-events.py (new_objfile_handler): Remove accidentally
added code to print event.inferior.
Chao-ying Fu [Thu, 12 Sep 2013 21:45:04 +0000 (21:45 +0000)]
2013-09-12 Chao-ying Fu <Chao-ying.Fu@imgtec.com>
* gas/mips/bltzal.s: New file.
* gas/mips/bltzal.l: New file.
* gas/mips/mips.exp: Run the bltzal test.
Chao-ying Fu [Thu, 12 Sep 2013 21:41:09 +0000 (21:41 +0000)]
2013-09-12 Chao-ying Fu <Chao-ying.Fu@imgtec.com>
* config/tc-mips.c (match_insn): Set error when $31 is used for
bltzal* and bgezal*.
DJ Delorie [Thu, 12 Sep 2013 16:08:09 +0000 (16:08 +0000)]
merge from gcc
Nick Clifton [Thu, 12 Sep 2013 09:14:47 +0000 (09:14 +0000)]
* dwarf.c (dwarf_vmatoa): Rename to dwarf_vmatoa_1 and add a
precision parameter.
(dwarf_vmatoa): New wrapper for dwarf_vmatoa_1.
(print_dwarf_vma): Use dwarf_vmatoa_1.
(SAFE_BYTE_GET): Add check that VAL is big enough to contain
AMOUNT bytes.
(process_debug_info): Use an unsigned int for the offset size.
(process_debug_pubnames): Likewise.
(display_debug_aranges): Likewise.
(struct Frame_Chunk): Use dwarf_vma type for pc_begin and pc_range
fields.
(frame_display_row): Use print_dwarf_vma to display dwarf_vma
values.
(display_debug_frames): Likewise.
* binutils-all/x86-64/compressed-1a.d: Update expected output to
allow for 64-bit addresses.
* ld-elf/eh1.d: Update expected output to allow for
64-bit addresses.
* ld-elf/eh2.d: Likewise.
* ld-elf/eh3.d: Likewise.
* ld-elf/eh4.d: Likewise.
* ld-elf/eh5.d: Likewise.
* ld-elf/eh6.d: Likewise.
* ld-mips-elf/eh-frame1-n64.d: Likewise.
* ld-mips-elf/eh-frame2-n64.d: Likewise.
* ld-mips-elf/eh-frame3.d: Likewise.
* gas/cfi/cfi-alpha-1.d: Update expected output to allow for
64-bit addresses.
* gas/cfi/cfi-alpha-3.d: Likewise.
* gas/cfi/cfi-arm-1.d: Likewise.
* gas/cfi/cfi-common-1.d: Likewise.
* gas/cfi/cfi-common-2.d: Likewise.
* gas/cfi/cfi-common-3.d: Likewise.
* gas/cfi/cfi-common-4.d: Likewise.
* gas/cfi/cfi-common-5.d: Likewise.
* gas/cfi/cfi-common-6.d: Likewise.
* gas/cfi/cfi-common-7.d: Likewise.
* gas/cfi/cfi-hppa-1.d: Likewise.
* gas/cfi/cfi-i386-2.d: Likewise.
* gas/cfi/cfi-i386.d: Likewise.
* gas/cfi/cfi-m68k.d: Likewise.
* gas/cfi/cfi-mips-1.d: Likewise.
* gas/cfi/cfi-ppc-1.d: Likewise.
* gas/cfi/cfi-s390-1.d: Likewise.
* gas/cfi/cfi-s390x-1.d: Likewise.
* gas/cfi/cfi-sh-1.d: Likewise.
* gas/cfi/cfi-sparc-1.d: Likewise.
* gas/cfi/cfi-sparc64-1.d: Likewise.
* gas/cfi/cfi-x86_64.d: Likewise.
Andrew Pinski [Thu, 12 Sep 2013 07:14:37 +0000 (07:14 +0000)]
2013-09-12 Andrew Pinski <apinski@cavium.com>
* aarch64-linux-nat.c (aarch64_linux_set_debug_regs): Zero out regs.
Alan Modra [Thu, 12 Sep 2013 00:00:04 +0000 (00:00 +0000)]
daily update
Jan Kratochvil [Wed, 11 Sep 2013 08:31:44 +0000 (08:31 +0000)]
minidebuginfo: Fix stripping/debuginfo
gdb/doc/
2013-09-11 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.texinfo (MiniDebugInfo): Prepare file debug and use it to create
mini_debuginfo. Strip binary before adding mini_debuginfo to it.
gdb/testsuite/
2013-09-11 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.base/gnu-debugdata.exp (objcopy 1): Move it lower and use only
debug part of the binary.
Jan Kratochvil [Wed, 11 Sep 2013 08:29:46 +0000 (08:29 +0000)]
minidebuginfo: ppc64 sync testcase->doc
gdb/doc/
2013-09-11 Jan Kratochvil <jan.kratochvil@redhat.com>
Sync documentation with gdb.base/gnu-debugdata.exp.
* gdb.texinfo (MiniDebugInfo): Add comment and "D" in the example.
Jan Kratochvil [Wed, 11 Sep 2013 08:28:04 +0000 (08:28 +0000)]
minidebuginfo: Obvious changes
gdb/doc/
2013-09-11 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.texinfo (MiniDebugInfo): Fix two trailing dots.
gdb/testsuite/
2013-09-11 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.base/gnu-debugdata.exp (strip): Add -R .comment.
(addlink): Add comment.
Alan Modra [Wed, 11 Sep 2013 00:00:04 +0000 (00:00 +0000)]
daily update
DJ Delorie [Tue, 10 Sep 2013 19:01:22 +0000 (19:01 +0000)]
merge from gcc
Nick Clifton [Tue, 10 Sep 2013 16:19:08 +0000 (16:19 +0000)]
* dwarf.c (display_debug_frames): Check for DW64_CIE_ID when
parsing 64-bit frames.
DJ Delorie [Tue, 10 Sep 2013 16:05:02 +0000 (16:05 +0000)]
merge from gcc
Ulrich Weigand [Tue, 10 Sep 2013 15:05:23 +0000 (15:05 +0000)]
2013-09-10 Andreas Arnez <arnez@linux.vnet.ibm.com>
* config/s390/s390.mh (NATDEPFILES): Add linux-waitpid.o.
Sanimir Agovic [Tue, 10 Sep 2013 07:32:25 +0000 (07:32 +0000)]
test: adjust 'cd' regexpr to match an optional canonically pathname
New regexpr now correctly deals with trailing canonical pathname.
Before only the following output was matched:
(gdb) cd
Working directory /users/foo
In addition it now matches an optional trailing canonical pathname:
(gdb) cd
Working directory /users/foo
(canonically /nfs/users/foo).
Triggered by `realpath .` != `pwd`
2013-09-10 Sanimir Agovic <sanimir.agovic@intel.com>
testsuite/
* gdb.base/default.exp: Adjust regexpr for 'cd' to match optional
canonical pathname.
Alan Modra [Tue, 10 Sep 2013 00:00:04 +0000 (00:00 +0000)]
daily update
Andrew Burgess [Mon, 9 Sep 2013 12:13:58 +0000 (12:13 +0000)]
Remove use of deprecated_init_ui_hook from quit_confirm.
https://sourceware.org/ml/gdb-patches/2013-09/msg00224.html
gdb/ChangeLog
* top.c (quit_confirm): Remove use of deprecated_init_ui_hook.
Alan Modra [Mon, 9 Sep 2013 00:00:04 +0000 (00:00 +0000)]
daily update
Alan Modra [Sun, 8 Sep 2013 00:00:04 +0000 (00:00 +0000)]
daily update
Alan Modra [Sat, 7 Sep 2013 00:00:04 +0000 (00:00 +0000)]
daily update
Pedro Alves [Fri, 6 Sep 2013 18:29:42 +0000 (18:29 +0000)]
remote-sim.c: Send debug output to gdb_stdlog.
Tested by building for --target=arm-eabi, and playing with the debug
output a bit.
gdb/
2013-09-06 Pedro Alves <palves@redhat.com>
* remote-sim.c (dump_mem, gdbsim_fetch_register)
(gdbsim_store_register, gdbsim_kill, gdbsim_load)
(gdbsim_create_inferior, gdbsim_open, gdbsim_close)
(gdbsim_detach, gdbsim_resume_inferior, gdbsim_wait)
(gdbsim_files_info, gdbsim_mourn_inferior): Send debug output to
gdb_stdlog.
Pedro Alves [Fri, 6 Sep 2013 18:10:39 +0000 (18:10 +0000)]
remote-sim.c: Don't install a deprecated_xfer_memory method.
Manually tested with a --target=arm-eabi build, and doing things like:
$ arm-eabi-gcc ~/gdb/tests/main.c -o a.out -c -g
$ ./gdb a.out
...
(gdb) tar sim
(gdb) load
(gdb) disassemble 0
Dump of assembler code for function main:
0x00000000 <+0>: mov r12, sp
0x00000004 <+4>: push {r11, r12, lr, pc}
0x00000008 <+8>: sub r11, r12, #4
0x0000000c <+12>: sub sp, sp, #8
0x00000010 <+16>: str r0, [r11, #-16]
0x00000014 <+20>: str r1, [r11, #-20]
0x00000018 <+24>: mov r3, #0
0x0000001c <+28>: mov r0, r3
0x00000020 <+32>: sub sp, r11, #12
0x00000024 <+36>: ldm sp, {r11, sp, pc}
End of assembler dump.
(gdb) p *0 = 1
0x00000001
gdb/
2013-09-06 Pedro Alves <palves@redhat.com>
* remote-sim.c (dump_mem): Constify buf parameter.
gdbsim_xfer_inferior_memory): Rename to ...
(gdbsim_xfer_memory): ... this. Adjust interface as
target_xfer_partial helper.
(gdbsim_xfer_partial): New function.
(init_gdbsim_ops): Don't install a deprecated_xfer_memory hook.
Install a to_xfer_partial hook. Send output to gdb_stdlog.
Pedro Alves [Fri, 6 Sep 2013 17:41:50 +0000 (17:41 +0000)]
remote-sim.c: cleanup debug output code.
Manually tested with a --target=arm-eabi build, and doing
$ arm-eabi-gcc ~/gdb/tests/main.c -o a.out -c -g
$ ./gdb a.out
...
(gdb) tar sim
(gdb) load
(gdb) set debug remote 1
(gdb) disassemble 0
Dump of assembler code for function main:
gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x0, len 4, write 0
0x00000000 <+0>: 0xe1a0c00d
mov r12, sp
gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x4, len 4, write 0
0x00000004 <+4>: 0xe92dd800
push {r11, r12, lr, pc}
gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x8, len 4, write 0
0x00000008 <+8>: 0xe24cb004
sub r11, r12, #4
gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0xc, len 4, write 0
0x0000000c <+12>: 0xe24dd008
sub sp, sp, #8
gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x10, len 4, write 0
0x00000010 <+16>: 0xe50b0010
str r0, [r11, #-16]
gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x14, len 4, write 0
0x00000014 <+20>: 0xe50b1014
str r1, [r11, #-20]
gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x18, len 4, write 0
0x00000018 <+24>: 0xe3a03000
mov r3, #0
gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x1c, len 4, write 0
0x0000001c <+28>: 0xe1a00003
mov r0, r3
gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x20, len 4, write 0
0x00000020 <+32>: 0xe24bd00c
sub sp, r11, #12
gdbsim_xfer_inferior_memory: myaddr 0x7fffffffd400, memaddr 0x24, len 4, write 0
0x00000024 <+36>: 0xe89da800
ldm sp, {r11, sp, pc}
End of assembler dump.
(gdb) p *0 = 1
gdbsim_xfer_inferior_memory: myaddr 0xc69bc0, memaddr 0x0, len 4, write 1
0x00000001
$1 = 1
Which happens to differ from before, I think due to stdout line buffering:
(gdb) disassemble 0
Dump of assembler code for function main:
0x00000000 <+0>: gdbsim_xfer_inferior_memory: myaddr 0x0x7fffffffd400, memaddr 0x0, len 4, write 0
0xe1a0c00d
But the new output looks reasonable to me, better even.
gdb/
2013-09-06 Pedro Alves <palves@redhat.com>
* remote-sim.c (gdbsim_xfer_inferior_memory): Use
host_address_to_string, and send debug output to gdb_stdlog.
Pedro Alves [Fri, 6 Sep 2013 12:04:56 +0000 (12:04 +0000)]
[gdbserver] Garbage collect unused dependency-tracking Makefile variables.
These used to be necessary for manual rule dependency tracking.
Nothing uses them anymore. (regdat_sh is still needed.)
gdb/gdbserver/
2013-09-06 Pedro Alves <palves@redhat.com>
* Makefile.in (gdb_proc_service_h, regdef_h, regcache_h)
(signals_def, signals_h, ptid_h, ax_h, agent_h, linux_btrace_h)
(linux_osdata_h, vec_h, gdb_vecs_h, host_defs_h, libiberty_h)
(server_h, gdbthread_h, linux_low_h, linux_ptrace_h)
(gdb_thread_db_h, linux_procfs_h, lynx_low_h, nto_low_h)
(mips_linux_watch_h, i386_low_h, win32_low_h): Delete.
Pedro Alves [Fri, 6 Sep 2013 11:54:07 +0000 (11:54 +0000)]
[gdbserver] Update a couple Makefile rules.
These two are still written in the pre-auto-dependency-tracking style.
They probably were written before that, and committed afterwards
without adjustment. An easy oversight to make.
gdb/gdbserver/
2013-09-06 Pedro Alves <palves@redhat.com>
* Makefile.in (linux-btrace.o, mips-linux-watch.o): Remove
explicit header dependencies and use $COMPILE/$POSTCOMPILE.
Pedro Alves [Fri, 6 Sep 2013 10:58:11 +0000 (10:58 +0000)]
[gdbserver] Fix IPA build.
Somehow, my builds yesterdays didn't trip on this...
../src/gdb/gdbserver/linux-amd64-ipa.c: In function ‘initialize_low_tracepoint’:
../src/gdb/gdbserver/linux-amd64-ipa.c:172:3: error: ‘ipa_tdesc’ undeclared (first use in this function)
../src/gdb/gdbserver/linux-amd64-ipa.c:172:3: note: each undeclared identifier is reported only once for each function it appears in
gdb/gdbserver/
2013-09-06 Pedro Alves <palves@redhat.com>
* linux-amd64-ipa.c: Include tracepoint.h.
* linux-i386-ipa.c: Include tracepoint.h.
Ricard Wanderlof [Fri, 6 Sep 2013 10:50:10 +0000 (10:50 +0000)]
Extract Linux-specific portitions of cris-tdep.c to a new file.
This brings in some standard functionality hitherdo missing from
the CRIS/CRISv32 port thanks to the new call to gdbarch_init_osabi,
as well as clearly showing that there is Linux support for this
platform by virtue of the existence of a cris-linux-tdep.c file.
2013-09-06 Ricard Wanderlof <ricardw@axis.com>
* Makefile.in (ALL_TARGET_OBS): Add cris-linux-tdep.o.
* configure.tgt: Add cris-linux-tdep.o and linux-tdep.o to
gdb_target_obs for cris target.
* cris-tdep.c (struct gdbarch_tdep): Move to cris-tdep.h.
(cris_gdbarch_init): Move calls to
set_gdbarch_fetch_tls_load_module_address and
set_solib_svr4_fetch_link_map_offsets to cris-linux-tdep.c.
Add call to gdbarch_init_osabi.
* cris-linux-tdep.c: New file.
* cris-tdep.h: New file.
Andrew Burgess [Fri, 6 Sep 2013 10:12:20 +0000 (10:12 +0000)]
OBVIOUS: Remove legacy comment referring to deprecated_init_ui_hook.
gdb/ChangeLog
* tui/tui-io.c (tui_initialize_io): Remove legacy comment referring
to deprecated_init_ui_hook.
Andrew Burgess [Fri, 6 Sep 2013 08:53:09 +0000 (08:53 +0000)]
Give every interpreter a command_loop_proc.
https://sourceware.org/ml/gdb-patches/2013-09/msg00179.html
gdb/ChangeLog
* cli/cli-interp.c (_initialize_cli_interp): Add a
command_loop_proc to interp_procs.
* event-top.c (cli_command_loop): Change signature to match
interp_command_loop_ftype.
* event-top.h (cli_command_loop): Same.
* interps.c (interp_new): Require every interpreter to have a
command_loop_proc.
(current_interp_command_loop): Just call the command_loop_proc on
the current interpreter.
* tui/tui-interp.c (_initialize_tui_interp): Add a
command_loop_proc to interp_procs.
Ricard Wanderlof [Fri, 6 Sep 2013 08:37:17 +0000 (08:37 +0000)]
Add support for threaded debugging for CRISv32.
2013-09-06 Ricard Wanderlof <ricardw@axis.com>
* cris-tdep.c (cris_gdbarch_init): Add call to
get_gdbarch_fetch_tls_load_module_address.
gdbserver
* linux-crisv32-low.c (PTRACE_GET_THREAD_AREA): New macro.
(ps_get_thread_area): New function.
Andrew Burgess [Fri, 6 Sep 2013 08:25:25 +0000 (08:25 +0000)]
Fix filename format in previous ChangeLog entry.
I used the wrong format for the filenames in a previous changelog entry, I
incorrectly included the "gdb/" prefix.
Ricard Wanderlof [Fri, 6 Sep 2013 08:23:46 +0000 (08:23 +0000)]
Cosmetic clean up of names of *elf_greg_t types for CRIS/CRISv32.
2013-09-06 Ricard Wanderlof <ricardw@axis.com>
* cris-tdep.c (cris_elf_greg_t): Rename from elf_greg_t.
(cris_elf_gregset_t): Rename from elf_gregset_t.
(crisv32_elf_gregset_t): Adjust.
(cris_supply_gregset, fetch_core_registers): Adjust.
Ricard Wanderlof [Fri, 6 Sep 2013 08:14:33 +0000 (08:14 +0000)]
Trivial patch to remove dependency on host unsigned long type
from cris-tdep.c.
2013-09-06 Ricard Wanderlof <ricardw@axis.com>
* cris-tdep.c (elf_greg_t): Change typedef to unsigned char[4]
Ricard Wanderlof [Fri, 6 Sep 2013 08:04:19 +0000 (08:04 +0000)]
Fix compilation for target gdbserver on CRISv32 platform.
One misspelled function call, and one superfluous typedef. The latter
causes an error of the following type when building:
linux-crisv32-low.c:372: error: conflicting types for 'elf_gregset_t'
/.../target/include/asm/elf.h:36:
error: previous declaration of 'elf_gregset_t' was here
2013-09-06 Ricard Wanderlof <ricardw@axis.com>
* linux-crisv32-low.c (elf_gregset_t): Delete typedef.
(initialize_low_arch): Call init_registers_crisv32 rather than
init_register_crisv32.
Alan Modra [Fri, 6 Sep 2013 00:00:04 +0000 (00:00 +0000)]
daily update
Pedro Alves [Thu, 5 Sep 2013 22:18:48 +0000 (22:18 +0000)]
Add missing new files from these previous commits:
2013-09-05 Pedro Alves <palves@redhat.com>
* server.h (handle_vFile, hostio_last_error_from_errno): Move
to ...
* hostio.h: ... this new file.
* hostio.c, server.c, linux-low.c, nto-low.c, spu-low,
win32-low.c: Include hostio.h.
2013-09-05 Pedro Alves <palves@redhat.com>
* server.h (gdb_client_data, handler_func, callback_handler_func)
(delete_file_handler, add_file_handler, append_callback_event)
(delete_callback_event, start_event_loop, initialize_event_loop):
Move to event-loop.h and include it.
* event-loop.h: New file.
2013-09-05 Pedro Alves <palves@redhat.com>
* dll.c, inferiors.c, remote-utils.c, server.c: Include "dll.h".
* server.h (struct dll_info, all_dlls, dlls_changed, clear_dlls)
(loaded_dll, unloaded_dll): Move to ...
* dll.h: ... this new file.
* inferiors.c, remote-utils.c, win32-low.c: Include "dll.h".
2013-09-05 Pedro Alves <palves@redhat.com>
* server.h (current_process, get_thread_process, all_processes)
(add_inferior_to_list, for_each_inferior, current_inferior)
(remove_inferior, add_process, remove_process, find_process_pid)
(have_started_inferiors_p, have_attached_inferiors_p)
(thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id)
(clear_inferiors, find_inferior, find_inferior_id)
(inferior_target_data, set_inferior_target_data)
(inferior_regcache_data, set_inferior_regcache_data): Move to
inferiors.h, and include it.
* inferiors.h: New file.
2013-09-05 Pedro Alves <palves@redhat.com>
* ax.c, linux-low.c, linux-x86-low.c, server.c: Include
tracepoint.h.
* server.h (IPA_BUFSIZ, initialize_tracepoint, tracing)
(disconnected_tracing, tracepoint_look_up_symbols, stop_tracing
(handle_tracepoint_general_set, handle_tracepoint_query)
(tracepoint_finished_step, tracepoint_was_hit)
(release_while_stepping_state_list, current_traceframe)
(in_readonly_region, traceframe_read_mem)
(fetch_traceframe_registers, traceframe_read_sdata)
(traceframe_read_info, struct fast_tpoint_collect_status)
(fast_tracepoint_collecting, force_unlock_trace_buffer)
(handle_tracepoit_bkpts, initialize_low_tracepoint)
(supply_fast_tracepoint_registers)
(supply_static_tracepoint_registers, set_trampoline_buffer_space)
(ipa_tdesc, claim_trampoline_space)
(have_fast_tracepoint_trampoline_buffer, gdb_agent_about_to_close)
(agent_mem_read, agent_get_trace_state_variable_value)
(agent_set_trace_state_variable_value, agent_tsv_read)
(agent_mem_read_string, get_raw_reg_func_addr)
(get_get_tsv_func_addr, get_set_tsv_func_addr): Move to ...
* tracepoint.h: ... this new file.
2013-09-05 Pedro Alves <palves@redhat.com>
* server.h (perror_with_name, error, fatal, warning, paddress)
(pulongest, plongest, phex_nz, pfildes): Move to utils.h, and
include it.
* utils.h: New file.
2013-09-05 Pedro Alves <palves@redhat.com>
* server.h (remote_debug, noack_mode, transport_is_reliable)
(gdb_connected, STDIO_CONNECTION_NAME, remote_connection_is_stdio)
(read_ptid, write_ptid, putpkt, putpkt_binary, putpkt_notif)
(getpkt, remote_prepare, remote_open, remote_close, write_ok)
(write_enn, initialize_async_io, enable_async_io)
(disable_async_io, check_remote_input_interrupt_request)
(convert_ascii_to_int, convert_int_to_ascii, new_thread_notify)
(dead_thread_notify, prepare_resume_reply)
(decode_address_to_semicolon, decode_address, decode_m_packet)
(decode_M_packet, decode_X_packet, decode_xfer_write)
(decode_search_memory_packet, unhexify, hexify)
(remote_escape_output, unpack_varlen_hex, clear_symbol_cache)
(look_up_one_symbol, relocate_instruction)
(monitor_output): Move to remote-utils.h, and include it.
* remote-utils.h: New file.
Pedro Alves [Thu, 5 Sep 2013 20:45:39 +0000 (20:45 +0000)]
[gdbserver] Split a new hostio.h file out of server.h.
gdb/gdbserver/
2013-09-05 Pedro Alves <palves@redhat.com>
* server.h (handle_vFile, hostio_last_error_from_errno): Move
to ...
* hostio.h: ... this new file.
* hostio.c, server.c, linux-low.c, nto-low.c, spu-low,
win32-low.c: Include hostio.h.
Pedro Alves [Thu, 5 Sep 2013 20:42:52 +0000 (20:42 +0000)]
[gdbserver] Split a new event-loop.h file out of server.h.
gdb/gdbserver/
2013-09-05 Pedro Alves <palves@redhat.com>
* server.h (gdb_client_data, handler_func, callback_handler_func)
(delete_file_handler, add_file_handler, append_callback_event)
(delete_callback_event, start_event_loop, initialize_event_loop):
Move to event-loop.h and include it.
* event-loop.h: New file.
Pedro Alves [Thu, 5 Sep 2013 20:41:55 +0000 (20:41 +0000)]
[gdbserver] Split a new dll.h file out of server.h.
gdb/gdbserver/
2013-09-05 Pedro Alves <palves@redhat.com>
* dll.c, inferiors.c, remote-utils.c, server.c: Include "dll.h".
* server.h (struct dll_info, all_dlls, dlls_changed, clear_dlls)
(loaded_dll, unloaded_dll): Move to ...
* dll.h: ... this new file.
* inferiors.c, remote-utils.c, win32-low.c: Include "dll.h".
Pedro Alves [Thu, 5 Sep 2013 20:41:22 +0000 (20:41 +0000)]
[gdbserver] Split a new inferiors.h file out of server.h.
gdb/gdbserver/
2013-09-05 Pedro Alves <palves@redhat.com>
* server.h (current_process, get_thread_process, all_processes)
(add_inferior_to_list, for_each_inferior, current_inferior)
(remove_inferior, add_process, remove_process, find_process_pid)
(have_started_inferiors_p, have_attached_inferiors_p)
(thread_id_to_gdb_id, thread_to_gdb_id, gdb_id_to_thread_id)
(clear_inferiors, find_inferior, find_inferior_id)
(inferior_target_data, set_inferior_target_data)
(inferior_regcache_data, set_inferior_regcache_data): Move to
inferiors.h, and include it.
* inferiors.h: New file.
Pedro Alves [Thu, 5 Sep 2013 20:40:58 +0000 (20:40 +0000)]
[gdbserver] Move bytecode compilation bits from server.h to ax.h.
gdb/gdbserver/
2013-09-05 Pedro Alves <palves@redhat.com>
* server.h (struct emit_ops, current_insn_ptr, emit_error):
Move ...
* ax.h: ... here.
Pedro Alves [Thu, 5 Sep 2013 20:40:33 +0000 (20:40 +0000)]
[gdbserver] Split a new tracepoint.h file out of server.h.
gdb/gdbserver/
2013-09-05 Pedro Alves <palves@redhat.com>
* ax.c, linux-low.c, linux-x86-low.c, server.c: Include
tracepoint.h.
* server.h (IPA_BUFSIZ, initialize_tracepoint, tracing)
(disconnected_tracing, tracepoint_look_up_symbols, stop_tracing
(handle_tracepoint_general_set, handle_tracepoint_query)
(tracepoint_finished_step, tracepoint_was_hit)
(release_while_stepping_state_list, current_traceframe)
(in_readonly_region, traceframe_read_mem)
(fetch_traceframe_registers, traceframe_read_sdata)
(traceframe_read_info, struct fast_tpoint_collect_status)
(fast_tracepoint_collecting, force_unlock_trace_buffer)
(handle_tracepoit_bkpts, initialize_low_tracepoint)
(supply_fast_tracepoint_registers)
(supply_static_tracepoint_registers, set_trampoline_buffer_space)
(ipa_tdesc, claim_trampoline_space)
(have_fast_tracepoint_trampoline_buffer, gdb_agent_about_to_close)
(agent_mem_read, agent_get_trace_state_variable_value)
(agent_set_trace_state_variable_value, agent_tsv_read)
(agent_mem_read_string, get_raw_reg_func_addr)
(get_get_tsv_func_addr, get_set_tsv_func_addr): Move to ...
* tracepoint.h: ... this new file.
Pedro Alves [Thu, 5 Sep 2013 20:39:48 +0000 (20:39 +0000)]
[gdbserver] Split a new utils.h file out of server.h.
gdb/gdbserver/
2013-09-05 Pedro Alves <palves@redhat.com>
* server.h (perror_with_name, error, fatal, warning, paddress)
(pulongest, plongest, phex_nz, pfildes): Move to utils.h, and
include it.
* utils.h: New file.
Pedro Alves [Thu, 5 Sep 2013 20:39:17 +0000 (20:39 +0000)]
[gdbserver] Split a new remote-utils.h file out of server.h.
gdb/gdbserver/
2013-09-05 Pedro Alves <palves@redhat.com>
* server.h (remote_debug, noack_mode, transport_is_reliable)
(gdb_connected, STDIO_CONNECTION_NAME, remote_connection_is_stdio)
(read_ptid, write_ptid, putpkt, putpkt_binary, putpkt_notif)
(getpkt, remote_prepare, remote_open, remote_close, write_ok)
(write_enn, initialize_async_io, enable_async_io)
(disable_async_io, check_remote_input_interrupt_request)
(convert_ascii_to_int, convert_int_to_ascii, new_thread_notify)
(dead_thread_notify, prepare_resume_reply)
(decode_address_to_semicolon, decode_address, decode_m_packet)
(decode_M_packet, decode_X_packet, decode_xfer_write)
(decode_search_memory_packet, unhexify, hexify)
(remote_escape_output, unpack_varlen_hex, clear_symbol_cache)
(look_up_one_symbol, relocate_instruction)
(monitor_output): Move to remote-utils.h, and include it.
* remote-utils.h: New file.
Pedro Alves [Thu, 5 Sep 2013 20:38:45 +0000 (20:38 +0000)]
[gdbserver] Delete _ macro (gettext).
server.h nowadays includes gdb_locale.h, which already brings this in.
gdb/gdbserver/
2013-09-05 Pedro Alves <palves@redhat.com>
* server.h (_): Delete.
Andrew Burgess [Thu, 5 Sep 2013 16:46:56 +0000 (16:46 +0000)]
Remove deprecated_command_loop_hook.
https://sourceware.org/ml/gdb-patches/2013-09/msg00174.html
gdb/ChangeLog
* gdb/defs.h (deprecated_command_loop_hook): Remove, including
references in comments.
* gdb/interps.c (current_interp_command_loop): No longer use
deprecated_command_loop_hook.
(clear_interpreter_hooks): Remove deprecated_command_loop_hook
setup.
* gdb/top.c (deprecated_command_loop_hook): Remove.
Pedro Alves [Thu, 5 Sep 2013 14:49:13 +0000 (14:49 +0000)]
dwarf2loc.c: minor cleanup. don't print integer with paddress.
A couple years ago, dwarf_expr_fetch used to return a CORE_ADDR. It
was made to return a ULONGEST since, and the 'dwarf_regnum' local
adjusted accordingly, but, we kept printing it with paddress.
gdbarch_dwarf2_reg_to_regnum takes the register number as 'int', so
there's really no point in using ULONGEST/pulongest either.
gdb/
2013-09-05 Pedro Alves <palves@redhat.com>
* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): 'dwarf_regnum'
local is now int instead of ULONGEST. Print it with %d
instead of paddress.
Tristan Gingold [Thu, 5 Sep 2013 14:15:27 +0000 (14:15 +0000)]
2013-09-05 Tristan Gingold <gingold@adacore.com>
* MAINTAINERS: Remove avr maintainership.
Pedro Alves [Thu, 5 Sep 2013 14:02:16 +0000 (14:02 +0000)]
Rework value_of_register in terms of value_of_register_lazy.
I noticed that value_of_register (used for getting values _of_
registers ($pc, $rax, etc.), rather than variables _in_ registers),
kind of builds a franken-value, by propagating the lval and address of
the frame register value, but not the entire location, like necessary
for lval_computed (if some unwinder ever returns that, the resulting
value will misbehave). This gets in the way of printing optimized out
(not saved) lval_registers differently from other optimized out
values, as it doesn't make sure the resulting value is lval_register.
I started out by just doing something like:
- VALUE_LVAL (reg_val) = lval;
- set_value_address (reg_val, addr);
+ VALUE_LVAL (reg_val) = lval_register;
... just like value_of_register_lazy below. That's sufficient to fix
the issue.
Then I noticed this is using frame_register, which we should avoid
nowadays, for it returns elements of a value, but not all that's
sometimes necessary (unavailable-ness is all or nothing with it, for
instance), and considered using get_frame_register_value instead
(which returns a struct value), and value_contents_copy, just like
value_fetch_lazy's handling of lval_register. But at that point, I
realized we might as well just defer all that work to
value_of_register_lazy/value_fetch_lazy...
Doing it this way adds a frame_find_by_id lookup (from within
value_fetch_lazy), while we already have a frame pointer handy in
value_of_register. I considered factoring out the lazy register
fetching out of value_fetch_lazy, into a function that takes a frame
pointer and call that instead, avoiding the lookup, but then it looked
like too much complication for an early optimization, and went back to
keeping it simple.
Tested on x86_64 Fedora 17.
gdb/
2013-09-05 Pedro Alves <palves@redhat.com>
* findvar.c (value_of_register): Rework in terms of
value_of_register_lazy.
Muhammad Bilal [Thu, 5 Sep 2013 13:13:25 +0000 (13:13 +0000)]
2013-09-05 Muhammad Bilal <mbilal@codesourcery.com>
* symfile.c (add_symbol_file_command): Remove trailing
whitespaces and blank line after comment.
Pedro Alves [Thu, 5 Sep 2013 11:50:48 +0000 (11:50 +0000)]
[TUI] Rewrite register-changed decision bits.
I stumbled on the TUI's register-changed decision code before (used to
decided whether the register should be highlighted in the register
window), for it is trying to compare all the different possible states
and contents or previous/current register contents, and as such may
need updating whenever the value machinery changes to have more state.
It's just much simpler and more future proof to compare the
previous/current printable representation instead.
The bit in tui_register_format that returns early if the register has
no name gets a bit in the way of the new prototype (what to return in
that case? NULL, empty string, etc.?). Fortunately, that check isn't
really necessary. All the callers will have already skipped unnamed
registers.
gdb/
2013-09-05 Pedro Alves <palves@redhat.com>
* tui/tui-regs.c (tui_register_format): Don't look at the
register's name here. Return string representing register
value instead of storing it in the data element.
(tui_get_register): Compare register string representations
instead of register value states and contents.
Pedro Alves [Thu, 5 Sep 2013 11:20:16 +0000 (11:20 +0000)]
[PR tui/15933] TUI shows registers of the wrong frame the first time
I've stumbled on this by inspection.
When the TUI's register window is first displayed, it always shows the
registers of the current frame, instead of of the selected frame,
which is obviously bogus.
E.g.,
(gdb) step # into "function"
(gdb) up
(gdb) tui reg general # or C-x 2, C-x 2
shows the registers of "function", rather than the caller's.
A subsequent:
(gdb) frame
or
(gdb) down
(gdb) up
can be used as workaround to "fix" it.
gdb/
2013-09-05 Pedro Alves <palves@redhat.com>
PR tui/15933
* tui/tui-regs.c (tui_show_registers): Show registers of the
selected frame, not the current frame.
Ricard Wanderlof [Thu, 5 Sep 2013 08:22:15 +0000 (08:22 +0000)]
2013-09-05 Ricard Wanderlof <ricardw@axis.com>
* MAINTAINERS: Add myself to Write After Approval.
Alan Modra [Thu, 5 Sep 2013 00:00:05 +0000 (00:00 +0000)]
daily update
Doug Evans [Wed, 4 Sep 2013 23:49:21 +0000 (23:49 +0000)]
* gdb.python/py-events.py (exit_handler): Verify we get the expected
event.
(continue_handler, new_objfile_handler): Ditto.
(test_events): Rename command to "test-events".
(test_newobj_events): Rename command to "test-objfile-events".
* gdb.python/py-events.exp: Update.
* gdb.python/py-evsignal.exp: Update.
* gdb.python/py-evthreads.exp: Update.
Doug Evans [Wed, 4 Sep 2013 23:05:32 +0000 (23:05 +0000)]
* dwarf2read.c (queue_and_load_all_dwo_tus): New function.
(queue_and_load_dwo_tu): New function.
(lookup_dwo_signatured_type): Set per_cu.tu_read.
(maybe_queue_comp_unit): Rename this_cu argument to dependent_cu.
Make dependent_cu optional.
(dw2_do_instantiate_symtab): If we just loaded a CU from a DWO,
and an older .gdb_index is in use, queue and load all its TUs too.
testsuite/
* gdb.base/enumval.c (ZERO): New enum value.
(main): Use it
* gdb.base/enumval.exp: Test ability to print ZERO.
Jan Kratochvil [Wed, 4 Sep 2013 20:09:39 +0000 (20:09 +0000)]
Code cleanup: Change OPF_DISABLE_REALPATH to OPF_RETURN_REALPATH.
gdb/
2013-09-04 Jan Kratochvil <jan.kratochvil@redhat.com>
Code cleanup: Change OPF_DISABLE_REALPATH to OPF_RETURN_REALPATH.
* cli/cli-cmds.c (find_and_open_script): Add OPF_RETURN_REALPATH to
variable search_flags.
* defs.h (OPF_DISABLE_REALPATH): Rename to ...
(OPF_RETURN_REALPATH): ... here.
* dwarf2read.c (try_open_dwop_file): Set OPF_RETURN_REALPATH for flags.
* exec.c (exec_file_attach): Remove OPF_DISABLE_REALPATH from openp
call. Twice.
* nto-tdep.c (nto_find_and_open_solib): Add OPF_RETURN_REALPATH for
openp call.
* solib.c (solib_find): Likewise. Four times.
* source.c (openp): Change OPF_DISABLE_REALPATH to OPF_RETURN_REALPATH
in the function comment and for the realpath_fptr variable.
(source_full_path_of): Add OPF_RETURN_REALPATH for openp call.
(find_and_open_source): Likewise. Twice.
* symfile.c (symfile_bfd_open): Likewise, also twice.
Doug Evans [Wed, 4 Sep 2013 19:53:11 +0000 (19:53 +0000)]
* progspace.c (save_current_space_and_thread): Remove unnecessary
call to save_current_inferior.
Andrew Burgess [Wed, 4 Sep 2013 16:34:07 +0000 (16:34 +0000)]
Avoid printing unavailable/optimized out registers (sh64-tdep.c)
https://sourceware.org/ml/gdb-patches/2013-08/msg00834.html
gdb/ChangeLog
* sh64-tdep.c (sh64_do_register): Return after printing message
about unavailable register contents.
Yufeng Zhang [Wed, 4 Sep 2013 14:35:13 +0000 (14:35 +0000)]
ld/testsuite/
2013-09-04 Vidya Praveen <vidyapraveen@arm.com>
* ld-arm/export-class.exp: Fix the condition.
Tristan Gingold [Wed, 4 Sep 2013 12:28:11 +0000 (12:28 +0000)]
gas/
* config/tc-ppc.c (md_apply_fix): Handle defined after use toc
symbols.
gas/testsuite/
* gas/ppc/aix.exp: Run xcoff-toc-1 test.
* gas/ppc/xcoff-toc-1.s, gas/ppc/xcoff-toc-1.d: New test.
Nick Clifton [Wed, 4 Sep 2013 07:59:33 +0000 (07:59 +0000)]
PR gas/15914
* config/tc-arm.c (T16_32_TAB): Add _udf.
(do_t_udf): New function.
(insns): Add "udf".
* gas/arm/udf-bad.s: New file.
* gas/arm/udf-bad.d: New file.
* gas/arm/udf-bad.l: New file.
* gas/arm/udf.s: New file.
* gas/arm/udf.d: New file.
* gas/arm/udf.l: New file.
* arm-dis.c (arm_opcodes): Add udf.
(thumb_opcodes): Use "udf" mnemonic rather than UNDEFINED_INSTRUCTION.
(thumb32_opcodes): Add udf.w.
(print_insn_thumb32): Handle %H as the thumb32_opcodes comment says.
Muhammad Bilal [Wed, 4 Sep 2013 06:17:08 +0000 (06:17 +0000)]
2013-09-04 Muhammad Bilal <mbilal@codesourcery.com>
Pedro Alves <palves@redhat.com>
* symfile.c (add_symbol_file_command): Error out on unknown
option. Handle EXPECTING_SEC_ADDR/EXPECTING_SEC_NAME before '-'
options and collapse into single conditional branch.
2013-09-13 Muhammad Bilal <mbilal@codesourcery.com>
Pedro Alves <palves@redhat.com>
* gdb.base/relocate.exp: Check that invalid options are
rejected.
Alan Modra [Wed, 4 Sep 2013 00:00:04 +0000 (00:00 +0000)]
daily update
Mike Frysinger [Tue, 3 Sep 2013 20:45:08 +0000 (20:45 +0000)]
sim: mark complete_option_list args const to fix build warnings
The completion API was updated, but this func missed having its
text/word args const.
H.J. Lu [Tue, 3 Sep 2013 17:38:57 +0000 (17:38 +0000)]
Use relative relocation for R_X86_64_32 on x32
2013-09-03 Pavel Chupin <pavel.v.chupin@intel.com>
PR gold/15927
* x86_64.cc (Target_x86_64<size>::Scan::global): Use relative
relocation for R_X86_64_32 on x32.
Luis Machado [Tue, 3 Sep 2013 17:22:45 +0000 (17:22 +0000)]
* inf-child.c (inf_child_follow_fork) New parameter
detach_fork.
* inf-ptrace.c (inf_ptrace_follow_fork): Likewise.
* inf-ttrace.c (inf_ttrace_follow_fork): Likewise.
* inferior.h (detach_fork): Remove.
* infrun.c (detach_fork): Adjust comment and make it
static.
(follow_fork): Pass detach_fork parameter to
target_follow_fork.
* linux-nat.c (linux_child_follow_fork): New parameter
detach_fork.
* target.c (target_follow_fork): New parameter detach_fork.
Pass detach_fork as parameter and print its value.
* target.h (struct target_ops) <to_follow_fork>: New int
parameter.
(target_follow_fork): New parameter detach_fork.
Joel Brobecker [Tue, 3 Sep 2013 16:59:18 +0000 (16:59 +0000)]
Fix build failure in solib-ia64-hpux.c
The field "bfd" no longer exists in struct target_section.
Use the_bfd_section->owner instead.
gdb/ChangeLog:
* solib-ia64-hpux.c (ia64_hpux_relocate_section_addresses):
Replace sec->bfd by sec->the_bfd_section->owner.
Alan Modra [Tue, 3 Sep 2013 00:00:04 +0000 (00:00 +0000)]
daily update
Yao Qi [Mon, 2 Sep 2013 23:09:57 +0000 (23:09 +0000)]
gdb/
* linux-tdep.c (linux_is_uclinux): New function. Code moved
from linux_has_shared_address_space.
(linux_has_shared_address_space): Call linux_is_uclinux.
* linux-tdep.h (linux_is_uclinux): Declare.
* m68klinux-tdep.c (m68k_linux_get_sigtramp_info): Call
linux_is_uclinux.
Yao Qi [Mon, 2 Sep 2013 23:07:07 +0000 (23:07 +0000)]
gdb/
* config/djgpp/fnchange.lst: Remove entry of
i386-interix-nat.c and i386-interix-tdep.c.
* configure.ac: Remove '*-*-interix*'.
* configure: Re-generated.
* defs.h (enum gdb_osabi): Remove GDB_OSABI_INTERIX.
* i386-cygwin-tdep.c (i386_cygwin_osabi_sniffer): Remove
obsolete comments.
* osabi.c (gdb_osabi_names): Remove "Interix".