Commit graph

74290 commits

Author SHA1 Message Date
Tom Tromey
2f2e97fabc * cli/cli-cmds.c (filter_sals): Handle nelts == 0 case. 2012-08-22 14:24:05 +00:00
Nick Clifton
da2bb5602c Move aarch64 announcement into 2.23 section. 2012-08-22 07:35:36 +00:00
gdbadmin
f3523bc0fc *** empty log message *** 2012-08-22 00:00:34 +00:00
Alan Modra
44de515932 daily update 2012-08-22 00:00:04 +00:00
David S. Miller
2c63854f55 Fix sparc opcode encoding for 4-arg crypto instructions.
include/opcode

	* sparc.h (F3F4): New macro.

opcodes

	* sparc-opc.c (4-argument crypto instructions): Fix encoding using
	F3F4 macro.

gas/testsuite

	* gas/sparc/crypto.d: Fix opcodes for 4-arg crypto instructions.
2012-08-21 23:00:36 +00:00
Cary Coutant
1d5dfe78f9 2012-08-21 Cary Coutant <ccoutant@google.com>
gold/
	* symtab.cc (Symbol_table::gc_mark_undef_symbols): Don't assert
	if --export-dynamic-symbol names an undef symbol.
2012-08-21 21:41:04 +00:00
Tom Tromey
45b7da814b * gdb.hp/gdb.aCC/exception.exp: Remove. 2012-08-21 19:36:47 +00:00
Pierre Muller
b3dbbd6f40 * symfile.c (allocate_symtab): Use host_address_to_string
function instead of cast of pointer to long which is not
	compatible with x86_64-w64-mingw32 build.
2012-08-21 15:43:46 +00:00
gdbadmin
3c65f4f9ff *** empty log message *** 2012-08-21 00:00:32 +00:00
Alan Modra
8fdefd9836 daily update 2012-08-21 00:00:05 +00:00
Tom Tromey
06e7acd76f * vms-lib.c (_bfd_vms_lib_get_module): Use bfd_zmalloc for
areltdata.
	* opncls.c (_bfd_delete_bfd): Free arelt_data.
	* mach-o.c (bfd_mach_o_fat_member_init): Use bfd_zmalloc for
	areltdata.
	* ecoff.c (_bfd_ecoff_slurp_armap): Use free for mapdata.
	* coff-rs6000.c (_bfd_xcoff_read_ar_hdr): Use bfd_zmalloc for
	areltdata.
	(xcoff_write_archive_contents_old): Likewise.
	(xcoff_write_archive_contents_big): Likewise.
	* archive64.c (bfd_elf64_archive_slurp_armap): Use free for
	areltdata.
	* archive.c (_bfd_generic_read_ar_hdr_mag): Use bfd_zmalloc and
	free for areltdata.
	(_bfd_get_elt_at_filepos): Likewise.  Clear n_nfd->arelt_data on
	failure.
	(do_slurp_bsd_armap): Use bfd_zmalloc and free for areltdata.
	(do_slurp_coff_armap): Likewise.
	(_bfd_slurp_extended_name_table): Likewise.
	(bfd_slurp_bsd_armap_f2): Likewise.  Don't leak 'mapdata'.
2012-08-20 14:32:31 +00:00
H.J. Lu
542385d9f7 Replace --n32 with --x32
* doc/as.texinfo: Replace --n32 with --x32.
2012-08-20 13:57:05 +00:00
Alan Modra
e67ed0e885 opcodes/ChangeLog
* ppc-opc.c (powerpc_opcodes): Changed opcode for vabsdub,
	vabsduh, vabsduw, mviwsplt.
gas/testsuite/ChangeLog
	* gas/ppc/e6500.d: Changed opcode for vabsdub, vabsduh, vabsduw,
	mviwsplt.
2012-08-20 03:20:24 +00:00
Alan Modra
f1d4a2242f daily update 2012-08-20 00:00:04 +00:00
gdbadmin
10ca2ade2f *** empty log message *** 2012-08-20 00:00:03 +00:00
Andrew Pinski
f94363d720 2012-08-19 Andrew Pinski <apinski@cavium.com>
* mips-tdep.c (is_octeon): New function.
	(is_octeon_bbit_op): New function.
	(mips32_next_pc): Handle Octeon's bbit instructions.
	(mips32_instruction_has_delay_slot): Likewise.

012-08-19  Andrew Pinski  <apinski@cavium.com>

        * gdb.arch/mips-octeon-bbit.c: New file.
        * gdb.arch/mips-octeon-bbit.exp: New Test.
2012-08-19 22:22:49 +00:00
Andrew Pinski
78a59c2fea 2012-08-19 Andrew Pinski <apinski@cavium.com>
* mips-tdep.c (mips32_next_pc): Fix line spacing of the comment
	before the function.
2012-08-19 22:21:21 +00:00
Andrew Pinski
4f5bcb5090 2012-08-19 Andrew Pinski <apinski@cavium.com>
* mips-tdep.c (mips32_next_pc): Consolidate calls to itype_op.
2012-08-19 22:20:29 +00:00
Keith Seitz
e5afdbd7a0 PR c++/14365
* c-typeprint.c (c_type_print_varspec_prefix): Pass
	-1 for SHOW to c_type_print_base for METHODPTR and MEMBERPTR.

	* gdb.dwarf2/dw2-anon-mptr.exp: New file.
	* gdb.dwarf2/dw2-anon-mptr.S: New file.
2012-08-19 19:37:51 +00:00
Alan Modra
f8aa133dce daily update 2012-08-19 00:00:04 +00:00
gdbadmin
ac48ea5691 *** empty log message *** 2012-08-19 00:00:03 +00:00
Alan Modra
c9269dff67 * powerpc.cc: Formatting and white space.
(Powerpc_relobj): Rename got2_section_ to special_.
	Add opd_ent_shndx_ and opd_ent_off_ vectors.
	(Powerpc_relobj::opd_shndx, init_opd, get_opd_ent, set_opd_ent,
	scan_opd_relocs, do_read_relocs, opd_ent_ndx): New functions.
	(Target_powerpc): Add Address typedef and invalid_address.  Use
	throughout.
	(Target_powerpc::is_branch_reloc): New function.
	(Powerpc_relocate_functions): Add Address typedef, use throughout.
	(Powerpc_relocate_functions:rela, rela_ua): Correct type used
	for dst_mask, value and addend.
	(Powerpc_relobj::do_find_special_sections): Find .opd for 64-bit.
	(ld_2_1, cror_15_15_15, cror_31_31_31): New insn constants.
	(Output_data_glink::do_write): Correct toc base.  Don't try to use
	uint16_t for 24-bit offset.  Use get_output_section_offset and
	check return.
	(Target_powerpc::Scan::local): Handle more relocs.
	(Target_powerpc::do_finalize_sections): Set up DT_PPC64_GLINK.
	(Target_powerpc::Relocate::relocate): Correct toc base calculation.
	Plug in toc restoring insn after plt calls.  Translate branches
	to function descriptor symbols to corresponding entry point.
	(Target_powerpc::relocate_for_relocatable): Check return from
	get_output_section_offset.
	* symtab.h: Comment typo.
2012-08-18 11:12:50 +00:00
Eli Zaretskii
13c9750ebf Fix a typo that prevented "make TAGS" from working.
gdb/Makefile.in (HFILES_NO_SRCDIR): Fix a typo: golang.h -> go-lang.h.
 The typo broke "make TAGS".
2012-08-18 11:00:37 +00:00
Jan Kratochvil
c29e8b6460 gdb/testsuite/
* gdb.base/solib-corrupted.exp (make solibs looping): Replace
	verbose -log by more specific untested call.
2012-08-18 07:02:09 +00:00
Yao Qi
15a7e7bcb1 gdb/testsuite/
* gdb.trace/tfind.exp: Move tests on various command help before
	checking target supports trace.
	Fix the expected output of 'help tfind end'.
2012-08-18 01:00:19 +00:00
H.J. Lu
eb4dc530cb Remove extra verbose before binutils_run
* binutils-all/ar.exp (long_filenames): Remove extra verbose
	before binutils_run.
	(thin_archive): Likewise.
	(thin_archive_with_nested): Likewise.  Also run bfdtest1 on
	$archive2.
2012-08-18 00:18:31 +00:00
Alan Modra
1df9735d1c daily update 2012-08-18 00:00:05 +00:00
gdbadmin
91742a8b5d *** empty log message *** 2012-08-18 00:00:03 +00:00
Andreas Schwab
e372c21ce5 * floatformat.c (floatformat_to_double): Correctly handle numbers
between 1 and 2.  Simplify handling of denormal number.
(main): Test with 1.1.
2012-08-17 21:59:31 +00:00
gdbadmin
db7618108f GDB 7.5 released. 2012-08-17 18:41:46 +00:00
Keith Seitz
a451cb65e3 PR c++/13356
* gdbtypes.c (strict_type_checking): New variable.
	(show_strict_type_checking): New function.
	(rank_one_type): Return NS_POINTER_INTEGER_CONVERSION_BADNESS
	if strict type checking is disabled.
	(_initialize_gdbtypes): Add "check type" subcommand.
	* gdbtypes.h (NS_INTEGER_POINTER_CONVERSION_BADNESS): New struct.

	PR c++/13356
	* gdb.base/default.exp: Update all "check type" tests.
	* gdb.base/help.exp: Likewise.
	* gdb.base/setshow.exp: Likewise.
	* gdb.cp/converts.cc (foo1_type_check): New function.
	(foo2_type_check): New function.
	(foo3_type_check): New function.
	(main): Call new functions.
	* converts.exp: Add tests for integer-to-pointer conversions
	with/without strict type-checking.

	PR c++/13356
	* gdb.texinfo (Type and Range Checking): Remove warning.
	Remove spurious commas.
	Update text and examples for re-implementation of set/show
	check type.
	(C and C++ Type and Range Checks): Likewise.

	* language.h (type_mode): Remove.
	(type_check): Remove.
	(struct language_defn): Remove la_type_check.
	(STRICT_TYPE): Remove unused macro.
	(type_error): Remove.
	* language.c (set_type_range_case): Renamed to ...
	(set_range_case): ... this.  Update all callers.
	Remove type_mode/type_check.
	(type_mode): Remove.
	(type_check): Remove.
	(show_type_command): Remove.
	(set_type_command): Remove.
	(language_info): Remove type checking output.
	(type_error): Remove unused function.
	(range_error): Update comment.
	(unknown_language_defn): Remove la_type_check.
	(auto_language_defn): Likewise.
	(local_language_defn): Likewise.
	(_initialize_language): Remove "check type" subcommand.
	* ada-lang.c (ada_language_defn): Remove la_type_check.
	* c-lang.c (c_language_defn): Likewise.
	(cplus_language_defn): Likewise.
	(asm_language_defn): Likewise.
	(minimal_language_defn): Likewise.
	* d-lang.c (d_language_defn): Likewise.
	* f-lang.c (f_language_defn): Likewise.
	* go-lang.c (go_language_defn): Likewise.
	* jv-lang.c (java_language_defn): Likewise.
	* m2-lang.c (m2_language_defn): Likewise.
	* objc-lang.c (objc_language_defn): Likewise.
	* opencl-lang.c (opencl_language_defn): Likewise.
	* p-lang.c (pascal_language_defn): Likewise.
2012-08-17 17:37:03 +00:00
H.J. Lu
7b458c12dc Add AMD btver1 and btver2 support
gas/

2012-08-17  Nagajyothi Eggone  <nagajyothi.eggone@amd.com>

	* config/tc-i386.c (cpu_arch): Add CPU_BTVER1_FLAGS and
	CPU_BTVER2_FLAGS.
	(i386_align_code): Add case for PROCESSOR_BT.

	* config/tc-i386.h (enum processor_type): Add PROCESSOR_BT.

	* doc/c-i386.texi: Add -march={btver1, btver2} options.

gas/testsuite/

2012-08-17  Nagajyothi Eggone  <nagajyothi.eggone@amd.com>

	* gas/i386/i386.exp: Run btver1 and btver2 test cases.

	* gas/i386/nops-1-btver1.d: New.
	* gas/i386/nops-1-btver2.d: New.
	* gas/i386/arch-10-btver1.d: New.
	* gas/i386/arch-10-btver2.d: New.
	* gas/i386/x86-64-nops-1-btver1.d: New.
	* gas/i386/x86-64-nops-1-btver2.d: New.
	* gas/i386/x86-64-arch-2-btver1.d: New.
	* gas/i386/x86-64-arch-2-btver2.d: New.

opcodes/

2012-08-17  Nagajyothi Eggone  <nagajyothi.eggone@amd.com>

	* i386-gen.c (cpu_flag_init): Add CPU_BTVER1_FLAGS and
	CPU_BTVER2_FLAGS.

	* i386-opc.h: Update CpuPRFCHW comment.

	* i386-opc.tbl: Enable prefetch instruction for CpuPRFCHW.
	* i386-init.h: Regenerated.
	* i386-tbl.h: Likewise.
2012-08-17 17:12:36 +00:00
Kai Tietz
ee8206a9d3 PR ld/14326
* scripttempl/pe.sc: Add _etext symbol.
2012-08-17 16:33:03 +00:00
Nick Clifton
eb80cb8751 * po/vi.po: Updated Vietnamese translation.
* po/uk.po: New Ukranian translation.
	* configure.in (ALL_LINGUAS): Add uk.
	* configure: Regenerate.
2012-08-17 14:33:27 +00:00
Mike Frysinger
dbf6a605ee gdb: fix test failures after updating usage strings 2012-08-17 03:06:11 +00:00
Alan Modra
a86852103b typo fixes 2012-08-17 02:43:21 +00:00
Alan Modra
ed668b34df PR binutils/14475:
* archive.c (bfd_ar_hdr_from_filesystem): Revert last change.
	Instead malloc areltdata.
2012-08-17 01:06:27 +00:00
gdbadmin
f75182c822 *** empty log message *** 2012-08-17 00:00:33 +00:00
Alan Modra
d4ae793968 daily update 2012-08-17 00:00:04 +00:00
Joel Brobecker
973e3cf70d fix internal_error during fork event handling.
When running on ia64-hpux a program that calls fork, GDB currently
reports the following internal error:

    internal-error: Can't determine the current address space of thread process 1882

Here is what happens:
  1. GDB receives a "fork" event;
  2. handle_inferior_event calls detach_breakpoints for the child process;
  3. detach_breakpoints calls ia64's gdbarch remove_breakpoint hook,
     which needs to read an entire instruction slot in order to remove
     a breakpoint instruction from memory;
  4. To read inferior memory, the ia64-hpux code needs to know where
     that memory is located relative to the bsp..bspstore area,
     and thus needs to read the value of those registers;
  5. To get the value of those registers, ia64_hpux_xfer_memory current
     uses the current regcache.

The problem is that at the time we are trying to remove the breakpoints
from the child, the child process is not part of the list of inferiors
really known to GDB (it has not been added to inferior_list), so trying
to create a regcache for it triggers an internal error when creating
address space for the regcache (as the address space is ultimately
fetched from the inferior).

To work around this limitation, ia64_hpux_xfer_memory has been modified
to detect the fact the current inferior is not in our inferior list,
and to go, in that case, straight to the source to fetch the registers
it needs.

gdb/ChangeLog:

        * ia64-hpux-nat.c (ia64_hpux_get_register_from_save_state_t):
        New function.
        (ia64_hpux_xfer_memory): Check if inferior_ptid is known before
        using the regache.  Use ia64_hpux_get_register_from_save_state_t
        to access the bsp and bspstore registers if not.
2012-08-16 23:55:02 +00:00
Joel Brobecker
d80ee84fe2 Change detach_breakpoints to take a ptid instead of a pid
Before this change, detach_breakpoints would take a pid, and then
set inferior_ptid to a ptid that it constructs using pid_to_ptid (pid).
Unfortunately, this ptid is not necessarily valid.  Consider for
instance the case of ia64-hpux, where ttrace refuses a register-read
operation if the LWP is not provided.

This problems shows up when GDB is trying to handle fork events.
Assuming GDB is configured to follow the parent, GDB will try to
detach from the child. But before doing so, it needs to remove
all breakpoints inside that child.  On ia64, this involves reading
inferior (the child's) memory. And on ia64-hpux, reading memory
requires us to read the bsp and bspstore registers, in order to
determine where that memory is relative to the value of those
registers, and thus to determine which ttrace operation to use in
order to fetch that memory (see ia64_hpux_xfer_memory).

This patch therefore changes detach_breakpoints to take a ptid instead
of a pid, and then updates all callers.

One of the consequences of this patch is that it trips an assert
on GNU/Linux targets.  But this assert appears to have not actual
purpose, and is thus removed.

gdb/ChangeLog:

        * breakpoint.h (detach_breakpoints): pid parameter is now a ptid.
        * breakpoint.c (detach_breakpoints): Change pid parameter into
        a ptid.  Adjust code accordingly.
        * infrun.c (handle_inferior_event): Delete variable child_pid.
        Update call to detach_breakpoints to pass the child ptid for
        fork events.
        * linux-nat.c (linux_nat_iterate_watchpoint_lwps): Remove
        assert that inferior_ptid's lwp is zero.
        (linux_handle_extended_wait): Update call to detach_breakpoints.
        * inf-ttrace.c (inf_ttrace_follow_fork): Update call to
        detach_breakpoints.
2012-08-16 23:54:50 +00:00
Joel Brobecker
2dcc608618 inf_ttrace_follow_fork: detach_breakpoints called twice for child.
When debugging a program that forks with follow-fork set to follow
the parent, we end up calling detach_breakpoints for the child twice.
On ia64-hpux, this leads to a warning when trying to remove the
breakpoints the second time around, because the ia64 code detects
that the address does not point to a breakpoint instruction.

gdb/ChangeLog:

        * inf-ttrace.c (inf_ttrace_follow_fork): When following the
        parent, only call detach_breakpoints if tts.tts_event ==
        TTEVT_VFORK.
2012-08-16 23:54:37 +00:00
H.J. Lu
58f594cdb7 Add a testcase for PR binutils/14481
binutils/

	PR binutils/14481
	* Makefile.am (BFDTEST1_PROG): New.
	(TEST_PROGS): Likewise.
	(bfdtest1_DEPENDENCIES): Likewise.
	(noinst_PROGRAMS): Add $(TEST_PROGS).
	* Makefile.in: Regenerated.

	* bfdtest1.c: New file.

binutils/testsuite/

	PR binutils/14481
	* ar.exp (bfdtest1): New.
	(long_filenames): Run bfdtest1.
	(thin_archive): Likewise.
	(thin_archive_with_nested): Likewise.
2012-08-16 20:31:34 +00:00
Peter Bergner
8baf7b78b5 * ppc-opc.c (powerpc_opcodes) <"lswx">: Use RAX for the second and
RBX for the third operand.
	<"lswi">: Use RAX for second and NBI for the third operand.
2012-08-16 18:12:38 +00:00
Joel Brobecker
0c92d8c1c3 DWARF frame unwinder executes one too many rows
The problem is trying to unwind from a function where %ebp is NOT
used as the frame pointer, and the size of the frame changes over
the lifetime of that function.

For instance, trying to unwind past the GNAT runtime function
called system.tasking.rendezvous.timed_selective_wait on x86-linux,
one can get:

    (gdb) bt
    [...]
    #3  0x0805364b in system.tasking.rendezvous.timed_selective_wait ()
    #4  0xb7fe5068 in ?? ()
    Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Looking at the CFI, we find the following initial instructions...

>   DW_CFA_def_cfa: %esp+4 (r4 ofs 4)
>   DW_CFA_offset: %eip at cfa-4  (r8 = %eip)

... and the associated FDE:

> 00001be4 00000054 00001be8 FDE cie=00000000 pc=08053310..08053951
[...]
>   DW_CFA_advance_loc: 8 to 080534ad
>   DW_CFA_def_cfa_offset: 112
>   DW_CFA_advance_loc2: 414 to 0805364b
>   DW_CFA_def_cfa_offset: 108
[...]

The problem is that the DWARF frame unwinder executed the FDE until
the row for PC == 0x0805364b. But in reality, our program hasn't
executed the instruction at that address yet (it is the return address).
So GDB executed a little too much of the FDE, giving us the wrong
offset for the frame base, and thus the wrong address where %eip
got saved.

This patch fixes the problem by using a more correct PC as the bound
for executing the FDE.

gdb/ChangeLog:

        * dwarf2-frame.c (dwarf2_frame_cache): Use
        get_frame_address_in_block instead of get_frame_pc as
        the bound for executing the frame's FDE.

gdb/testsuite/ChangeLog:

        * gdb.ada/rdv_wait: New testcase.
2012-08-16 15:45:46 +00:00
Tom Tromey
a3074307fc PR binutils/14475:
* archive.c (bfd_ar_hdr_from_filesystem): Allocate areltdata on
	'member' BFD.  Don't try to free 'ared'.
2012-08-16 14:24:44 +00:00
Nick Clifton
4232dbd154 oops - acxidentally omitted from previous delta. 2012-08-16 08:38:45 +00:00
Nick Clifton
5272643fad * end.c: Include config.h before system header files.
* erc32.c: Likewise.
	* exec.c: Likewise.
	* float.c: Likewise.
	* func.c: Likewise.
	* help.c: Likewise.
	* interf.c: Likewise.
2012-08-16 07:56:19 +00:00
Yao Qi
6b1755ce16 gdb/
* gdbtypes.h (enum type_code): Define TYPE_CODE_BITSTRING -1.
	* arm-tdep.c (arm_type_align): Remove code handling TYPE_CODE_BITSTRING.
	* c-typeprint.c (c_type_print_varspec_prefix): Likewise.
	(c_type_print_varspec_suffix): Likewise.
	* eval.c (evaluate_subexp_standard): Likewise.
	* f-typeprint.c (f_type_print_varspec_prefix): Likewise.
	(f_type_print_varspec_suffix): Likewise.
	* gdbtypes.c (is_scalar_type): Likewise.
	(recursive_dump_type): Likewise.
	* infcall.c (value_arg_coerce): Likewise.
	* m2-valprint.c (m2_val_print): Likewise.
	* p-typeprint.c (pascal_type_print_varspec_prefix): Likewise.
	(pascal_type_print_varspec_suffix): Likewise.
	(pascal_type_print_base): Likewise.
	* p-valprint.c (pascal_val_print): Likewise.
	(pascal_val_print): Likewise.
	* valops.c (value_slice): Likewise.
	* valprint.c (scalar_type_p): Likewise.
	* valarith.c (value_bitstring_subscript): Remove.
	(value_concat): Remove code handling TYPE_CODE_BITSTRING.
	Remove comment on TYPE_CODE_BITSTRING.

	* stabsread.c (read_type): Don't set TYPE_CODE (type) to
	TYPE_CODE_BITSTRING.

	* python/py-type.c (pyty_codes): Move ENTRY (TYPE_CODE_BITSTRING) to
	slot 0.

gdb/doc:
	* gdb.texinfo (Types In Python): Mention gdb.TYPE_CODE_BITSTRING
	is deprecated.
2012-08-16 07:36:28 +00:00
Yao Qi
8acc406562 gdb/
* tracepoint.c (trace_find_none_command): Remove.
	(_initialize_tracepoint): Call add_alias_cmd for "tfind none".
2012-08-16 07:26:16 +00:00