summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 2013-03-23 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2013-03-235-3/+175
| | | | | | | | * configure.ac: Fail if dv-sockser.o not available. Error when --disable-sim-hardware is specified. * tconfig.in: Conditionalize use of dv_sockser_install. * configure: Regenerated. * config.in: Regenerated.
* 2013-03-23 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2013-03-239-6/+441
| | | | | | * configure.ac: Fail if dv-sockser.o not available. Error when --disable-sim-hardware is specified. * configure: Regenerated.
* 2013-03-23 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2013-03-235-6/+60
| | | | | | | * configure.ac: Address use of dv-sockser.o. * tconfig.in: Conditionalize use of dv_sockser_install. * configure: Regenerated. * config.in: Regenerated.
* 2013-03-23 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2013-03-233-28/+28
| | | | | * configure.ac: Use $SIM_DV_SOCKSER_O. * configure: Regenerated.
* 2013-03-23 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2013-03-233-2/+149
| | | | | | * configure.ac: Fail if dv-sockser.o not available. Error when --disable-sim-hardware is specified. * configure: Regenerated.
* 2013-03-23 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2013-03-232-2/+23
| | | | | | | * acinclude.m4: Add SIM_DV_SOCKSER_O which is empty on hosts which do not support dv-sockser.o. Add always as option to first argument to SIM_AC_OPTION_HARDWARE. Fail if hardware is always required to be enabled by simulator.
* Fix relocation of directories in the MinGW build.Eli Zaretskii2013-03-234-5/+44
| | | | | | | | | | | windows-nat.c (windows_get_absolute_argv0): New function. windows-nat.h: Add its prototype. main.c (get_init_files): Use filename_ncmp instead of strncmp. Use IS_DIR_SEPARATOR instead of looking for a character inside SLASH_STRING. Include filenames.h. (captured_main) [__MINGW32__]: Make argv[0] absolute, so that relocate_gdb_directory works when passed gdb_program_name. Include windows-nat.h.
* * elf-bfd.h (_bfd_elf_merge_symbol): Delete declaration.Alan Modra2013-03-234-43/+29
| | | | | | * elflink.c (_bfd_elf_merge_symbol): Make static. * elf32-sh-symbian.c (sh_symbian_relocate_section): Don't call _bfd_elf_merge_symbol, call _bfd_generic_link_add_one_symbol.
* *** empty log message ***gdbadmin2013-03-231-1/+1
|
* PR ld/15270Alan Modra2013-03-222-6/+16
| | | | | | | | * elflink.c (elf_link_add_object_symbols): Don't set def_regular or ref_regular for BFD_PLUGIN owned syms, or have them affect def_dynamic/ref_dynamic. (_bfd_elf_fix_symbol_flags): Don't set def_regular for BFD_PLUGIN owned syms.
* src-release: fix version look up for bfd based projectsMike Frysinger2013-03-222-1/+6
|
* daily updateAlan Modra2013-03-221-1/+1
|
* gdb/Jan Kratochvil2013-03-228-12/+121
| | | | | | | | | | | | | | | | | | | | * exceptions.h (enum errors): New entry TARGET_CLOSE_ERROR. * remote.c (trace_error): Remove the special handling of '2'. (readchar) <SERIAL_EOF> (readchar) <SERIAL_ERROR> (getpkt_or_notif_sane_1): Use TARGET_CLOSE_ERROR for them. (remote_get_trace_status): Call throw_exception if EX is TARGET_CLOSE_ERROR. * utils.c (perror_with_name): Rename to ... (throw_perror_with_name): ... here. New parameter errcode, describe it in the function comment. (perror_with_name): New function wrapper. * utils.h (enum errors): New stub declaration. (throw_perror_with_name): New declaration. gdb/testsuite/ * gdb.server/server-kill.c: New file. * gdb.server/server-kill.exp: New file.
* Subject: Fix range validation of integer commands with "unlimited".Pedro Alves2013-03-222-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | The range validation added by http://sourceware.org/ml/gdb-patches/2013-03/msg00767.html Changes things to allow setting the command to INT_MAX or UINT_MAX directly, with signed and unsigned commands respectively. However, that went a little bit too far, as in the cases of var_integer and var_uinteger, those values are actually implementation detail. It's better to not expose them in the interface, and have users assume those values mean "unlimited" too, so to be safer to expand the range of the commands in the future if we want to. Yes, it's pedantic, and it's not likely users actually will do this, but MI frontends and Python scripts might. gdb/ 2013-03-22 Pedro Alves <palves@redhat.com> Yao Qi <yao@codesourcery.com> Mark Kettenis <kettenis@gnu.org> * cli/cli-setshow.c (do_set_command) <var_uinteger>: Don't let the user set the value to UINT_MAX directly. <var_integer>: Don't let the user set the value to INT_MAX directly.
* Whoops, wrong patch. Reverting.Pedro Alves2013-03-222-20/+2
|
* Subject: Fix range validation of integer commands with "unlimited".Pedro Alves2013-03-222-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | The range validation added by http://sourceware.org/ml/gdb-patches/2013-03/msg00767.html Changes things to allow setting the command to INT_MAX or UINT_MAX directly, with signed and unsigned commands respectively. However, that went a little bit too far, as in the cases of var_integer and var_uinteger, those values are actually implementation detail. It's better to not expose them in the interface, and have users assume those values mean "unlimited" too, so to be safer to expand the range of the commands in the future if we want to. Yes, it's pedantic, and it's not likely users actually will do this, but MI frontends and Python scripts might. gdb/ 2013-03-22 Pedro Alves <palves@redhat.com> Yao Qi <yao@codesourcery.com> Mark Kettenis <kettenis@gnu.org> * cli/cli-setshow.c (do_set_command) <var_uinteger>: Don't let the user set the value to UINT_MAX directly. <var_integer>: Don't let the user set the value to INT_MAX directly.
* gdb/Jan Kratochvil2013-03-222-22/+27
| | | | | | | | | * remote.c (remote_unpush_target): New function. (remote_open_1): Remove two pop_target calls, update one comment, add comment to target_preopen call. Replace pop_target call by remote_unpush_target call. (interrupt_query, readchar, getpkt_or_notif_sane_1): Replace pop_target calls by remote_unpush_target calls.
* Fix attribute section output on sparc.David S. Miller2013-03-222-0/+6
| | | | | | | bfd/ * elfxx-sparc.c (_bfd_sparc_elf_merge_private_bfd_data): Set type of hwcaps attribute.
* PR ld/14902Nick Clifton2013-03-222-6/+11
| | | | | * elf32-h8300.c (elf32_h8_relax_delete_bytes): Fix off by one errors adjusting relocs and symbols.
* Linux: No need to set ptrace event options in fork/clone children.Pedro Alves2013-03-224-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Oleg Nesterov told me that the Linux kernel copies the parent's ptrace options to fork/clone children, so there's no need for GDB to do that manually. I was actually a bit surprised, since I thought the ptracer had to always set the ptrace options itself, and GDB is indeed calling PTRACE_SETOPTIONS for each new fork child, if it'll stay attached. Looking at the history of that code, I found that is was actually I who added that set-ptrace-options-in-children bit, back in http://sourceware.org/ml/gdb-patches/2009-05/msg00656.html. But, honestly, I don't recall why I needed that. I think I may have just blindly believed it was necessary. I then looked back at the history of all the PTRACE_SETOPTIONS code we have, and found that gdb never did copy the ptrace options before my patch. But, when gdbserver learnt to use PTRACE_EVENT_CLONE, at http://sourceware.org/ml/gdb-patches/2007-10/msg00547.html, it was made to do 'ptrace (PTRACE_SETOPTIONS, new_pid, 0, PTRACE_O_TRACECLONE)' for all new clones. Hmmm. But, GDB itself never did that, so it can't really ever have been necessary, I believe, otherwise GDB should have been doing it too. (GDBserver doesn't support following forks, and so naturally doesn't do any PTRACE_SETOPTIONS on fork children.) So this patch removes the -I believe- unnecessary ptrace syscalls. Tested on x86_64 Fedora 17, native/gdbserver, and on x86_64 RHEL5 native/gdbserver (Linux 2.6.18, I think a ptrace-on-utrace kernel). No regressions. gdb/ 2013-03-22 Pedro Alves <palves@redhat.com> * linux-nat.c (linux_child_follow_fork): Don't call linux_enable_event_reporting. (linux_handle_extended_wait): Don't call linux_enable_event_reporting. gdb/gdbserver/ 2013-03-22 Pedro Alves <palves@redhat.com> * linux-low.c (handle_extended_wait): Don't call linux_enable_event_reporting.
* hppa-hpux-tdep.c: Fix host dependency.Pedro Alves2013-03-222-19/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | $ make WERROR_CFLAGS="-Wpointer-sign -Werror" hppa-hpux-tdep.o -k 2>&1 1>/dev/null ../../src/gdb/hppa-hpux-tdep.c: In function ‘hppa_hpux_push_dummy_code’: ../../src/gdb/hppa-hpux-tdep.c:1225:7: error: pointer targets in passing argument 2 of ‘write_memory’ differ in signedness [-Werror=pointer-sign] In file included from ../../src/gdb/hppa-hpux-tdep.c:22:0: ../../src/gdb/gdbcore.h:85:13: note: expected ‘const gdb_byte *’ but argument is of type ‘char *’ ../../src/gdb/hppa-hpux-tdep.c:1251:7: error: pointer targets in passing argument 2 of ‘write_memory’ differ in signedness [-Werror=pointer-sign] In file included from ../../src/gdb/hppa-hpux-tdep.c:22:0: ../../src/gdb/gdbcore.h:85:13: note: expected ‘const gdb_byte *’ but argument is of type ‘char *’ ../../src/gdb/hppa-hpux-tdep.c: In function ‘hppa_hpux_supply_save_state’: ../../src/gdb/hppa-hpux-tdep.c:1354:9: error: pointer targets in passing argument 1 of ‘extract_unsigned_integer’ differ in signedness [-Werror=pointer-sign] In file included from ../../src/gdb/hppa-hpux-tdep.c:20:0: ../../src/gdb/defs.h:675:22: note: expected ‘const gdb_byte *’ but argument is of type ‘const char *’ Casting to gdb_byte would fix it, however, writing an unsigned int array like this static unsigned int hppa64_tramp[] = { 0xeac0f000, /* bve,l (r22),%r2 */ 0x0fdf12d1, /* std r31,-8(,sp) */ 0x0fd110c2, /* ldd -8(,sp),rp */ 0xe840d002, /* bve,n (rp) */ 0x08000240 /* nop */ ... directly to target memory assumes the host endianness is the same as the target's. hppa is big endian, so I believe this patch should be correct -- it defines the array as a gdb_byte array. It uses a macro to make the insn bytes a little more readable. I thought of using write_memory_unsigned_integer once for each element of the unsigned int array, but this way keeps issuing a single target memory write / roundtrip for the whole trampoline. gdb/ 2013-03-22 Pedro Alves <palves@redhat.com> * hppa-hpux-tdep.c (hppa_hpux_push_dummy_code): Define INSN macro, use it to rewrite the trampoline buffers with type gdb_byte[], and undefine the macro. Remove char* cast.
* gdb/doc/qiyao2013-03-222-115/+6
| | | | | | * gdb.texinfo (Embedded Processors): Remove menu item "OpenRISC 1000". (OpenRISC 1000): Remove.
* *** empty log message ***gdbadmin2013-03-221-1/+1
|
* daily updatebinutils_latest_snapshotAlan Modra2013-03-211-1/+1
|
* Fix gdb.trace/trace-buffer-size.exp race.Pedro Alves2013-03-212-1/+6
| | | | | | | | | | | | | | | | | | | | | | Just the usual missing $gdb_prompt match: (gdb) tstatus No trace has been run on the target. Collected 0 trace frames. Trace buffer has 5242880 bytes of 5242880 bytes free (0% full). Trace will stop if GDB disconnects. Not looking at any trace frame. PASS: gdb.trace/trace-buffer-size.exp: get default buffer size (gdb) set trace-buffer-size 4 (gdb) FAIL: gdb.trace/trace-buffer-size.exp: set trace buffer size 1 This fixes it. gdb/testsuite/ 2013-03-21 Pedro Alves <palves@redhat.com> * gdb.trace/trace-buffer-size.exp (get default buffer size): Expect $gdb_prompt in gdb_test_multiple.
* New commands "mt set per-command {space,time,symtab} {on,off}".Doug Evans2013-03-2115-166/+464
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * NEWS: Add entry. * event-top.c: #include "maint.h". * main.c: #include "maint.h". * maint.c: #include <sys/time.h>, <time.h>, block.h, top.h, timeval-utils.h, maint.h, cli/cli-setshow.h. (per_command_time, per_command_space): New static globals. (per_command_symtab): New static global. (per_command_setlist, per_command_showlist): New static globals. (struct cmd_stats): Move here from utils.c. (set_per_command_time): Renamed from set_display_time in utils.c and moved here. All callers updated. (set_per_command_space): Renamed from set_display_space in utils.c and moved here. All callers updated. (count_symtabs_and_blocks): New function. (report_command_stats): Moved here from utils.c. Add support for printing symtab stats. Only print data if enabled before command executed. (make_command_stats_cleanup): Ditto. (sert_per_command_cmd, show_per_command_cmd): New functions. (_initialize_maint_cmds): Add new commands mt set per-command {space,time,symtab} {on,off}. * maint.h: New file. * top.c: #include "maint.h". * utils.c (reset_prompt_for_continue_wait_time): New function. (get_prompt_for_continue_wait_time): New function. * utils.h (reset_prompt_for_continue_wait_time): Declare (get_prompt_for_continue_wait_time): Declare. (make_command_stats_cleanup): Moved to maint.h. (set_display_time, set_display_space): Moved to maint.h and renamed to set_per_command_time, set_per_command_space. * cli/cli-setshow.c (parse_cli_boolean_value): Renamed from parse_binary_operation and made non-static. Don't call error, just return an error marker. All callers updated. * cli/cli-setshow.h (parse_cli_boolean_value): Declare. doc/ * gdb.texinfo (Maintenance Commands): Add docs for "mt set per-command {space,time,symtab} {on,off}". testsuite/ * gdb.base/maint.exp: Update tests for per-command stats.
* * symfile.c (alloc_section_addr_info): Update header. Don't setTom Tromey2013-03-216-13/+39
| | | | | | | | | | | | | | | | | | | | 'num_sections' field. (build_section_addr_info_from_section_table): Set 'num_sections'. (build_section_addr_info_from_bfd): Likewise. (build_section_addr_info_from_objfile): Remove dead loop condition. (free_section_addr_info): Unconditionally call xfree. (relative_addr_info_to_section_offsets, addrs_section_sort) (addr_info_make_relative, syms_from_objfile_1): Remove dead loop condition. (syms_from_objfile_1): Remove dead 'if' condition. Check 'num_sections'. (add_symbol_file_command): Set 'num_sections'. * symfile-mem.c (symbol_file_add_from_memory): Set 'num_sections'. * somread.c (som_symfile_offsets): Remove dead loop condition. * machoread.c (macho_symfile_offsets): Remove dead 'if'. * jit.c (jit_bfd_try_read_symtab): Set 'num_sections'.
* fix date in ChangeLog entryTom Tromey2013-03-211-1/+1
|
* * tracepoint.h (decode_agent_options): Add 'trace_string'Tom Tromey2013-03-218-82/+120
| | | | | | | | | | | | | | | | | | | | | | | | argument. * tracepoint.c (decode_agent_options): Add 'trace_string' argument. (validate_actionline): Update. (collect_symbol): Add 'trace_string' argument. (struct add_local_symbols_data) <trace_string>: New field. (do_collect_symbol): Update. (add_local_symbols): Add 'trace_string' argument. (encode_actions_1): Update. (trace_dump_actions): Update. * dwarf2loc.c (access_memory): Update. * ax.h (struct agent_expr) <tracing, trace_string>: New fields. * ax-general.c (new_agent_expr): Update. * ax-gdb.h (gen_trace_for_expr, gen_trace_for_var) (gen_trace_for_return_address): Add argument. (trace_kludge, trace_string_kludge): Remove. * ax-gdb.c (trace_kludge, trace_string_kludge): Remove. (gen_traced_pop, gen_fetch, gen_bitfield_ref, gen_expr): Update. (gen_trace_for_var): Add 'trace_string' argument. (gen_trace_for_expr, gen_trace_for_return_address): Likewise. (gen_printf, agent_eval_command_one): Update.
* * elf32-h8300 (h8_relax_section): Add new relaxation of movNick Clifton2013-03-2110-63/+198
| | | | | | | | | | | | | | | | | | | | | | | | | | @(disp:32,ERx) to mov @(disp:16,ERx). (R_H8_DISP32A16): New reloc. Comments added and corrected. * reloc.c (BFD_RELOC_H8_DISP32A16): New reloc. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * ld.texinfo (H8/300): Add description of relaxation of mov @(disp:32,ERx) to mov @(disp:16,ERx). * ld-h8300/h8300.exp: Add new relax-7 test on ELF. * ld-h8300/relax-2.s: Add other direction and .w/.l variants of mov insns. * ld-h8300/relax-2.d: Update expected disassembly. * ld-h8300/relax-7a.s: New: tests for mov @(disp:32,ERx) -> mov @(disp:16,ERx). * ld-h8300/relax-7b.s: New: Likewise. * ld-h8300/relax-7.d: New: expected disassembly. * config/tc-h8300.c (do_a_fix_imm): Add relaxation of mov @(disp:32,ERx) to mov @(disp:16,ERx) insns by new reloc R_H8_DISP32A16. * config/tc-h8300.h: Remove duplicated defines.
* PR exp/15109:Tom Tromey2013-03-215-51/+95
| | | | | | | | * c-exp.y (yylex): Rewrite to push all tokens onto the FIFO. Handle FILENAME token. gdb/testsuite * gdb.cp/cpexprs.exp: Add test for FILENAME:: case. * gdb.cp/misc.exp: Add test for FILENAME:: case.
* * c-exp.y (YYPRINT): Define.Tom Tromey2013-03-212-0/+61
| | | | (c_print_token): New function.
* * c-exp.y (%union) <sym, ivar, ivec>: Remove.Tom Tromey2013-03-212-3/+4
|
* * coffgen.c (coff_real_object_p): Make global.Kai Tietz2013-03-214-10/+56
| | | | | | | | | * peicode.h (coff_real_object_p): Add prototype. (FILHDR): Defined for COFF_IMAGE_WITH_PE as external_PEI_IMAGE_hdr structure. (coff_swap_filehdr_in): Handle variable header-size. * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Just handle amount of directory-entiries as specified in pe-header.
* PR sim/15286Nick Clifton2013-03-212-0/+20
| | | | | * elf32-arm.c (bfd_arm_get_mach_from_attributes): Identify XScale, iWMMXt and iWMMXt2 processors from attributes.
* gdb/qiyao2013-03-212-2/+24
| | | | | | * ctf.c: Include "gdb_stat.h". [USE_WIN32API]: New macro 'mkdir'. (ctf_start): Use permission bits macros if they are defined.
* *** empty log message ***gdbadmin2013-03-211-1/+1
|
* daily updateAlan Modra2013-03-201-1/+1
|
* * breakpoint.h (struct breakpoint): Add comment toKeith Seitz2013-03-203-1/+9
| | | | | extra_string indicating that this member is mallod'd. * breakpoint.c (base_breakpoint_dtor): Free extra_string.
* Fix PR gdb/15289 - "set remote hardware-watchpoint-limit" broken (zinteger ↵Pedro Alves2013-03-204-8/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commands) This is a regression from 7.5, introduced/exposed by: http://sourceware.org/ml/gdb-patches/2012-07/msg00259.html There are a series of issues with this code. It does: unsigned int val = parse_and_eval_long (arg); ^^^^^^^^^^^^ (unsigned, usually 32-bit) while parse_and_eval_long returns a LONGEST (usually 64-bit), so we lose precision without noticing: (gdb) set remote hardware-watchpoint-limit 0x100000000 (gdb) show remote hardware-watchpoint-limit 0x100000000 The maximum number of target hardware watchpoints is 0. While at it, print the invalid number with plongest, so the user sees what GDB thought the number was: (gdb) set remote hardware-watchpoint-limit 0x100000000 integer 4294967296 out of range So with "set remote hardware-watchpoint-limit -1", val ends converted to 0xffffffff, which then fails the else if (val >= INT_MAX) error (_("integer %u out of range"), val); test. Looking at that INT_MAX check, we forbid INT_MAX itself, but we shouldn't, as that does fit in 'int' -- we want to forbid values _greater_ than INT_MAX (and less than INT_MIN, while at it): (gdb) set remote hardware-watchpoint-limit 2147483647 integer 2147483647 out of range The same problem is in the new var_zuinteger_unlimited code, which also uses "int" for variable. Also, when printing a 'signed int', we should use %d, not %u. This adds a couple regression tests. Not completely thorough in checking all kinds of invalid input; I'm saving more exaustive testing around zXXinteger commands for something like new test-assisting commands like "maint test cmd-zinteger -1", where testing would focus on the command types, and thus be independent of particular user commands of particular GDB features. Tested on x86_64 Fedora 17. gdb/ 2013-03-20 Pedro Alves <palves@redhat.com> PR gdb/15289 * cli/cli-setshow.c (do_set_command) <var_uinteger, var_zuinteger>: Use LONGEST for variable holding the result of parsing the command argument. Throw error if the value is greater than UINT_MAX. Print the invalid value with plongest. <var_integer, var_zinteger>: Use LONGEST for variable holding the result of parsing the command argument. Throw error if the value is greater than INT_MAX, not greater or equal. Also throw error if the value is less than INT_MIN. Print the invalid value with plongest. <var_zuinteger_unlimited>: Throw error if the value is greater than INT_MAX, not greater or equal. (do_show_command) <var_integer, var_zinteger, var_zuinteger_unlimited>: Use %d for printing int, not %u. gdb/testsuite/ 2013-03-20 Pedro Alves <palves@redhat.com> PR gdb/15289 * gdb.base/remote.exp: Test "set remote hardware-watchpoint-limit -1", "set remote hardware-breakpoint-limit -1", "set remote hardware-watchpoint-limit 2147483647" and "set remote hardware-breakpoint-limit 2147483647".
* * ax-gdb.c (gen_var_ref): Unconditionally call via computed ops,Tom Tromey2013-03-209-129/+148
| | | | | | | | | | | | | | | | if possible. * dwarf2read.c (read_func_scope): Remove old FIXME. * eval.c (evaluate_subexp_standard): Check SYMBOL_COMPUTED_OPS, not LOC_COMPUTED. * findvar.c (symbol_read_needs_frame, default_read_var_value): Unconditionally call via computed ops, if possible. * printcmd.c (address_info): Unconditionally call via computed ops, if possible. * stack.c (read_frame_arg): Unconditionally call via computed ops, if possible. * symtab.c (register_symbol_computed_impl): Sanity check 'ops'. * tracepoint.c (scope_info): Unconditionally call via computed ops, if possible.
* 2013-03-20 Jan Kratochvil <jan.kratochvil@redhat.com>Tom Tromey2013-03-2013-141/+412
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tom Tromey <tromey@redhat.com> PR symtab/8421: * coffread.c (coff_register_index): New global. (process_coff_symbol, coff_read_enum_type): Set SYMBOL_ACLASS_INDEX. (_initialize_coffread): Initialize new global. * dwarf2loc.c (locexpr_find_frame_base_location) (dwarf2_block_frame_base_locexpr_funcs) (loclist_find_frame_base_location) (dwarf2_block_frame_base_loclist_funcs): New. (dwarf_expr_frame_base_1): Call SYMBOL_BLOCK_OPS, remove internal_error. (dwarf2_locexpr_funcs, dwarf2_loclist_funcs): Add location_has_loclist. * dwarf2loc.h (dwarf2_block_frame_base_locexpr_funcs) (dwarf2_block_frame_base_loclist_funcs): New. * dwarf2read.c (dwarf2_locexpr_index, dwarf2_loclist_index) (dwarf2_locexpr_block_index, dwarf2_loclist_block_index): New globals. (read_func_scope): Update. (fixup_go_packaging, mark_common_block_symbol_computed) (var_decode_location, new_symbol_full, dwarf2_const_value): Set SYMBOL_ACLASS_INDEX. (dwarf2_symbol_mark_computed): Likewise. Add 'is_block' argument. (_initialize_dwarf2_read): Initialize new globals. * jit.c (finalize_symtab): Set SYMBOL_ACLASS_INDEX. * jv-lang.c (add_class_symbol): Set SYMBOL_ACLASS_INDEX. * mdebugread.c (mdebug_register_index, mdebug_regparm_index): New globals. (parse_symbol, psymtab_to_symtab_1): Set SYMBOL_ACLASS_INDEX. (_initialize_mdebugread): Initialize new globals. * psympriv.h (struct partial_symbol) <aclass>: Update comment. * stabsread.c (patch_block_stabs): Set SYMBOL_ACLASS_INDEX. (stab_register_index, stab_regparm_index): New globals. (define_symbol, read_enum_type, common_block_end): Set SYMBOL_ACLASS_INDEX. (_initialize_stabsread): Initialize new globals. * symtab.c (next_aclass_value, symbol_impl, symbol_impls): New globals. (MAX_SYMBOL_IMPLS): New define. (register_symbol_computed_impl, register_symbol_block_impl) (register_symbol_register_impl) (initialize_ordinary_address_classes): New functions. (_initialize_symtab): Call initialize_ordinary_address_classes. * symtab.h (enum address_class) <LOC_FINAL_VALUE>: New constant. (struct symbol_impl): New. (SYMBOL_ACLASS_BITS): New define. (struct symbol) <aclass, ops>: Remove fields. <aclass_index>: New field. (symbol_impls): Declare. (SYMBOL_CLASS, SYMBOL_COMPUTED_OPS, SYMBOL_REGISTER_OPS): Redefine. (SYMBOL_IMPL, SYMBOL_ACLASS_INDEX): New defines. (register_symbol_computed_impl, register_symbol_block_impl) (register_symbol_register_impl): Declare. (struct symbol_computed_ops): Add location_has_loclist. (struct symbol_block_ops): New. (SYMBOL_BLOCK_OPS): New. * xcoffread.c (process_xcoff_symbol): Set SYMBOL_ACLASS_INDEX.
* * psymtab.c (find_pc_sect_psymbol, fixup_psymbol_section)Tom Tromey2013-03-202-8/+14
| | | | | (print_partial_symbols, recursively_search_psymtabs): Use PSYMBOL_CLASS.
* PR gas/15082Nick Clifton2013-03-202-7/+17
| | | | | | | | | | | | | | | | * tic6x-opcode-table.h: Rename mpydp's specific operand type macro from ORREGD1324 to ORXREGD1324 and make it cross-path-able through tic6x_operand_xregpair operand coding type. Make mpydp instruction cross-path-able, ie: remove the FIXed 'x' opcode field, usu ORXREGD1324 for the src2 operand and remove the TIC6X_FLAG_NO_CROSS. * gas/tic6x/insns-bad-1.s: Remove test-case for mpydp with cross-path. * gas/tic6x/insns-bad-1.l: Update expected output. * gas/tic6x/insns-c674x.s: Add a test-case for mpydp with cross-path. * gas/tic6x/insns-c674x.d: Update expected output.
* * include/opcode/tic6x.h: add tic6x_coding_dreg_(msb|lsb) field coding type inNick Clifton2013-03-205-19/+56
| | | | | | | | | | | | | | | | | | | | | order to encode separately the msb and lsb of a register pair ; this will be needed to encode the opcodes the same way as Ti assembler does. * gas/config/tc-tic6x.c: handle tic6x_coding_dreg_(msb|lsb) field coding types and use it to encode register pair numbers when required. * opcodes/tic6x-dis.c: decodes opcodes that have individual msb and lsb halves in src1 & src2 fields ; discard the src1 (lsb) value and only use src2 (msb), discarding bit 0, to follow what Ti SDK does in that case as any value in the src1 field yields the same output with SDK disassembler. * include/opcode/tic6x-opcode-table.h: modify absdp, dpint, dpsp, dptrunc, rcpdp and rsqrdp opcodes to use the new field coding types. * gas/testsuite/gas/tic6x/insns-c674x.d, gas/testsuite/gas/tic6x/insns-c674x.s : add test case for the newly generated opcode but keep the old ones as they seem legit as per Ti disassembler output.
* * contrib/ari/gdb_ari.sh (OP eol rule): Also checkPierre Muller2013-03-202-1/+10
| | | | addtion, subtraction, multiplication and division binary operator.
* gdb/Jan Kratochvil2013-03-2024-70/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code cleanup. * bfd-target.c (target_bfd_xclose): Remove parameter quitting. * bsd-kvm.c (bsd_kvm_close): Likewise. * bsd-uthread.c (bsd_uthread_close): Likewise. * corelow.c (core_close): Likewise. (core_close_cleanup): Remove parameter quitting from a caller. * event-top.c (async_disconnect): Likewise. * exec.c (exec_close_1): Remove parameter quitting. * go32-nat.c (go32_close): Likewise. * linux-nat.c (linux_nat_close): Remove parameter quitting. Remove parameter quitting from a caller. * mips-linux-nat.c (super_close): Remove parameter quitting from the variable. (mips_linux_close): Remove parameter quitting. Remove parameter quitting from a caller. * monitor.c (monitor_close): Remove parameter quitting. * monitor.h (monitor_close): Likewise. * record-btrace.c (record_btrace_close): Likewise. * record-full.c (record_full_close): Likewise. * remote-m32r-sdi.c (m32r_close): Remove parameter quitting and remove it also from fprintf_unfiltered. * remote-mips.c (mips_close): Remove parameter quitting. (mips_detach): Remove parameter quitting from a caller. * remote-sim.c (gdbsim_close): Remove parameter quitting. (gdbsim_close): Remove duplicate function comment. Remove parameter quitting and remove it also from printf_filtered. * remote.c (remote_close): Remove parameter quitting. * solib-svr4.c (enable_break): Remove parameter quitting from a caller. * target.c (update_current_target): Remove parameter int from to_close de_fault. (push_target, unpush_target, pop_target): Remove parameter quitting from a caller. (pop_all_targets_above, pop_all_targets): Remove parameter quitting. Remove parameter quitting from a caller. (target_preopen): Remove parameter quitting from a caller. (target_close): Remove parameter quitting. Remove parameter quitting from a caller two times. Remove parameter quitting also from fprintf_unfiltered. * target.h (struct target_ops): Remove parameter quitting and as int from fields to_xclose and to_close. (extern struct target_ops current_target): (target_close, pop_all_targets): Remove parameter quitting. Update the comment. (pop_all_targets_above): Remove parameter quitting. * top.c (quit_target): Remove parameter quitting from a caller. * tracepoint.c (tfile_close): Remove parameter quitting. * windows-nat.c (windows_close): Remove parameter quitting.
* tfile.exp: Test printing a non-const global that is not covered by the trace ↵Pedro Alves2013-03-203-0/+30
| | | | | | | | | | | | | | | | | | | | | frame; test disassembling. Make sure we don't fallback to printing the initial value of a non-const variable in the executable. Also make sure we can do 'disassemble', as another test that GDB is able to read read-only parts from the executable (the existing test of printing constglob also covers that case). gdb/testsuite/ 2013-03-20 Pedro Alves <palves@redhat.com> Yao Qi <yao@codesourcery.com> * gdb.trace/tfile.c: Add comments. (nonconstglob): New global. * gdb.trace/tfile.exp: Add comments. Test printing a non-const global that is not covered by the trace frame. Test disassembling.
* * windows-nat.c (handle_output_debug_string): Replace callCorinna Vinschen2013-03-202-1/+6
| | | | to string_to_core_addr with call to strtoull.
* bfd/Alan Modra2013-03-202-0/+10
| | | | | | | | * elflink.c (_bfd_elf_make_dynamic_reloc_section): Override sh_type according to is_rela. ld/testsuite/ * ld-elf/rel.c, ld-elf/relmain.c, ld-elf/relmain.out: New test. * ld-elf/shared.exp: Build and run it.