summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 2013-08-21 Tristan Gingold <gingold@adacore.com>Tristan Gingold2013-08-213-26/+89
| | | | | | | * coff-rs6000.c (_bfd_xcoff_sizeof_headers): Also count .ovrflo sections. * coffcode.h (coff_compute_section_file_positions): Force match between file offset and vma offset.
* Fix typoNick Clifton2013-08-211-1/+1
|
* * elflink.c (_bfd_elf_merge_symbol): Set *poldbfd, *poldweak,Alan Modra2013-08-212-44/+48
| | | | and *poldalignment before exiting when !relocs_compatible.
* * elflink.c (_bfd_elf_define_linkage_sym): Don't set STV_INTERNALAlan Modra2013-08-212-3/+9
| | | | symbols to STV_HIDDEN.
* daily updateAlan Modra2013-08-211-1/+1
|
* * buildsym.c (subfile_stack): Move here from buildsym.h.Doug Evans2013-08-207-42/+86
| | | | | | | | | | | | | | | | | (pending_macros): Ditto. (get_macro_table): New function. (buildsym_init): Initialize subfile_stack. * coffread.c (type_vector,type_vector_length): Moved here from buildsym.h. (INITIAL_TYPE_VECTOR_LENGTH): Ditto. (coff_symtab_read): Use it. * dbxread.c (read_ofile_symtab): Delete init of subfile_stack. * dwarf2read.c (macro_start_file): Replace uses of pending_macros with call to get_macro_table. * stabsread.c (type_vector,type_vector_length): Moved here from buildsym.h. (INITIAL_TYPE_VECTOR_LENGTH): Ditto. * buildsym.h (get_macro_table): Declare.
* * dbxread.c (record_minimal_symbol): Make 'name' argument const.Tom Tromey2013-08-202-6/+13
| | | | | Update. (read_dbx_dynamic_symtab): Make 'name' const. Remove casts.
* * blockframe.c: Remove #include "psymtab.h".Doug Evans2013-08-205-7/+7
| | | | | | * cp-support.c: Ditto. * source.c: Ditto. * stack.c: Ditto.
* fix PR python/15816Tom Tromey2013-08-202-4/+14
| | | | | | | | | | | | | | | | | | | | | | This fixes PR python/15816. The bug here is that python-selftest.exp can fail: No symbol "RETURN_MASK_ALL" in current context. RETURN_MASK_ALL is a macro, so if macros do not end up in the debuginfo (very typical) then the test fails. It seemed simplest to me to simply turn the RETURN_MASK_ defines into enum constants. This way they end up in the debuginfo and all is well. PR python/15816: * exceptions.h (return_mask): Now an enum. (RETURN_MASK_QUIT, RETURN_MASK_ERROR, RETURN_MASK_ALL): Now enum constants. Built and regtested on x86-64 Fedora 18.
* move gdbarch object from objfile to per-BFDTom Tromey2013-08-2010-21/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves the "gdbarch" field from the objfile into the BFD. This field's value is derived from the BFD and is immutable over the lifetime of the BFD. This makes it a reasonable candidate for pushing into the per-BFD object. This is part of the long-term objfile splitting project. In the long run I think this patch will make it simpler to moves types from the objfile to the per-BFD object; but the patch makes sense as a minor cleanup by itself. Built and regtested on x86-64 Fedora 18. * cp-namespace.c (cp_lookup_symbol_imports_or_template): Use get_objfile_arch. * elfread.c (elf_rel_plt_read, elf_gnu_ifunc_record_cache) (elf_gnu_ifunc_resolve_by_got): Use get_objfile_arch. * jit.c (jit_object_close_impl): Update. * jv-lang.c (get_dynamics_objfile): Update. * linespec.c (add_minsym): Use get_dynamics_objfile. * objfiles.c (get_objfile_bfd_data): Initialize 'gdbarch' field. (allocate_objfile): Don't initialize 'gdbarch' field. (get_objfile_arch): Update. * objfiles.h (struct objfile_per_bfd_storage) <gdbarch>: New field, moved from... (struct objfile) <gdbarch>: ... here. Remove. * stap-probe.c (stap_can_evaluate_probe_arguments): Use get_objfile_arch. * symfile.c (init_entry_point_info): Use get_objfile_arch.
* * doublest.c (convert_floatformat_to_doublest): Use fmt->split_halfAlan Modra2013-08-203-35/+47
| | | | | | | | | | | | for IBM long double nan and inf. (floatformat_is_negative, floatformat_classify, floatformat_mantissa): Similarly. (floatformat_ieee_single, floatformat_ieee_double, floatformat_ieee_quad, floatformat_arm_ext, floatformat_ia64_spill): Delete unused vars. (_initialize_doublest): Delete unused function. * gdbtypes.c (floatformats_ibm_long_double): Use new big- and little-endian variants of floatformat_ibm_long_double.
* merge from gccDJ Delorie2013-08-205-3/+32
|
* daily updateAlan Modra2013-08-201-1/+1
|
* include/opcode/Richard Sandiford2013-08-192-4/+6
| | | | | | | | * mips.h: Remove references to "+I" and imm2_expr. gas/ * config/tc-mips.c (imm2_expr): Delete. (md_assemble, match_insn, imm2_expr.X_op, mips_ip): Update accordingly.
* include/opcode/Richard Sandiford2013-08-195-8/+21
| | | | | | | | | | | | | | | | | | | | | | * mips.h (M_DEXT, M_DINS): Delete. opcodes/ * micromips-opc.c (micromips_opcodes): Replace "dext" and "dins" macro entries with "dextm", "dextu", "dinsm" and "dinsu" aliases. Use +H rather than +C for the real "dext". * mips-opc.c (mips_builtin_opcodes): Likewise. gas/ * config/tc-mips.c (report_bad_range, report_bad_field): Delete. (macro): Remove M_DEXT and M_DINS handling. gas/testsuite/ * gas/mips/ext-ill.l, gas/mips/mips64r2-ill.l: Expect DEXT and DINS error messages to have the same form as the EXT and INS ones. * gas/mips/micromips-insn32.d, gas/mips/micromips-noinsn32.d, gas/mips/micromips-trap.d, gas/mips/micromips.d, gas/mips/micromips@mips64r2.d, gas/mips/mips64r2.d: Expect "dext" and "dins" instead of "dextm", "dextu", "dinsm" and "dinsu".
* include/opcode/Richard Sandiford2013-08-198-13/+59
| | | | | | | | | | | | | | | | | | | * mips.h (OP_OPTIONAL_REG): New mips_operand_type. (mips_optional_operand_p): New function. opcodes/ * mips-formats.h (OPTIONAL_REG, OPTIONAL_MAPPED_REG): New macros. * micromips-opc.c (decode_micromips_operand): Use OPTIONAL_REG and OPTIONAL_MAPPED_REG. * mips-opc.c (decode_mips_operand): Likewise. * mips16-opc.c (decode_mips16_operand): Likewise. * mips-dis.c (print_insn_arg): Handle OP_OPTIONAL_REG. gas/ * config/tc-mips.c (operand_reg_mask, match_operand): Handle OP_OPTIONAL_REG. (mips_ip, mips16_ip): Use mips_optional_operand_p to check for optional operands.
* gdb/Luis Machado2013-08-1910-56/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (SFILES): Remove common/target-common.c and add target/waitstatus.c. (HFILES_NO_SRCDIR): Remove common/target-common.h and add target/resume.h, target/wait.h and target/waitstatus.h. (COMMON_OBS): Remove target-common.o and add waitstatus.o. (target-common.o): Remove. (waitstatus.o): New target object file. * common/target-common.c: Move contents to target/waitstatus.c and remove. * common/target-common.h: Move contents to other files and remove. (enum resume_kind: Move to target/resume.h. (TARGET_WNOHANG): Move to target/wait.h. (enum target_waitkind): Move to target/waitstatus.h. (struct target_waitstatus): Likewise. * target.h: Do not include target-common.h and include target/resume.h, target/wait.h and target/waitstatus.h. * target/resume.h: New file. * target/wait.h: New file. * target/waitstatus.h: New file. * target/waitstatus.c: New file. gdb/gdbserver/ * Makefile.in (INCLUDE_CFLAGS): Include -I$(srcdir)/../. (SFILES): Remove $(srcdir)/common/target-common.c and add $(srcdir)/target/waitstatus.c. (OBS): Remove target-common.o and add waitstatus.o. (server_h): Remove $(srcdir)/../common/target-common.h and add $(srcdir)/../target/resume.h, $(srcdir)/../target/wait.h and $(srcdir)/../target/waitstatus.h. (target-common.o): Remove. (waitstatus.o): New target object file. * target.h: Do not include target-common.h and include target/resume.h, target/wait.h and target/waitstatus.h.
* Remove PREFIX_EVEX_0F3A3E and PREFIX_EVEX_0F3A3FH.J. Lu2013-08-193-16/+8
| | | | | | * i386-dis.c (PREFIX_EVEX_0F3A3E): Removed. (PREFIX_EVEX_0F3A3F): Likewise. * i386-dis-evex.h (evex_table): Updated.
* linux-nat.c: no need to block child signals so aggressively.Pedro Alves2013-08-192-45/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In http://sourceware.org/ml/gdb-patches/2013-08/msg00174.html , the issue of child signal handling around ptrace option support discovery being different between GDB and GDBserver came up. I recalled adding these block_child_signals calls, and the "We don't want those ptrace calls to be interrupted" comment, but not exactly why. So I looked into it. My first guess is that I got confused. The patch that added this <http://sourceware.org/ml/gdb-patches/2009-04/msg00125.html> rewrote the linux native async support completely, and the old async support code had the SIGCHLD handler itself do waitpid, so in places that we'd want a blocking waitpid, we'd have to have the signal handler blocked. That was probably the mindset I had at the time. Anyway, whatever the case, looks like I was wrong on the need for this blocking. Given GDBserver doesn't block like this, I investigated why this is currently needed on GDB but not on GDBserver. I removed the block_child_signals (and restore) calls, and hacked linux-nat.c to call linux_test_for_tracefork in a loop, like: @@ -534,7 +534,10 @@ static int linux_supports_tracefork (int pid) { if (linux_supports_tracefork_flag == -1) - linux_test_for_tracefork (pid); + { + while (1) + linux_test_for_tracefork (pid); + } return linux_supports_tracefork_flag; } Running the resulting GDB, I then saw bad things happening. Specifically, I'd end up with a bunch of zombies, and eventually, the machine would refuse to spawn new processes, claming insufficient resources. The issue is that linux_test_for_tracefork test forks, and has the child fork again. If we don't block SIGCHLD on entry to the function, the children will inherit SIGCHLD's action/disposition (meaning, SIGCHLD will be unblocked in the child). When the first child forks again a second child, and that child exits, the first child gets a SIGCHLD. Now, when we try to wrap up for the whole options test, we kill the first child, and collect the waitstatus. Here, when SIGCHLD isn't blocked, GDB will first see the child reporting a stop with SIGCHLD. gdbserver's ptrace options test does a PTRACE_KILL loop at the end, which catches the SIGCHLD, and retries the kill. The GDB version did not do that. So the GDB version would proceed, leaving the child zombie (until GDB exists), as nothing collected its final waitstatus. So this patch makes the GDB version of linux_test_for_tracefork do the exact same as the GDBserver version, removes all this unnecessary blocking throughout, and adds a couple comments at places that do need it -- namely: places where we'll use sleep with sigsuspend; and linux_async_pipe, as that destroys the pipe the signal handler touches. Tested on x86_64 Fedora 17, sync and async. gdb/ 2013-08-19 Pedro Alves <palves@redhat.com> * linux-nat.c (linux_test_for_tracefork) (linux_test_for_tracesysgood, linux_child_follow_fork) (lin_lwp_attach_lwp, linux_nat_resume): Don't block child signals. (linux_nat_wait_1): Extend comment. (linux_async_pipe): Add comment.
* daily updateAlan Modra2013-08-191-1/+1
|
* daily updateAlan Modra2013-08-181-1/+1
|
* src-release: Strip "-cvs" from GDB source dir and tarball.Joel Brobecker2013-08-172-1/+6
| | | | | | | | | | | | | | | The nightly snapshots we have been creating in the past did not include the "-cvs" suffix at the end of the version number. Snapshot packaging started breaking ever since GDB switched to using BFD's version number. Things got partially fixed with the previous change to this file, but the change missed the fact that the "-cvs" suffix in the tarball name (Eg: gdb-7.6.50-20130816-cvs.tar) is undesirable. This patch removes it. ChangeLog: * src-release (VER): When using $(TOOL)/common/create-version.sh, strip the "-cvs" suffix from the version number if present.
* daily updateAlan Modra2013-08-171-1/+1
|
* * lib/prelink-support.exp (prelink_yes): Flag test as unsupported ifDoug Evans2013-08-162-0/+10
| | | | prelink complains about an unhandled DWARF version.
* Make RL78_PC_REGNUM a pseudo-register in rl78-tdep.c.Kevin Buettner2013-08-162-6/+37
|
* daily updateAlan Modra2013-08-161-1/+1
|
* 2013-08-15 Muhammad Bilal <mbilal@codesourcery.com>mbilal2013-08-152-1/+8
| | | | | | PR cli/15841 * top.c (quit_force): Skip writing history file if input is not from terminal.
* daily updateAlan Modra2013-08-151-1/+1
|
* * boards/fission.exp: Add -fdebug-types-section to debug_flags.Doug Evans2013-08-142-1/+5
|
* move some static thread state into remote_stateTom Tromey2013-08-142-19/+31
| | | | | | | | | | | | | | | | | This moves a few static variables from thread-info functions into remote_state. Pedro said on irc that these functions implement the ancient thread-discovery method and that he wouldn't be surprised if they had rotted; nevertheless it seems safer to me to make them explicitly per-remote. This necessitated moving a couple of macros and a typedef earlier in the file. * remote.c (struct remote_state) <echo_nextthread, nextthread, resultthreadlist>: New fields. (OPAQUETHREADBYTES, threadref, MAXTHREADLISTRESULTS): Move earlier. (remote_get_threadlist, remote_threadlist_iterator): Use new fields. Remove static variables.
* move remote_stopped_by_watchpoint_p and remote_watch_data_address into ↵Tom Tromey2013-08-142-16/+25
| | | | | | | | | | | | | remote_state This moves the globals remote_stopped_by_watchpoint_p and remote_watch_data_address into remote_state. * remote.c (struct remote_state) <remote_stopped_by_watchpoint_p, remote_watch_data_address>: New fields. (remote_stopped_by_watchpoint_p, remote_watch_data_address): Remove. (process_stop_reply, remote_wait_as) (remote_check_watch_resources, remote_stopped_data_address): Update.
* move async_client_callback and async_client_context into remote_stateTom Tromey2013-08-142-7/+17
| | | | | | | | | | This moves async_client_callback and async_client_context into remote_state. * remote.c (struct remote_state) <async_client_callback, async_client_context>: New fields. (async_client_callback, async_client_context): Remove. (remote_async_serial_handler, remote_async): Update.
* move sizeof_pkt into remote_trace_findTom Tromey2013-08-142-3/+6
| | | | | | | | | | | | The global sizeof_pkt is only used in remote_trace_find, like so: reply = remote_get_noisy_reply (&(rs->buf), &sizeof_pkt); I think in this situation it is more correct to use the recorded size of the buffer. Otherwise it seems that some skew could result. * remote.c (sizeof_pkt): Remove. (remote_trace_find): Use rs->buf_size, not sizeof_pkt.
* move use_threadinfo_query and use_threadextra_query into struct remote_stateTom Tromey2013-08-142-17/+23
| | | | | | | | | | This moves the use_threadextra_query and use_threadinfo_query globals into remote_state. * remote.c (struct remote_state) <use_threadinfo_query, use_threadextra_query>: New fields. (remote_threads_info, remote_threads_extra_info) (remote_open_1): Update.
* move some statics from remote_read_qxfer into struct remote_stateTom Tromey2013-08-142-15/+22
| | | | | | | | | | This moves a few static variables out of remote_read_qxfer and into remote_state. * remote.c (struct remote_state) <finished_object, finished_annex, finished_offset>: New fields. (remote_read_qxfer): Use remote_state fields; remove static variables.
* push last_sent_step into struct remote_stateTom Tromey2013-08-142-4/+11
| | | | | | | | | This moves the global last_sent_step into remote_state. * remote.c (struct remote_state) <last_sent_step>: New field. (last_sent_step): Remove. (remote_resume, remote_wait_as): Update.
* push last_sent_signal into struct remote_stateTom Tromey2013-08-142-6/+14
| | | | | | | | | This moves the global last_sent_signal into remote_state. * remote.c (struct remote_state) <last_sent_signal>: New field. (last_sent_signal): Remove. (new_remote_state, remote_resume, remote_wait_as): Update.
* push last_program_signals_packet into struct remote_stateTom Tromey2013-08-142-14/+20
| | | | | | | | | This moves the global last_program_signals_packet into remote_state. * remote.c (struct remote_state) <last_program_signals_packet>: New field. (last_program_signals_packet): Remove. (remote_program_signals, remote_open_1): Update.
* push last_pass_packet into struct remote_stateTom Tromey2013-08-142-9/+16
| | | | | | | | | This moves the global last_pass_packet into remote_state. * remote.c (struct remote_state) <last_pass_packet>: New field. (last_pass_packet): Remove. (remote_pass_signals, remote_open_1): Update.
* push remote_traceframe_number into struct remote_stateTom Tromey2013-08-142-8/+18
| | | | | | | | | | This moves the global remote_traceframe_number into remote_state. * remote.c (struct remote_state) <remote_traceframe_number>: New field. (remote_traceframe_number): Remove. (new_remote_state, remote_open_1, set_remote_traceframe) (remote_trace_find): Update.
* push general_thread and continue_thread into struct remote_stateTom Tromey2013-08-142-20/+26
| | | | | | | | | | | | This moves the globals general_thread and continue_thread into remote_state. * remote.c (struct remote_state) <general_thread, continue_thread>: New fields. (general_thread, continue_thread): Remove. (record_currthread, set_thread, set_general_process) (remote_open_1, extended_remote_attach_1, remote_wait_as) (extended_remote_mourn_1): Update.
* push remote_desc into struct remote_stateTom Tromey2013-08-142-40/+69
| | | | | | | | | | | | | This moves the "remote_desc" global into remote_state. * remote.c (struct remote_state) <remote_desc>: New field. (remote_desc): Remove. (remote_threads_info, remote_threads_extra_info, remote_close) (send_interrupt_sequence, remote_start_remote, remote_open_1) (readchar, remote_xfer_partial, remote_rcmd, packet_command) (remote_hostio_send_command, remote_file_put, remote_file_get) (remote_file_delete, remote_can_async_p, remote_is_async_p) (remote_async, remote_new_objfile, set_range_stepping): Update.
* Add new_remote_stateTom Tromey2013-08-142-7/+27
| | | | | | | | | | | | Add new_remote_state and change remote_state to be a pointer. This is a preparatory patch for a later series. It could perhaps be omitted, but new_remote_state also does some initialization that was previously done for the globals. * remote.c (remote_state): Now a pointer. (get_remote_state_raw): Update. (new_remote_state): New function. (_initialize_remote): Use new_remote_state.
* make remote_protocol_features "const"Tom Tromey2013-08-142-1/+5
| | | | | | This is a trivial patch to make remote_protocol_features "const". * remote.c (remote_protocol_features): Now const.
* use the libiberty crc codeTom Tromey2013-08-142-31/+6
| | | | | | | | | | | | | gdb has a copy of some CRC code that also appears in libiberty. This patch just removes the local copy. You may notice that "crc32" returns unsigned long but "xcrc32" returns unsigned int. However, this does not matter, because crc32 actually does all its operations in unsigned int type, and only the return result is widened. So, the difference does not matter. * remote.c (crc32_table, crc32): Remove. (remote_verify_memory): Use xcrc32.
* PR ld/15787Nick Clifton2013-08-142-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * elf32-arm.c (elf32_arm_final_link_relocate): Use origin of output segment containing the relocating symbol instead of assuming 0 for sb group relocations. * ld-arm/group-relocs-ldr-bad.s: Redefine bar into foo section beyond 16 bit offset width. * ld-arm/group-relocs-ldrs-bad.s: Likewise. * ld-arm/group-relocs-ldr-bad.d: Adjust expected result. * ld-arm/group-relocs-ldrs-bad.d: Likewise. * ld-arm/group-relocs.s: Add comments. Move symbols used for sb group relocations into .data section. Drop section zero. Use pc/r0 as base register when pc/sb group relocations are used. * ld-arm/group-relocs.d: Adjust expected result. * ld-arm/group-relocs-alu-bad-2.d: New test for sb group relocation. * ld-arm/group-relocs-ldc-bad-2.d: Likewise. * ld-arm/group-relocs-ldr-bad-2.d: New test for pc group relocation. * ld-arm/group-relocs-ldrs-bad-2.d: Likewise. * ld-arm/unresolved-2.d: Add sb relocation failure test. * ld-arm/group-relocs-alu-bad-2.s: New test source. * ld-arm/group-relocs-ldr-bad-2.s: Likewise. * ld-arm/group-relocs-ldrs-bad-2.s: Likewise. * ld-arm/group-relocs-ldc-bad-2.s: Likewise. * ld-arm/unresolved-2.s: Likewise. * ld-arm/arm-elf.exp: For group-relocs, drop section zero start definition. Run the new tests.
* Remove unneeded src/gdb prefix for source file namePierre Muller2013-08-141-1/+1
|
* * linux-arm-low.c: Rename all occurrences of PTRACE_ARG3_TYPELuis Machado2013-08-144-58/+68
| | | | | | | | | to PTRACE_TYPE_ARG3. * linux-low.c: Rename all occurrences of PTRACE_ARG3_TYPE to PTRACE_TYPE_ARG3 and PTRACE_ARG4_TYPE to PTRACE_TYPE_ARG4. * linux-low.h (PTRACE_ARG3_TYPE): Rename to PTRACE_TYPE_ARG3. (PTRACE_ARG4_TYPE): Rename to PTRACE_TYPE_ARG4.
* daily updateAlan Modra2013-08-141-1/+1
|
* Adjusting prototype declaration for gdb/value.h:create_internalvar_type_lazy,sergiodj2013-08-132-4/+8
| | | | | | | | | in order to match GNU Coding Standards. 2013-08-13 Sergio Durigan Junior <sergiodj@redhat.com> * value.h (create_internalvar_type_lazy): Adjust prototype declaration.