aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-04-01Constify moreAlan Modra85-148/+261
* cgen.c (weak_operand_overflow_check): Return const char*. * messages.c (as_internal_value_out_of_range): Formatting. (as_warn_value_out_of_range): Consify prefix param. (as_bad_value_out_of_range): Likewise. * read.c (s_errwarn): Constify msg.. (s_float_space, float_cons): ..and err. * as.h (as_warn_value_out_of_range, as_bad_value_out_of_range, ieee_md_atof, vax_md_atof): Update prototypes. * tc.h (md_atof): Update prototype. * config/atof-ieee.c (ieee_md_atof): Return const char*. * config/atof-vax.c (vax_md_atof): Likewise. * config/obj-elf.c (obj_elf_parse_section_letters): Constify bad_msg. * config/tc-aarch64.c (md_atof): Return const char*. * config/tc-alpha.c (s_alpha_section_name): Likewise. (s_alpha_comm): Constify sec_name. (section_name): Constify. (s_alpha_section): Consify name.. (alpha_elf_section_letter): ..and ptr_msg param.. (md_atof): ..and return. * config/tc-alpha.h (alpha_elf_section_letter): Update prototype. * config/tc-arc.c (md_atof): Return const char*. * config/tc-arm.c (md_atof): Likewise. * config/tc-avr.c (md_atof): Likewise. * config/tc-bfin.c (md_atof): Likewise. * config/tc-cr16.c (md_atof): Likewise. * config/tc-cris.c (md_atof): Likewise. * config/tc-crx.c (md_atof): Likewise. * config/tc-d10v.c (md_atof): Likewise. * config/tc-d30v.c (md_atof): Likewise. * config/tc-dlx.c (md_atof): Likewise. * config/tc-epiphany.c (md_atof): Likewise. * config/tc-fr30.c (md_atof): Likewise. * config/tc-frv.c (md_atof): Likewise. * config/tc-ft32.c (md_atof): Likewise. * config/tc-h8300.c (md_atof): Likewise. * config/tc-hppa.c (struct default_subspace_dict): Constify name. (struct default_space_dict): Likewise. (create_new_space): Constify name param. (create_new_subspace): Likewise. (is_defined_space, is_defined_subspace): Likewise. (pa_parse_space_stmt): Constify space_name param. (md_atof): Return const char*. (pa_spaces_begin): Constify name. * config/tc-i370.c (md_atof): Return const char*. * config/tc-i386.c (md_atof): Likewise. (x86_64_section_letter): Constify ptr_msg param. * config/tc-i386.h (x86_64_section_letter): Update prototype. * config/tc-i860.c (struct i860_it): Constify error. (md_atof): Return const char*. * config/tc-i960.c (md_atof): Likewise. * config/tc-ia64.c (md_atof): Likewise. (ia64_elf_section_letter): Constify ptr_msg param. * config/tc-ia64.h (ia64_elf_section_letter): Update prototype. * config/tc-ip2k.c (md_atof): Return const char*. * config/tc-iq2000.c (md_atof): Likewise. * config/tc-lm32.c (md_atof): Likewise. * config/tc-m32c.c (md_atof): Likewise. * config/tc-m32r.c (md_atof): Likewise. * config/tc-m68hc11.c (md_atof): Likewise. * config/tc-m68k.c (md_atof): Likewise. * config/tc-mcore.c (md_atof): Likewise. * config/tc-mep.c (md_atof): Likewise. (mep_elf_section_letter): Constify ptr_msg param. * config/tc-mep.h (mep_elf_section_letter): Update prototype. * config/tc-metag.c (md_atof): Return const char*. * config/tc-microblaze.c (md_atof): Likewise. * config/tc-microblaze.h (md_atof): Delete prototype. * config/tc-mips.c (mips_parse_argument_token): Constify err. (md_atof): Return const char*. * config/tc-mmix.c (md_atof): Likewise. * config/tc-mn10200.c (md_atof): Likewise. * config/tc-mn10300.c (md_atof): Likewise. * config/tc-moxie.c (md_atof): Likewise. * config/tc-msp430.c (md_atof): Likewise. * config/tc-mt.c (md_atof): Likewise. * config/tc-nds32.c (md_atof): Likewise. * config/tc-nios2.c (md_atof): Likewise. (nios2_elf_section_letter): Constify ptr_msg param. * config/tc-nios2.h (nios2_elf_section_letter): Update prototype. * config/tc-ns32k.c (md_atof): Return const char*. * config/tc-or1k.c (md_atof): Likewise. * config/tc-pdp11.c (struct pdp11_code): Constify error. (md_atof): Return const char*. * config/tc-pj.c (md_atof): Likewise. * config/tc-ppc.c (md_atof): Likewise. * config/tc-rl78.c (md_atof): Likewise. * config/tc-rx.c (md_atof): Likewise. * config/tc-s390.c (md_atof): Likewise. * config/tc-score.c (s3_atof, md_atof): Likewise. * config/tc-sh.c (md_atof): Likewise. * config/tc-sparc.c (struct sparc_it): Constify error. (md_atof): Return const char*. * config/tc-spu.c (md_atof): Likewise. * config/tc-tic30.c (md_atof): Likewise. * config/tc-tic4x.c (md_atof): Likewise. * config/tc-tic54x.c (md_atof): Likewise. * config/tc-tic6x.c (md_atof): Likewise. * config/tc-tilegx.c (md_atof): Likewise. * config/tc-tilepro.c (md_atof): Likewise. * config/tc-v850.c (parse_register_list, md_atof): Likewise. * config/tc-vax.c (md_atof): Likewise. * config/tc-visium.c (md_atof): Likewise. * config/tc-xc16x.c (md_atof): Likewise. * config/tc-xgate.c (md_atof): Likewise. * config/tc-xstormy16.c (md_atof): Likewise. * config/tc-xtensa.c (md_atof): Likewise. * config/tc-z80.c (md_atof): Likewise. * config/tc-z8k.c (md_atof): Likewise.
2016-04-01Automatic date update in version.inGDB Administrator1-1/+1
2016-03-31gdbserver: Fix C++ build errors in tracepoint.cMarcin Kościelnicki2-5/+14
These were introduced by 1cda1512689aabb36588a01370002632a0c8e560 and a13c46966d308297a1273e35ccc807a3912d573d . One is a simple missing cast, the other is const usage on global function pointers exported from IPA: in C++, consts are static, and thus won't be exported from the DSO (the build error was because of non-applicable visibility("default")). gdb/gdbserver/ChangeLog: * tracepoint.c (gdb_collect_ptr): Remove const qualifier. (get_raw_reg_ptr): Likewise. (get_trace_state_variable_value_ptr): Likewise. (set_trace_state_variable_value_ptr): Likewise. (initialize_tracepoint): Cast alloc_jump_pad_buffer result to char *.
2016-03-31Add regression test for PR gdb/19858 (JIT code registration on attach)Pedro Alves3-10/+97
This test would fail without the previous gdb/jit.c fix: (gdb) attach 23031 Attaching to program: .../build/gdb/testsuite/outputs/gdb.base/jit/jit-main, process 23031 [...] 207 WAIT_FOR_GDB; i = 0; /* gdb break here 1 */ (gdb) PASS: gdb.base/jit.exp: attach: one_jit_test-2: attach set var wait_for_gdb = 0 (gdb) PASS: gdb.base/jit.exp: attach: one_jit_test-2: set var wait_for_gdb = 0 info function ^jit_function All functions matching regular expression "^jit_function": (gdb) FAIL: gdb.base/jit.exp: attach: one_jit_test-2: info function ^jit_function gdb/testsuite/ChangeLog: 2016-03-31 Pedro Alves <palves@redhat.com> PR gdb/19858 * gdb.base/jit-main.c: Include unistd.h. (ATTACH): Define to 0 if not already defined. (wait_for_gdb, mypid): New globals. (WAIT_FOR_GDB): New macro. (MAIN): Set an alarm. Store the process's pid. Wait for GDB at some breakpoint locations. * gdb.base/jit.exp (clean_reattach, continue_to_test_location): New procedures. (one_jit_test): Add REATTACH parameter, and handle it. Use continue_to_test_location. (top level): Test attach, and adjusts calls to one_jit_test.
2016-03-31Make gdb.base/jit.exp binaries uniquePedro Alves2-9/+17
This testcase compiles the same program and library differently multiple times using the same file names. Make them unique, to make it easier to debug test problems. gdb/testsuite/ChangeLog: 2016-03-31 Pedro Alves <palves@redhat.com> PR gdb/19858 * gdb.base/jit.exp (compile_jit_test): Add intro comment. Add BINSUFFIX parameter, and handle it. (top level): Adjust calls compile_jit_test.
2016-03-31Fix PR gdb/19858: GDB doesn't register the JIT libraries on attachYichao Yu2-2/+20
Ref: https://sourceware.org/ml/gdb/2016-03/msg00023.html GDB currently fails to fetch the list of already-registered JIT modules on attach. Nothing is calling jit_inferior_init, which is what is responsible for walking the JIT object list at init time. Despite the misleading naming, jit_inferior_created_hook -> jit_inferior_init is only called when the inferior execs. This regressed with the fix for PR gdb/13431 (03bef283c2d3): https://sourceware.org/ml/gdb-patches/2012-02/msg00023.html which removed the inferior_created (jit_inferior_created_observer) observer. Adding an inferior_created observer back fixes the issue. In turn, this exposes a bug in jit_breakpoint_re_set_internal as well, which is returning the wrong result when we already have the breakpoint at the right address. gdb/ChangeLog: 2016-03-31 Yichao Yu <yyc1992@gmail.com> PR gdb/19858 * jit.c (jit_breakpoint_re_set_internal): Return 0 if we already got the breakpoint at the right address. (jit_inferior_created): New function. (_initialize_jit): Install jit_inferior_created as inferior_created observer. Signed-off-by: Pedro Alves <palves@redhat.com>
2016-03-31gdb/NEWS: Add mention of powerpc*-linux tracepoints.Marcin Kościelnicki2-0/+9
gdb/ChangeLog: * NEWS: Mention support for tracepoints on powerpc*-linux.
2016-03-31gdbserver: Add emit_ops for powerpc.Marcin Kościelnicki2-1/+1683
gdb/gdbserver/ChangeLog: 2016-03-31 Wei-cheng Wang <cole945@gmail.com> Marcin Kościelnicki <koriakin@0x04.net> PR/17221 * linux-ppc-low.c (emit_insns): New function. (__EMIT_ASM, _EMIT_ASM, EMIT_ASM): New macros. (ppc_emit_prologue): New function. (ppc_emit_epilogue): New function. (ppc_emit_add): New function. (ppc_emit_sub): New function. (ppc_emit_mul): New function. (ppc_emit_lsh): New function. (ppc_emit_rsh_signed): New function. (ppc_emit_rsh_unsigned): New function. (ppc_emit_ext): New function. (ppc_emit_zero_ext): New function. (ppc_emit_log_not): New function. (ppc_emit_bit_and): New function. (ppc_emit_bit_or): New function. (ppc_emit_bit_xor): New function. (ppc_emit_bit_not): New function. (ppc_emit_equal): New function. (ppc_emit_less_signed): New function. (ppc_emit_less_unsigned): New function. (ppc_emit_ref): New function. (ppc_emit_const): New function. (ppc_emit_reg): New function. (ppc_emit_pop): New function. (ppc_emit_stack_flush): New function. (ppc_emit_swap): New function. (ppc_emit_stack_adjust): New function. (ppc_emit_call): New function. (ppc_emit_int_call_1): New function. (ppc_emit_void_call_2): New function. (ppc_emit_if_goto): New function. (ppc_emit_goto): New function. (ppc_emit_eq_goto): New function. (ppc_emit_ne_goto): New function. (ppc_emit_lt_goto): New function. (ppc_emit_le_goto): New function. (ppc_emit_gt_goto): New function. (ppc_emit_ge_goto): New function. (ppc_write_goto_address): New function. (ppc_emit_ops_impl): New static variable. (ppc64v1_emit_prologue): New function. (ppc64v2_emit_prologue): New function. (ppc64_emit_epilogue): New function. (ppc64_emit_add): New function. (ppc64_emit_sub): New function. (ppc64_emit_mul): New function. (ppc64_emit_lsh): New function. (ppc64_emit_rsh_signed): New function. (ppc64_emit_rsh_unsigned): New function. (ppc64_emit_ext): New function. (ppc64_emit_zero_ext): New function. (ppc64_emit_log_not): New function. (ppc64_emit_bit_and): New function. (ppc64_emit_bit_or): New function. (ppc64_emit_bit_xor): New function. (ppc64_emit_bit_not): New function. (ppc64_emit_equal): New function. (ppc64_emit_less_signed): New function. (ppc64_emit_less_unsigned): New function. (ppc64_emit_ref): New function. (ppc64_emit_const): New function. (ppc64v1_emit_reg): New function. (ppc64v2_emit_reg): New function. (ppc64_emit_pop): New function. (ppc64_emit_stack_flush): New function. (ppc64_emit_swap): New function. (ppc64v1_emit_call): New function. (ppc64v2_emit_call): New function. (ppc64v1_emit_int_call_1): New function. (ppc64v2_emit_int_call_1): New function. (ppc64v1_emit_void_call_2): New function. (ppc64v2_emit_void_call_2): New function. (ppc64_emit_if_goto): New function. (ppc64_emit_eq_goto): New function. (ppc64_emit_ne_goto): New function. (ppc64_emit_lt_goto): New function. (ppc64_emit_le_goto): New function. (ppc64_emit_gt_goto): New function. (ppc64_emit_ge_goto): New function. (ppc64v1_emit_ops_impl): New static variable. (ppc64v2_emit_ops_impl): New static variable. (ppc_emit_ops): New function. (linux_low_target): Wire in ppc_emit_ops.
2016-03-31gdbserver: Add powerpc fast tracepoint support.Marcin Kościelnicki6-68/+1284
gdb/gdbserver/ChangeLog: 2016-03-31 Wei-cheng Wang <cole945@gmail.com> Marcin Kościelnicki <koriakin@0x04.net> PR/17221 * Makefile.in: Add powerpc-*-ipa.o * configure.srv: Add ipa_obj for powerpc*-linux. * linux-ppc-ipa.c: New file. * linux-ppc-low.c: Added linux-ppc-tdesc.h, ax.h, tracepoint.h includes. (PPC_FIELD): New macro. (PPC_SEXT): New macro. (PPC_OP6): New macro. (PPC_BO): New macro. (PPC_LI): New macro. (PPC_BD): New macro. (init_registers_*): Move prototype to linux-ppc-tdesc.h. (tdesc_*): Move declaration to linux-ppc-tdesc.h. (ppc_get_hwcap): Rename to ppc_get_auxv and add type parameter. (ppc_get_thread_area): New function. (is_elfv2_inferior): New function. (gen_ds_form): New function. (GEN_STD): New macro. (GEN_STDU): New macro. (GEN_LD): New macro. (GEN_LDU): New macro. (gen_d_form): New function. (GEN_ADDI): New macro. (GEN_ADDIS): New macro. (GEN_LI): New macro. (GEN_LIS): New macro. (GEN_ORI): New macro. (GEN_ORIS): New macro. (GEN_LWZ): New macro. (GEN_STW): New macro. (GEN_STWU): New macro. (gen_xfx_form): New function. (GEN_MFSPR): New macro. (GEN_MTSPR): New macro. (GEN_MFCR): New macro. (GEN_MTCR): New macro. (GEN_SYNC): New macro. (GEN_LWSYNC): New macro. (gen_x_form): New function. (GEN_OR): New macro. (GEN_MR): New macro. (GEN_LWARX): New macro. (GEN_STWCX): New macro. (GEN_CMPW): New macro. (gen_md_form): New function. (GEN_RLDICL): New macro. (GEN_RLDICR): New macro. (gen_i_form): New function. (GEN_B): New macro. (GEN_BL): New macro. (gen_b_form): New function. (GEN_BNE): New macro. (GEN_LOAD): New macro. (GEN_STORE): New macro. (gen_limm): New function. (gen_atomic_xchg): New function. (gen_call): New function. (ppc_relocate_instruction): New function. (ppc_install_fast_tracepoint_jump_pad): New function. (ppc_get_min_fast_tracepoint_insn_len): New function. (ppc_get_ipa_tdesc_idx): New function. (the_low_target): Wire in the new functions. (initialize_low_arch) [!__powerpc64__]: Don'it initialize 64-bit tdescs. * linux-ppc-tdesc.h: New file.
2016-03-31IPA: Add alloc_jump_pad_buffer target hook.Marcin Kościelnicki7-19/+194
Targets may have various requirements on the required location of the jump pad area. Currently IPA allocates it at the lowest possible address, so that it is reachable by branches from the executable. However, this fails on powerpc, which has executable link address (0x10000000) much larger than branch reach (+/- 32MiB). This makes jump pad buffer allocation a target hook instead. The current implementations are as follows: - i386 and s390: Branches can reach anywhere, so just mmap it. This avoids the linear search dance. - x86_64: Branches have +/-2GiB of reach, and executable is loaded low, so just call mmap with MAP_32BIT. Likewise avoids the linear search. - aarch64: Branches have +-128MiB of reach, executable loaded at 4MiB. Do a linear search from 4MiB-size downwards to page_size. - s390x: Branches have +-4GiB of reach, executable loaded at 2GiB. Do like on aarch64. gdb/gdbserver/ChangeLog: * linux-aarch64-ipa.c: Add <sys/mman.h> and <sys/auxv.h> includes. (alloc_jump_pad_buffer): New function. * linux-amd64-ipa.c: Add <sys/mman.h> include. (alloc_jump_pad_buffer): New function. * linux-i386-ipa.c (alloc_jump_pad_buffer): New function. * linux-s390-ipa.c: Add <sys/mman.h> and <sys/auxv.h> includes. (alloc_jump_pad_buffer): New function. * tracepoint.c (getauxval) [!HAVE_GETAUXVAL]: New function. (initialize_tracepoint): Delegate to alloc_jump_pad_buffer. * tracepoint.h (alloc_jump_pad_buffer): New prototype. (getauxval) [!HAVE_GETAUXVAL]: New prototype.
2016-03-31opcodes: Fix date in ChangeLog entryAndrew Burgess1-1/+1
Previous commit had wrong date on ChangeLog entry. Fixed.
2016-03-31opcodes/arc/nps: Fix some operand flagsAndrew Burgess2-2/+7
Some operands accidentally had the ARC_OPERAND_NCHK flag (due to copy & paste mistake), meaning the operand value was skipping the overflow check before being inserted. This commit removes the unwanted flags. opcodes/ChangeLog: * arc-opc.c (arc_operands): Fix operand flags for NPS_R_DST, and NPS_R_SRC1.
2016-03-31python: Use console format for output of gdb.execute commandCatalin Udma8-0/+214
When gdb is started in MI mode, the output of gdb.execute command is in MI-format in case when it is executed from python stop handler while for all other cases the output is in console-format. To assure consistent output format, this is fixed by using the console format for all python gdb command executions. PR python/19743 gdb/ChangeLog: 2016-03-31 Catalin Udma <catalin.udma@freescale.com> PR python/19743 * python/python.c (execute_gdb_command): Use console uiout when executing gdb command. * utils.c (restore_ui_out_closure): New structure. (do_restore_ui_out): New function. (make_cleanup_restore_ui_out): Likewise. * utils.h (make_cleanup_restore_ui_out): Declare. gdb/testsuite/ChangeLog: 2016-03-31 Catalin Udma <catalin.udma@freescale.com> PR python/19743 * gdb.python/py-mi-events-gdb.py: New file. * gdb.python/py-mi-events.c: New file. * gdb.python/py-mi-events.exp: New file. Signed-off-by: Catalin Udma <catalin.udma@freescale.com>
2016-03-31Remove support for "target m32rsdi" and "target mips/pmon/ddb/rockhopper/lsi"Pedro Alves11-5691/+38
This removes support for: | target | source | |-------------------+-----------------------| | target m32rsdi | gdb/remote-m32r-sdi.c | | target mips | gdb/remote-mips.c | | target pmon | gdb/remote-mips.c | | target ddb | gdb/remote-mips.c | | target rockhopper | gdb/remote-mips.c | | target lsi | gdb/remote-mips.c | That is: - Remote M32R debugging over SDI. - Debugging boards using the MIPS remote debugging protocol over a serial line, PMON, and a few variants. These are the last non-"target remote" remote targets in the tree, if you don't count "target sim". Refs: https://sourceware.org/ml/gdb/2016-03/msg00004.html https://sourceware.org/ml/gdb-patches/2016-03/msg00580.html gdb/ChangeLog: 2016-03-31 Pedro Alves <palves@redhat.com> * NEWS: Mention that support for "target m32rsdi", "target mips", "target pmon", "target ddb", "target rockhopper", and "target lsi" was removed. * Makefile.in (ALL_TARGET_OBS): Remove remote-m32r-sdi.o and remote-mips.o. (ALLDEPFILES): Remove remote-m32r-sdi.c and remote-mips.c. * configure.tgt: Remove all references to remote-m32r-sdi.o and remote-mips.o. * mips-tdep.c (deprecated_mips_set_processor_regs_hack): Delete function. * mips-tdep.h (deprecated_mips_set_processor_regs_hack): Delete declaration. * remote-m32r-sdi.c, remote-mips.c: Delete files. * symfile.c (generic_load, generic_load): Remove comments. gdb/doc/ChangeLog: 2016-03-31 Pedro Alves <palves@redhat.com> * gdb.texinfo (M32R/SDI): Delete node. (MIPS Embedded): Remove references to the MIPS remote debugging protocol, PMON and variants, and the associated commands.
2016-03-31enable -Wwrite-strings for gasTrevor Saunders10-14/+130
We add a new AC_SUBST to warning.m4 so that the test if the warning is supported is centralized, but the warning can be enabled per directory. binutils/ChangeLog: 2016-03-31 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * configure: Regenerate. gprof/ChangeLog: 2016-03-31 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * configure: Regenerate. ld/ChangeLog: 2016-03-31 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * configure: Regenerate. opcodes/ChangeLog: 2016-03-31 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * configure: Regenerate. bfd/ChangeLog: 2016-03-31 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * configure: Regenerate. * warning.m4: Add WARN_WRITE_STRINGS AC_SUBST. gold/ChangeLog: 2016-03-31 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * configure: Regenerate. gas/ChangeLog: 2016-03-31 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * Makefile.am: Add WARN_WRITE_STRINGS to WARN_CFLAGS. * Makefile.in: Regenerate. * configure: Likewise.
2016-03-31make xtensa_section_rename () take const char *Trevor Saunders3-4/+11
Xtensa uses it in several macros passing it a literal string, so its convenient for the argument type to be const char *. However some of the code in symbols.c seems to assume tc_canonicalize_symbol_name () will return a non const pointer, and some other target's implementations even modify the argument, so it seems best to return a char * which means casting away const on the argument when we return it instead of another string. gas/ChangeLog: 2016-03-31 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * config/tc-xtensa.c (struct rename_section_struct): Make old_name const. (xtensa_section_rename): Make argument type const char *. * config/tc-xtensa.h (xtensa_section_rename): Adjust.
2016-03-31tc-i960.c: add some casts when assigning literals to args[i]Trevor Saunders2-8/+13
parse_ldconst () takes a char ** as a in / out argument, and sometimes points args[0] to a constant string. Then in some cases after parse_ldconst () returns md_assemble () twiddles the contents of arg[0]. So it seems like it would take some work to avoid these casts, and its not really clear that work is worth it. gas/ChangeLog: 2016-03-31 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * config/tc-i960.c (parse_ldconst): Cast to char * when assigning to args[0].
2016-03-31cast the arg to md_assemble () to char *Trevor Saunders3-9/+18
For these targets its not clear how md_assemble can usefully be split up so that part can take const char *. There is also a fair number of targets that need md_assemble () to take a char *, so we can't easily make the argument const. So since there isn't many callers it seems easiest to just add a couple of casts. gas/ChangeLog: 2016-03-31 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * config/tc-m32c.c (m32c_md_end): cast the argument to md_assemble to char *. (m32c_indirect_operand): Likewise. * config/tc-nds32.c (do_pseudo_b): Likewise. (do_pseudo_bal): Likewise. (do_pseudo_ls_bhw): Likewise.
2016-03-31cast to char * when assigning to optargTrevor Saunders2-1/+5
gas/ChangeLog: 2016-03-31 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * as.c (parse_args): Cast literal to char * when assigning to optarg.
2016-03-31work around get_symbol_name () in sparc and ia64Trevor Saunders3-3/+12
get_symbol_name () returns a char * in a out arg, which means we need to cast to assign a literal to the variable passed to get_symbol_name (). It seems like better APIs than get_symbol_name () could be provided, but that seems like a fair amount of work so just casting seems to be the betterthing to do for now. gas/ChangeLog: 2016-03-31 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * config/tc-ia64.c (md_assemble): Add temporary variable to pass to get_symbol_name (). * config/tc-sparc.c (s_register): Cast a literal to char * in assignment.
2016-03-31cast literal to char * when assigning to input_line_ptrTrevor Saunders6-9/+18
various places either directly or indirectly set input_line_pointer to point at a literal. Currently lots of places modify the string input_line_pointer points at, so making it const isn't easy. Since most if not all of these places assign to input_line_pointer to parse an expression it would probably be best to add ways to generate and deal with expressions that doesn't involve parsing strings, but for now adding some casts seems easiest. gas/ChangeLog: 2016-03-31 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * config/tc-i960.c (parse_expr): Cast to char * when assigning to input_line_pointer. * config/tc-m32r.c (expand_debug_syms): Likewise. * config/tc-msp430.c (msp430_dstoperand): Likewise. * config/tc-z80.c (md_begin): Likewise. * stabs.c (stabs_generate_asm_func): Likewise.
2016-03-31More cases of missing TO_ADDR in ldlang.cAlan Modra2-14/+21
and one extraneous occurrence. * ldlang.c (TO_ADDR, TO_SIZE, opb_shift): Move earlier in file. (lang_insert_orphan): Use TO_ADDR in __stop sym calculation. (print_input_section): Don't use TO_ADDR when printing section size. (lang_size_sections_1): Use TO_ADDR in overlay lma calculation. (lang_size_sections): Use TO_ADDR in relro end calculation.
2016-03-31get rid of K&R style argsTrevor Saunders7-87/+39
gas/ChangeLog: 2016-03-31 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * cgen.c: Modernize the way functions declare arguments. * config/tc-bfin.c: Likewise. * config/tc-pdp11.c: Likewise. * literal.c: Likewise. * read.c: Likewise. * stabs.c: Likewise.
2016-03-31make some variables unsignedTrevor Saunders5-10/+18
these places define char arrays containing values greater than 0x80 which doesn't fit in an 8 bit signed char, but does fit in an unsigned one. gas/ChangeLog: 2016-03-31 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * config/tc-aarch64.c (aarch64_handle_align): Make the type of some variables unsigned char[]. * config/tc-alpha.c (alpha_handle_align): Likewise. * config/tc-arm.c (arm_handle_align): Likewise. * config/tc-z80.c: Likewise.
2016-03-30Don't override definition a shared object by one in a later shared object.Cary Coutant2-0/+13
In PR 16979, a reference to malloc is being resolved to an unversioned reference in libmalloc.so. When linked with --as-needed, however, the dynamic table does not list libmalloc.so as a DT_NEEDED library. If we have a reference to an unversioned symbol in a shared object, and we later see a versioned definition in another shared object, we were overriding the first definition with the second in the process of defining the default version. As a result, we no longer think that the first shared object was actually needed to resolve any symbols, and we don't list it as a DT_NEEDED library. This patch fixes the problem by treating the two definitions as separate symbols, so the second definition does not override the first. 2016-03-30 Cary Coutant <ccoutant@gmail.com> gold/ PR gold/16979 * symtab.cc (Symbol_table::define_default_version): Check for case where symbols are both in different shared objects.
2016-03-31Automatic date update in version.inGDB Administrator1-1/+1
2016-03-30gdbserver/IPA: Export some functions via global function pointers.Marcin Kościelnicki7-28/+103
On powerpc64, qSymbol for a function returns the function code address, and not the descriptor address. Since we emit code calling gdb_collect and some other functions, we need the descriptor (no way to know the proper TOC address without it). To get the descriptor address, make global function pointer variables in the IPA pointing to the relevant functions and read them instead of asking for them directly via qSymbol. gdb/gdbserver/ChangeLog: * linux-aarch64-ipa.c: Rename gdb_agent_get_raw_reg to get_raw_reg. * linux-amd64-ipa.c: Likewise. * linux-i386-ipa.c: Likewise. * linux-s390-ipa.c: Likewise. * tracepoint.c: IPA-export gdb_collect_ptr instead of gdb_collect, ditto for get_raw_reg_ptr, get_trace_state_variable_value_ptr, set_trace_state_variable_value_ptr. (struct ipa_sym_addresses): Likewise. (symbol_list): Likewise. (install_fast_tracepoint): Dereference gdb_collect_ptr instead of accessing gdb_collect directly. (gdb_collect_ptr_type): New typedef. (get_raw_reg_ptr_type): New typedef. (get_trace_state_variable_value_ptr_type): New typedef. (set_trace_state_variable_value_ptr_type): New typedef. (gdb_collect_ptr): New global. (get_raw_reg_ptr): New global. (get_trace_state_variable_value_ptr): New global. (set_trace_state_variable_value_ptr): New global. (get_raw_reg_func_addr): Dereference get_raw_reg_ptr instead of accessing get_raw_reg directly. (get_get_tsv_func_addr): Likewise for get_trace_state_variable_value_ptr. (get_set_tsv_func_addr): Likewise for set_trace_state_variable_value_ptr. * tracepoint.h: Rename gdb_agent_get_raw_reg to get_raw_reg.
2016-03-30opcodes/arc: Comment and whitespace fixes in opcode tableAndrew Burgess2-6/+13
Add a new comment, and clean up some whitespace issues in the instruction table. opcode/ChangeLog: * arc-nps400-tbl.h: Add a header comment, and fix some whitespace issues. No functional changes.
2016-03-30ld/testing: Fix error and warning checks in run_dump_testAndrew Burgess4-5/+12
The options warning_output and error_output to the run_dump_test function were incorrectly checking the return value from the regexp_diff function, and so, as a result failing tests were showing as a pass. Fixed in this commit. ld/ChangeLog: * testsuite/lib/ld-lib.exp (run_dump_test): Fix check of return value from regexp_diff. * testsuite/ld-elf/orphan-5.l: Fix expected output. * testsuite/ld-elf/orphan-6.l: Likewise.
2016-03-30Check func against 0 rather than NULLYao Qi2-1/+6
Variable 'func''s type is CORE_ADDR, so it should be compared with 0 rather than NULL. This causes a build error. This patch fixes this. gdb: 2016-03-30 Yao Qi <yao.qi@linaro.org> * arm-tdep.c (arm_epilogue_frame_this_id): Check 'func' against 0 rather than NULL.
2016-03-30Add arm epilogue unwinderYao Qi2-0/+116
Nowadays, GDB can't unwind successfully from epilogue on arm, (gdb) bt #0 0x76ff65a2 in shr1 () from /home/yao/Source/gnu/build/gdb/testsuite/gdb.reverse/shr1.sl #1 0x0000869e in main () at /home/yao/Source/gnu/build/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.reverse/solib-reverse.c:34 Backtrace stopped: previous frame inner to this frame (corrupt stack?) (gdb) disassemble shr1 Dump of assembler code for function shr1: .... 0x76ff659a <+10>: adds r7, #12 0x76ff659c <+12>: mov sp, r7 0x76ff659e <+14>: ldr.w r7, [sp], #4 0x76ff65a2 <+18>: bx lr End of assembler dump. in this case, prologue unwinder is used. It analyzes the prologue and get the offsets of saved registers to SP. However, in epilogue, the SP has been restored, prologue unwinder gets the registers from the wrong address, and even the frame id is wrong. In reverse debugging, this case (program stops at the last instruction of function) happens quite frequently due to the reverse execution. There are many test fails due to missing epilogue unwinder. This adds epilogue unwinder, but the frame cache is still get by prologue unwinder except that SP is fixed up separately, because SP is restored in epilogue. This patch fixes many fails in solib-precsave.exp, and solib-reverse.exp. gdb: 2016-03-30 Yao Qi <yao.qi@linaro.org> * arm-tdep.c: (arm_make_epilogue_frame_cache): New function. (arm_epilogue_frame_this_id): New function. (arm_epilogue_frame_prev_register): New function. (arm_epilogue_frame_sniffer): New function. (arm_epilogue_frame_unwind): New. (arm_gdbarch_init): Append unwinder arm_epilogue_frame_unwind.
2016-03-30Refactor arm_stack_frame_destroyed_pYao Qi2-6/+20
This patch is to refactor arm_stack_frame_destroyed_p, so that the code can be used in both arm_stack_frame_destroyed_p and arm epilogue unwinder I am going to add in the next patch. In fact, the code is the same in two places, but checking whether it is thumb mode is slightly different. arm_stack_frame_destroyed_p uses arm_pc_is_thumb, and epilogue unwinder should use arm_frame_is_thumb. gdb: 2016-03-30 Yao Qi <yao.qi@linaro.org> * arm-tdep.c (arm_stack_frame_destroyed_p): Rename it ... (arm_stack_frame_destroyed_p_1): ... here. Don't call arm_pc_is_thumb. (arm_stack_frame_destroyed_p): Call thumb_stack_frame_destroyed_p and arm_stack_frame_destroyed_p_1.
2016-03-30Simplify gdb.reverse/until-reverse.cYao Qi4-9/+17
Nowadays, functions fprintf, printf and malloc are executed in gdb.reverse/until-reverse.c, so that it takes much time to record instructions inside them. This may cause timeout, and we had several fixes to bump the timeout, https://sourceware.org/ml/gdb-patches/2012-02/msg00038.html https://sourceware.org/ml/gdb-patches/2015-08/msg00186.html also I still see this on arm-linux, continue Continuing. Do you want to auto delete previous execution log entries when record/replay buffer becomes full (record full stop-at-limit)?([y] or n) n Process record: stopped by user. Program stopped. 0xf77021e6 in __linkin_atfork (newp=0xf7751748 <atfork_mem>) at ../nptl/sysdeps/unix/sysv/linux/register-atfork.c:117 117 ../nptl/sysdeps/unix/sysv/linux/register-atfork.c: No such file or directory. (gdb) FAIL: gdb.reverse/until-precsave.exp: run to end of main (got interactive prompt) however, I can't figure out how these functions (fprintf, printf and malloc) are related to the test itself. marker1 is a function from shared library too so we don't need these complicated libc functions at all. IMO, recording the instructions in these libc functions has nothing to do with the test itself except slow down the test. This patch is to remove the usage of fprintf and printf, and also move malloc to a dead code path. gdb/testsuite: 2016-03-30 Yao Qi <yao.qi@linaro.org> * gdb.reverse/until-precsave.exp: Match function name only. * gdb.reverse/until-reverse.c (main): Don't call fprintf nor printf. Move malloc to a condition block. * gdb.reverse/until-reverse.exp: Match function name only.
2016-03-30Fix compile time warning about comparison between signed and unsigned values.Nick Clifton2-1/+7
PR target/19880 * config/tc-arm.c (do_t_push_pop): Cast bitmask to unsigned before shifting.
2016-03-30gdbserver/tracepoint.c: Remove whitespaceSimon Marchi2-1/+5
gdb/gdbserver/ChangeLog: * tracepoint.c (cmd_qtenable_disable): Remove whitespace.
2016-03-30[ARC] Allow equ redefintion tests for ARC.Claudiu Zissulescu4-3/+9
gas/ 2016-03-30 Claudiu Zissulescu <claziss@synopsys.com> * testsuite/gas/all/gas.exp: Don't xfail on ARC. * testsuite/gas/elf/elf.exp: Likewise. * testsuite/gas/all/redef3.d: Allow execution for ARC.
2016-03-30[ARC] Fix warn.exp test error.Claudiu Zissulescu2-1/+5
gas/ 2016-03-30 Claudiu Zissulescu <claziss@synopsys.com> * testsuite/gas/arc/warn.exp: Fix matching pattern.
2016-03-30[ARC] Cleanup AUX register names.Claudiu Zissulescu2-27/+13
opcodes/ 2016-03-30 Claudiu Zissulescu <claziss@synopsys.com> * arc-regs.h (IC_RAM_ADDRESS, IC_TAG, IC_WP, IC_DATA, CONTROL0) (AX2, AY2, MX2, MY2, AY0, AY1, DC_RAM_ADDR, DC_TAG, CONTROL1) (RTT): Remove duplicate. (LCDINSTR, LCDDATA, LCDSTAT, CC_*, PCT_COUNT*, PCT_SNAP*) (PCT_CONFIG*): Remove. (D1L, D1H, D2H, D2L): Define.
2016-03-30Fix a seg-fault in the AVR linker.Senthil Kumar Selvaraj2-2/+9
* elf32-avr.c (avr_elf32_load_records_from_section): Free internal_relocs only if they aren't cached.
2016-03-30Fix more bugs in AArch64 simulator.Nick Clifton5-196/+323
* cpustate.c (aarch64_set_reg_s32): New function. (aarch64_set_reg_u32): New function. (aarch64_get_FP_half): Place half precision value into the correct slot of the union. (aarch64_set_FP_half): Likewise. * cpustate.h: Add prototypes for aarch64_set_reg_s32 and aarch64_set_reg_u32. * memory.c (FETCH_FUNC): Cast the read value to the access type before converting it to the return type. Rename to FETCH_FUNC64. (FETCH_FUNC32): New macro. Duplicates FETCH_FUNC64 but for 32-bit accesses. Use for 32-bit memory access functions. * simulator.c (ldrsb_wb): Use sign extension not zero extension. (ldrb_scale_ext, ldrsh32_abs, ldrsh32_wb): Likewise. (ldrsh32_scale_ext, ldrsh_abs, ldrsh64_wb): Likewise. (ldrsh_scale_ext, ldrsw_abs): Likewise. (ldrh32_abs): Store 32 bit value not 64-bits. (ldrh32_wb, ldrh32_scale_ext): Likewise. (do_vec_MOV_immediate): Fix computation of val. (do_vec_MVNI): Likewise. (DO_VEC_WIDENING_MUL): New macro. (do_vec_mull): Use new macro. (do_vec_mul): Use new macro. (do_vec_MLA): Read values before writing. (do_vec_xtl): Likewise. (do_vec_SSHL): Select correct shift value. (do_vec_USHL): Likewise. (do_scalar_UCVTF): New function. (do_scalar_vec): Call new function. (store_pair_u64): Treat reads of SP as reads of XZR.
2016-03-30Move CL entries from gdb/ChangeLog to gdb/testsuite/ChangeLogYao Qi2-9/+9
Two ChangeLog entries in gdb/ChangeLog should be placed in gdb/testsuite/ChangeLog. This patch moves them to the right place.
2016-03-30PR18452, ld allows overlapping sectionsAlan Modra3-46/+116
PR 18452 * ldlang.c (maybe_overlays): New static var. (lang_size_sections_1): Set it here. (struct check_sec): New. (sort_sections_by_lma): Adjust for array of structs. (sort_sections_by_vma): New function. (lang_check_section_addresses): Check both LMA and VMA for overlap. * testsuite/ld-scripts/rgn-over7.d: Adjust.
2016-03-30Missing TO_ADDRAlan Modra2-1/+6
* ldlang.c (lang_size_sections_1): Correct code detecting a backward non-overlapping move.
2016-03-30Use consistent test for .tbss sections in ldlang.cAlan Modra2-12/+15
Some places tested SEC_LOAD, others SEC_HAS_CONTENTS. * ldlang.c (IS_TBSS): New macro, extracted from.. (IGNORE_SECTION): ..here. (lang_size_sections_1): Use IS_TBSS and IGNORE_SECTION. (lang_size_sections, lang_do_assignments_1): Use IS_TBSS.
2016-03-29python/py-utils.c (host_string_to_python_string): New function.Doug Evans8-21/+30
gdb/ChangeLog: * python/py-utils.c (host_string_to_python_string): New function. * python/python-internal.h (host_string_to_python_string): Declare it. * python/py-*.c (*): Update all calls to PyString_Decode (str, strlen (str), host_charset (), NULL); to use host_string_to_python_string instead.
2016-03-29use xstrdup and friends moreTrevor Saunders5-62/+30
gas/ChangeLog: 2016-03-29 Trevor Saunders <tbsaunde+binutils@tbsaunde.org> * config/tc-hppa.c (pa_space): Use xstrdup where appropriate. (pa_subspace): Likewise. (create_new_space): Likewise. (create_new_subspace): Likewise. * config/tc-mips.c (mips_lookup_insn): Likewise. * config/tc-tic4x.c (tic4x_asg): Likewise. * config/tc-tic54x.c (tic54x_eval): Likewise. (stag_add_field): Likewise. (tic54x_usect): Likewise. (tic54x_clink): Likewise. (tic54x_set_default_include): Likewise. (tic54x_include): Likewise. (tic54x_message): Likewise. (tic54x_sblock): Likewise. (tic54x_var): Likewise. (subsym_ismember): Likewise. (subsym_substitute): Likewise. * config/tc-xtensa.c (xg_replace_opname): Likewise. (xg_translate_sysreg_op): Likewise. (xg_translate_idioms): Likewise. (md_assemble): Likewise. (cache_literal_section): Likewise.
2016-03-30Automatic date update in version.inGDB Administrator1-1/+1
2016-03-30gdbserver: Handle 'v' packet while processing qSymbol.Marcin Kościelnicki6-23/+56
On powerpc64, qSymbol query may require gdb to read a function descriptor, sending a vFile packet to gdbserver. Thus, we need to handle 'v' packet in look_up_one_symbol. vFile replies may be quite long, and require reallocating own_buf. Since handle_v_requests assumes the buffer is the static global own_buf from server.c and reallocates it, we need to make own_buf global and use it from look_up_one_symbol instead of using our own auto variable. I've also done the same change in relocate_instruction, just in case. On gdb side, in remote_check_symbols, rs->buf may be clobbered by vFile handling, yet we need its contents for the reply (the symbol name is stored there). Allocate a new buffer instead. This broke fast tracepoints on powerpc64, due to errors in reading IPA symbols. gdb/ChangeLog: * remote.c (remote_check_symbols): Allocate own buffer for reply. gdbserver/ChangeLog: * remote-utils.c (look_up_one_symbol): Remove own_buf, handle 'v' packets. (relocate_instruction): Remove own_buf. * server.c (own_buf): Make global. (handle_v_requests): Make global. * server.h (own_buf): New declaration. (handle_v_requests): New prototype.
2016-03-30gdb: xtensa: fix frame initialization when PC is invalidMax Filippov2-3/+8
When gdb is used on core dump and PC is not pointing to a readable memory read_memory_integer call in the xtensa_frame_cache throws an error, making register inspection/backtracing impossible in that thread. Use safe_read_memory_integer instead. 2016-03-29 Max Filippov <jcmvbkbc@gmail.com> gdb/ * xtensa-tdep.c (xtensa_frame_cache): Change op1 type to LONGEST. Use safe_read_memory_integer instead of read_memory_integer.
2016-03-29gdb/NEWS: Add mention of s390*-linux tracepoints.Marcin Kościelnicki2-0/+8
gdb/ChangeLog: * NEWS: Mention support for tracepoints on s390*-linux.