Yao Qi [Tue, 20 Mar 2012 07:08:55 +0000 (07:08 +0000)]
gdb/
* amd64-tdep.c (amd64_displaced_step_copy_insn): Complete missing "}" in
comment.
gdbadmin [Tue, 20 Mar 2012 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Doug Kwan [Mon, 19 Mar 2012 23:54:07 +0000 (23:54 +0000)]
2012-03-19 Doug Kwan <dougkwan@google.com>
* arm.cc (Target_arm::do_define_standard_symbols): New method.
(Target_arm::do_finalize_sections): Remove code which defines
__exidx_start and __exidx_end. Make symbol table parameter
anonymous as it is not used.
* gold.cc (queue_middle_tasks): Call target hook to define any
target-specific symbols.
* target.h (Target::define_standard_symbols): New method.
(Target::do_define_standard_symbols): Same.
* testsuite/Makefile.am (arm_exidx_test): Dump relocations also.
* testsuite/Makefile.in: Regenerate.
* testsuite/arm_exidx.s: Generate data relocations for __exidx_start
and __exidx_end.
* testsuite/arm_exidx_test.sh: Check that no unused dynamic
relocations are generated for __exidx_start and __exidx_end.
Alan Modra [Mon, 19 Mar 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Jan Kratochvil [Mon, 19 Mar 2012 19:59:19 +0000 (19:59 +0000)]
gdb/
Code cleanupp: Use cu_offset and sect_offset compile time type checking.
* dwarf2expr.c (add_piece, dwarf_get_base_type, execute_stack_op)
(ctx_no_dwarf_call, ctx_no_get_base_type): Use cu_offset and
sect_offset.
* dwarf2expr.h (cu_offset, sect_offset): New types.
(struct dwarf_expr_context_funcs) <dwarf_call>
(struct dwarf_expr_context_funcs) <get_base_type>: Use cu_offset and
sect_offset.
(struct dwarf_expr_context) <len>: Improve the comment.
(struct dwarf_expr_piece, ctx_no_dwarf_call, ctx_no_get_base_type): Use
cu_offset and sect_offset.
* dwarf2loc.c (per_cu_dwarf_call, dwarf_expr_dwarf_call)
(dwarf_expr_get_base_type, needs_frame_dwarf_call)
(dwarf2_compile_expr_to_ax, disassemble_dwarf_expression): Likewise.
* dwarf2loc.h: Include dwarf2expr.h.
(dwarf2_fetch_die_location_block, dwarf2_get_die_type): Use cu_offset
and sect_offset.
* dwarf2read.c (struct dwarf2_per_objfile) <debug_types_type_hash>:
Improve the comment.
(struct comp_unit_head, struct dwarf2_cu, struct dwarf2_per_cu_data)
(struct signatured_type, struct line_header, struct partial_die_info)
(struct die_info, find_partial_die, dwarf2_get_ref_die_offset)
(lookup_signatured_type_at_offset, dwarf2_find_containing_comp_unit)
(get_die_type_at_offset, create_cus_from_index)
(create_signatured_type_table_from_index, dw2_get_file_names)
(offset_in_cu_p, read_comp_unit_head, error_check_comp_unit_head)
(read_and_check_comp_unit_head, read_and_check_type_unit_head)
(create_debug_types_hash_table, process_psymtab_comp_unit)
(load_partial_comp_unit, create_all_comp_units)
(partial_die_parent_scope, partial_die_full_name, skip_one_die)
(load_full_comp_unit, dwarf2_physname, read_import_statement)
(inherit_abstract_dies, read_func_scope, read_call_site_scope)
(dwarf2_add_member_fn, process_enumeration_scope, read_module_type)
(read_typedef, die_hash, die_eq, read_full_die, dwarf2_read_abbrevs)
(load_partial_dies, read_partial_die, find_partial_die_in_comp_unit)
(find_partial_die, read_attribute_value, lookup_die_type)
(dump_die_shallow, store_in_ref_table): Use cu_offset and sect_offset.
(is_ref_attr): New function comment.
(dwarf2_get_ref_die_offset): New function comment, new variable retval.
Use cu_offset and sect_offset.
(follow_die_offset, follow_die_ref, dwarf2_fetch_die_location_block)
(dwarf2_get_die_type, follow_die_sig, lookup_signatured_type_at_offset)
(load_full_type_unit, read_signatured_type, per_cu_header_read_in)
(dwarf2_find_containing_comp_unit, struct dwarf2_offset_and_type)
(offset_and_type_hash, offset_and_type_eq, set_die_type)
(get_die_type_at_offset, partial_die_hash, partial_die_eq)
(write_one_signatured_type, write_psymtabs_to_index): Use cu_offset and
sect_offset.
Jan Kratochvil [Mon, 19 Mar 2012 18:38:56 +0000 (18:38 +0000)]
gdb/testsuite/
* gdb.base/auxv.c (func2): setrlimit to infinity to enable core dumps.
* gdb.base/auxv.exp: Try to compile it with -DUSE_RLIMIT first.
(generate native core dump): Make the test unsupported if core cannot
be generated.
Jan Kratochvil [Mon, 19 Mar 2012 18:23:52 +0000 (18:23 +0000)]
gdb/
Code cleanup.
* python/py-auto-load.c (source_section_scripts): New variable back_to.
Turn fclose and xfree calls into make_cleanup_fclose and make_cleanup
with xfree.
(auto_load_objfile_script): Turn fclose into make_cleanup_fclose.
Jan Kratochvil [Mon, 19 Mar 2012 18:19:26 +0000 (18:19 +0000)]
gdb/
* NEWS: Describe new options --init-command=FILE, -ix and
--init-eval-command=COMMAND, -iex.
* main.c (struct cmdarg): New enum items CMDARG_INIT_FILE and
CMDARG_INIT_COMMAND.
(captured_main): New enum items OPT_IX and OPT_IEX. Add
"init-command", "init-eval-command", "ix" and "iex" to the variable
long_options. Handle OPT_IX and OPT_IEX. Process them from CMDARG_VEC.
New comment for CMDARG_FILE and CMDARG_COMMAND processing.
(print_gdb_help): Describe --init-command=FILE, -ix and
--init-eval-command=COMMAND, -iex.
gdb/doc/
* gdb.texinfo (File Options): Describe --init-command=FILE, -ix and
--init-eval-command=COMMAND, -iex.
(Startup): Describe -iex and -ix. Simplify the example
for "set auto-load-scripts off".
gdb/testsuite/
* gdb.gdb/selftest.exp (do_steps_and_nexts): New entry
for cmdarg_vec = NULL. Remove entries for cmdsize = 1, cmdarg = and
ncmd = 0. New entry for VEC_cleanup cmdarg_s.
Jan Kratochvil [Mon, 19 Mar 2012 18:16:18 +0000 (18:16 +0000)]
gdb/
Code cleanup.
* main.c (struct cmdarg): Move it here from main. Add more comments.
(cmdarg_s, VEC (cmdarg_s)): New.
(main): Move struct cmdarg from here. New variables cmdarg_vec and
cmdarg_p. Remove variables cmdsize and ncmd and their initialization.
Install cleanup for cmdarg_vec. Update filling for options 'x' and
'X'. Replace cmdarg processing by cmdarg_vec processing. Remove xfree
of CMDARG.
Tom Tromey [Mon, 19 Mar 2012 18:13:43 +0000 (18:13 +0000)]
* gnu-v3-abi.c (gnuv3_print_vtable): Initialize 'result_vec'.
Andreas Schwab [Mon, 19 Mar 2012 15:07:59 +0000 (15:07 +0000)]
* ld-m68k/m68k.exp ("TLS indirect symbol use"): Pass
--copy-dt-needed-entries.
Pedro Alves [Mon, 19 Mar 2012 14:33:35 +0000 (14:33 +0000)]
2012-03-19 Pedro Alves <palves@redhat.com>
Jan Kratochvil <jan.kratochvil@redhat.com>
* server.c (cont_thread, general_thread): Add describing comments.
(start_inferior): Clear `cont_thread'.
(handle_v_cont): Don't set `cont_thread' if resuming all threads
of a process.
Jan Kratochvil [Mon, 19 Mar 2012 09:34:13 +0000 (09:34 +0000)]
gdb/testsuite/
* gdb.base/cond-eval-mode.exp: Fix the anticipated warning string.
Mike Frysinger [Mon, 19 Mar 2012 05:39:45 +0000 (05:39 +0000)]
sim: bfin: add exhaustive parallel-insn tests
Mike Frysinger [Mon, 19 Mar 2012 05:34:30 +0000 (05:34 +0000)]
sim: bfin: unify se_all*opcodes tests
The current se_all*opcodes tests are very similar in how they work.
In preparation for adding more tests along these lines, unify the
common bits into a framework that others can include and build off
of easily.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 19 Mar 2012 05:25:50 +0000 (05:25 +0000)]
sim: bfin: add tests for new shift behavior
Mike Frysinger [Mon, 19 Mar 2012 05:17:50 +0000 (05:17 +0000)]
sim: bfin: add tests for new shift behavior
Mike Frysinger [Mon, 19 Mar 2012 05:06:23 +0000 (05:06 +0000)]
sim: bfin: fix corner case Logical shift issues
From: Robin Getz <robin.getz@analog.com>
Overflow with shift operations happens independently of saturation, but
we have the logic merged. Extend the lshift function so that callers
can tell it when to handle each independently, and then do so when it's
needed.
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 19 Mar 2012 04:54:48 +0000 (04:54 +0000)]
sim: use character classes rather than ranges
A-Z ranges don't work in all locales, so use character classes instead.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 19 Mar 2012 03:58:36 +0000 (03:58 +0000)]
sim: nrun: decode signal when crashing
This isn't entirely correct in that it assumes the signal numbering of
the target and host match, but seeing as we already make that assumption
in a few places, this patch doesn't make the situation any worse.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 19 Mar 2012 03:51:09 +0000 (03:51 +0000)]
sim: tests: ignore generated tests
Mike Frysinger [Mon, 19 Mar 2012 03:09:20 +0000 (03:09 +0000)]
sim: bfin: ebiu_amc: push down hardcoded base addresses
To make it easier to support ebiu banks at other addresses, move the base to
a runtime parameter rather than structure. Future work will make this more
dynamic, but I'm waiting for more details first.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 19 Mar 2012 02:49:18 +0000 (02:49 +0000)]
sim: bfin: import optimizations from 32bit test into 16bit test
The 32bit allopcodes test had quite a bit of optimization added to it
so that it ran in a reasonable amount of time out of uncached memory.
Port those changes over to the 16bit test so the two share common code.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Mike Frysinger [Mon, 19 Mar 2012 01:16:25 +0000 (01:16 +0000)]
sim: bfin: use ARRAY_SIZE
Rather than hardcode the constant, use ARRAY_SIZE to get it. Should be no
functional changes here.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Doug Evans [Mon, 19 Mar 2012 00:27:39 +0000 (00:27 +0000)]
Fix spellings of filenames.
gdbadmin [Mon, 19 Mar 2012 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 18 Mar 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Doug Evans [Sun, 18 Mar 2012 04:17:16 +0000 (04:17 +0000)]
* dg-extract-results.sh: Handle KFAILs.
gdbadmin [Sun, 18 Mar 2012 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 17 Mar 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Doug Kwan [Sat, 17 Mar 2012 01:33:19 +0000 (01:33 +0000)]
2012-03-16 Doug Kwan <dougkwan@google.com>
* testsuite/Makefile.am: Disable test initpri3b.
* testsuite/Makefile.in: Regenerate.
gdbadmin [Sat, 17 Mar 2012 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Roland McGrath [Fri, 16 Mar 2012 23:19:47 +0000 (23:19 +0000)]
bfd/
2012-03-16 Roland McGrath <mcgrathr@google.com>
* config.bfd: Handle x86_64-*-nacl*.
* elf64-x86-64.c (bfd_elf64_x86_64_nacl_vec): New backend vector stanza.
(bfd_elf32_x86_64_nacl_vec): Likewise.
* targets.c: Support them.
* configure.in: Likewise.
* configure: Regenerated.
gas/
2012-03-16 Roland McGrath <mcgrathr@google.com>
* config/tc-i386.h [TE_NACL] (ELF_TARGET_FORMAT32, ELF_TARGET_FORMAT64):
Define for this case.
* configure.tgt (i386-*-nacl*): If ${cpu} is x86_64*, default to x32.
Alan Modra [Fri, 16 Mar 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Jan Kratochvil [Fri, 16 Mar 2012 18:26:02 +0000 (18:26 +0000)]
gdb/
PR symtab/13777
* dwarf2read.c (process_full_comp_unit): Set LOCATIONS_VALID only for
GCC >=4.5.
gdb/testsuite/
PR symtab/13777
* gdb.dwarf2/dw2-skip-prologue.S (DW_AT_producer): Set it to 4.5.0.
Tom Tromey [Fri, 16 Mar 2012 18:22:24 +0000 (18:22 +0000)]
2012-03-16 Chris January <chris.january@allinea.com>
* tui-tui.win.c (tui_resize_all): Use erase and clearok instead
of clear.
Tom Tromey [Fri, 16 Mar 2012 18:20:34 +0000 (18:20 +0000)]
2012-03-16 Chris January <chris.january@allinea.com>
* source.c (add_path): Use memmove instead of strcpy because the
strings overlap.
Joel Brobecker [Fri, 16 Mar 2012 17:55:45 +0000 (17:55 +0000)]
[Ada] Crash when trying to set value of packed array element
Consider the following declaration:
type Small is new Integer range 0 .. 2 ** 4 - 1;
type Simple_Array is array (1 .. 4) of Small;
pragma Pack (Simple_Array);
SA : Simple_Array := (1, 2, 3, 4);
Trying to change the value of one of the elements in the packed array
causes the debugger to crash:
(gdb) set sa(3) := 9
[1] 4880 segmentation fault gdb -q foo
The circumstances leading to the crash are as follow:
. ada_evaluate_subexp creates a value corresponding to "sa(3)".
. ada_evaluate_subexp then tries to assign 9 to this value, and
for this calls value_assign (via ada_value_assign).
. Because the array is packed, the destination value is 3 bits long,
and as a result, value_assign uses the parent to determine that
element byte address and offset:
| if (value_bitsize (toval))
| {
| struct value *parent = value_parent (toval);
|
| changed_addr = value_address (parent) + value_offset (toval);
The destination value (corresponding to "sa(3)") was incorrectly created
by ada-lang.c:ada_value_primitive_packed_val, because the "parent" was
left as NULL. So, when we try to dereference it to get the parent address,
GDB crashed.
The first part of the fix therefore consists in setting that field.
This required the addition of a new "setter" in value.[hc]. It fixes
the crash, but is still not sufficient for the assignment to actually
work.
The second part of the problem came from the fact that value_assign
seems to expect the "child"'s address to be equal to the parent's address,
with the difference being the offset. Unfortunately, this requirement was
not followed by ada_value_primitive_packed_val, so the second part of
the fix consisted in fixing that.
Still, this was not sufficient, because it caused a regression when
trying to perform an aggregate assignment of a packed array of packed
record. The key element here is the nesting of packed entities.
Looking at the way ada_value_primitive_packed_val creates the value
of each sub-component, one can see that the value's offset is set
to the offset compared to the start of the parent. This was meant to
match what value_primitive_field does as well.
So, with our array of records, if the record offset was 2, and if
the field we're interested in that record is at offset 1, the record
value's offset would be set to 2, and the field value's offset would
be set to 1. But the address for both values would be left to the
array's address. This is where things start breaking down, because
the value_address function for our field value would return the
address of the array + 1, instead of + 3.
This is what causes the final issue, here, because ada-lang.c's
value_assign_to_component needs to compute the offset of the
subcomponent compared to the top-level aggregate's start address
(the array in our case). And it does so by subtracting the array's
address from the sub-component's address. When you have two levels
of packed components, and the mid-level component is at an offset of
the top-level component, things didn't work, because the component's
address was miscomputed (the parent's offset is missing).
The fix consists is fixing value_address to match the work done by
value_primitive_field (where we ignore the parent's offset).
gdb/ChangeLog:
* value.h (set_value_parent): Add declaration.
* value.c (set_value_parent): New function.
(value_address): If VALUE->PARENT is not NULL, then use it as
the base address instead of VALUE->LOCATION.address.
* ada-lang.c (ada_value_primitive_packed_val): Keep V's address
the same as OBJ's address. Adjust V's offset accordingly.
Set V's parent.
gdb/testsuite/ChangeLog:
* gdb.ada/set_pckd_arr_elt: New testcase.
Gary Benson [Fri, 16 Mar 2012 16:47:34 +0000 (16:47 +0000)]
gdb:
PR breakpoints/10738
* dwarf2read.c (use_deprecated_index_sections): New global.
(struct partial_die_info): New member may_be_inlined.
(read_partial_die): Set may_be_inlined where appropriate.
(add_partial_subprogram): Add partial symbols for partial
DIEs that may be inlined.
(new_symbol_full): Add inlined subroutines to the current
scope.
(write_psymtabs_to_index): Bump version number.
(dwarf2_read_index): Read only version 6 indices unless
use_deprecated_index_sections is set.
* linespec.c (symbol_and_data_callback): New structure.
(iterate_inline_only): New function.
(iterate_over_all_matching_symtabs): New argument
"include_inline". If nonzero, also call the callback for
symbols representing inlined subroutines.
(lookup_prefix_sym): Pass extra argument to the above.
(find_function_symbols): Likewise.
(add_matching_symbols_to_info): Likewise.
* NEWS: Mention that GDB can now set breakpoints on inlined
functions.
gdb/doc:
PR breakpoints/10738
* gdb.texinfo (Inline Functions): Remove the now-unnecessary @item
stating that GDB cannot set breakpoints on inlined functions.
(Mode Options): Document --use-deprecated-index-sections.
(Index Section Format): Document new index section version format.
gdb/testsuite:
PR breakpoints/10738
* gdb.opt/inline-break.exp: New file.
* gdb.opt/inline-break.c: Likewise.
* gdb.dwarf2/inline-break.exp: Likewise.
* gdb.dwarf2/inline-break.S: Likewise.
* gdb.base/annota1.exp: Cope with old .gdb_index warnings.
* gdb.base/async-shell.exp: Likewise.
* lib/mi-support.exp (library_loaded_re): Likewise.
Matthew Gretton-Dann [Fri, 16 Mar 2012 15:15:14 +0000 (15:15 +0000)]
* bfd/elf32-arm.c (elf32_arm_attributes_accept_div): New function.
(elf32_arm_attributes_forbid_div): Likewise.
(elf32_arm_merge_eabi_attributes): Correct handling of
Tag_DIV_use.
Matthew Gretton-Dann [Fri, 16 Mar 2012 14:02:33 +0000 (14:02 +0000)]
* gas/config/tc-arm.c (aeabi_set_public_attributes): Correct
handling of Tag_DIV_use.
* gas/testsuite/gas/testsuite/gas/arm/any-idiv.d: New testcase.
* gas/testsuite/gas/testsuite/gas/arm/any-idiv.s: Likewise.
* gas/testsuite/gas/arm/attr-any-armv4t.d: Update expected output.
* gas/testsuite/gas/arm/attr-any-thumbv6.d: Likewise.
* gas/testsuite/gas/arm/attr-cpu-directive.d: Likewise.
* gas/testsuite/gas/arm/attr-default.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv1.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv2.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv2a.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv2s.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv3.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv3m.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv4.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv4t.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv4txm.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv4xm.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv5.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv5t.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv5te.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv5tej.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv5texp.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv5txm.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6-m+os.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6-m.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6j.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6k+sec.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6k.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6kt2.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6s-m.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6t2.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6z.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6zk.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6zkt2.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv6zt2.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv7-a+mp.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv7-a+sec.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv7-a.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv7.d: Likewise.
* gas/testsuite/gas/arm/attr-march-armv7a.d: Likewise.
* gas/testsuite/gas/arm/attr-march-iwmmxt.d: Likewise.
* gas/testsuite/gas/arm/attr-march-iwmmxt2.d: Likewise.
* gas/testsuite/gas/arm/attr-march-xscale.d: Likewise.
* gas/testsuite/gas/arm/attr-mcpu.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-arm1020e.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-arm1020t.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-arm1136jf-s.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-arm1136jfs.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-arm7500fe.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-fpa.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-fpa10.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-fpa11.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-fpe.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-fpe2.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-fpe3.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-maverick.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-neon-fp16.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-neon.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-softfpa.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-softvfp+vfp.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-softvfp.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp10-r0.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp10.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp3.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfp9.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv2.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv3-d16.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv3.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv4-d16.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpv4.d: Likewise.
* gas/testsuite/gas/arm/attr-mfpu-vfpxd.d: Likewise.
* gas/testsuite/gas/arm/attr-order.d: Likewise.
* gas/testsuite/gas/arm/attr-override-cpu-directive.d: Likewise.
* gas/testsuite/gas/arm/attr-override-mcpu.d: Likewise.
* gas/testsuite/gas/arm/eabi_attr_1.d: Likewise.
* gas/testsuite/gas/arm/mov-highregs-any.d: Likewise.
* gas/testsuite/gas/arm/mov-lowregs-any.d: Likewise.
* gas/testsuite/gas/arm/pr12198-1.d: Likewise.
* gas/testsuite/gas/arm/pr12198-2.d: Likewise.
* ld/testsuite/ld-arm/arm-elf.exp: Add new testcases.
* ld/testsuite/ld-arm/attr-merge-2.attr: Update ouput.
* ld/testsuite/ld-arm/attr-merge-2a.s: Remove Tag_DIV_use test.
* ld/testsuite/ld-arm/attr-merge-2b.s: Likewise.
* ld/testsuite/ld-arm/attr-merge-3.attr: Updated expected output.
* ld/testsuite/ld-arm/attr-merge-4.attr: Likewise.
* ld/testsuite/ld-arm/attr-merge-5.attr: Likewise.
* ld/testsuite/ld-arm/attr-merge-6.attr: Likewise.
* ld/testsuite/ld-arm/attr-merge-7.attr: Likewise.
* ld/testsuite/ld-arm/attr-merge-arch-1.attr: Likewise.
* ld/testsuite/ld-arm/attr-merge-arch-2.attr: Likewise.
* ld/testsuite/ld-arm/attr-merge-unknown-2.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-unknown-2r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-unknown-3.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-1.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-1r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-2.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-2r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-3.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-3r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-4.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-4r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-5.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-5r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-6.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-vfp-6r.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-00-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-00.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-02-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-02.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-04-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-04.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-20-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-20.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-22-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-22.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-24-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-40-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-40.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-42-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-44-nowarn.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-wchar-44.d: Likewise.
* ld/testsuite/ld-arm/attr-merge.attr: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-0.s: New testcase.
* ld/testsuite/ld-arm/attr-merge-div-00.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-01-m3.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-01.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-02.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-1.s: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-10-m3.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-10.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-11.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-12.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-120.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-2.s: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-20.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-21.d: Likewise.
* ld/testsuite/ld-arm/attr-merge-div-22.d: Likewise.
Alan Modra [Fri, 16 Mar 2012 12:14:32 +0000 (12:14 +0000)]
* ppc-dis.c (PPC_OPC_SEGS, PPC_OP_TO_SEG): Delete.
(powerpc_opcd_indices): Bump array size.
(disassemble_init_powerpc): Set powerpc_opcd_indices entries
corresponding to unused opcodes to following entry.
(lookup_powerpc): New function, extracted and optimised from..
(print_insn_powerpc): ..here.
Pierre Muller [Fri, 16 Mar 2012 11:10:04 +0000 (11:10 +0000)]
* p-typeprint.c (pascal_type_print_method_args):
Fix display of parameter of methods.
Pierre Muller [Fri, 16 Mar 2012 10:54:39 +0000 (10:54 +0000)]
* amd64-windows-nat.c (_initialize_amd64_windows_nat):
Add missing prototype.
Jan Kratochvil [Fri, 16 Mar 2012 08:18:09 +0000 (08:18 +0000)]
gdb/
Fix false compilation warning.
* gnu-v3-abi.c (print_one_vtable): Initialize ADDR.
Alan Modra [Fri, 16 Mar 2012 00:20:58 +0000 (00:20 +0000)]
* ld-gc/pr13683.d: Accept powerpc64 function descriptor syms.
gdbadmin [Fri, 16 Mar 2012 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 15 Mar 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Jonathan Larmour [Thu, 15 Mar 2012 18:53:43 +0000 (18:53 +0000)]
* arm-tdep.c: Include "remote.h" and "features/arm-with-m-fpa-layout.c".
(arm_register_g_packet_guesses): New function.
(arm_gdbarch_init): Don't force a target description with
registers when the executable is detected as M-profile. Instead
set gdbarch->tdep->is_m. Register `g' packet guesses.
(_initialize_arm_tdep): Initialize the new target description.
* features/arm-with-m-fpa-layout.xml: New description.
* features/arm-with-m-fpa-layout.c: New, generated.
Joel Brobecker [Thu, 15 Mar 2012 18:33:45 +0000 (18:33 +0000)]
Problem after hitting breakpoint on Windows (with GDBserver)
When debugging on Windows with GDBserver, the debugger starts
failing after hitting a breakpoint. For instance:
(gdb) b foo
Breakpoint 1 at 0x40177e: file foo.adb, line 5.
(gdb) cont
Continuing.
Breakpoint 1, foo () at foo.adb:5
5 Put_Line ("Hello World."); -- STOP
(gdb) n
Program received signal SIGSEGV, Segmentation fault.
0x00401782 in foo () at foo.adb:5
5 Put_Line ("Hello World."); -- STOP
There are two issues:
1. While trying to re-insert a breakpoint that is still inserted
in memory, insert_bp_location wipes out the breakpoint location's
shadow_contents. As a consequence, we cannot restore the proper
instruction when removing the breakpoint anymore. That's why
the inferior's behavior changes when trying to resume after
the breakpoint was hit.
2. mem-break.c:default_memory_insert_breakpoint passes a breakpoint
location's shadow_contents as the buffer for a memory read.
This reveals a limitation of the various memory-read target
functions. This patch documents this limitation and adjust
the two calls that seem to hit that limitation.
gdb/ChangeLog:
* breakpoint.c (breakpoint_xfer_memory): Add assertion.
Update function description.
(insert_bp_location): Do not wipe bl->target_info out.
* mem-break.c: #include "gdb_string.h".
(default_memory_insert_breakpoint): Do not call target_read_memory
with a pointer to the breakpoint's shadow_contents buffer. Use
a local buffer instead.
* m32r-tdep.c (m32r_memory_insert_breakpoint): Ditto.
Doug Kwan [Thu, 15 Mar 2012 18:24:06 +0000 (18:24 +0000)]
2012-03-15 Doug Kwan <dougkwan@google.com>
* arm.cc (Target_arm::got_section): Make .got section read-only
if -z now is given.
Roland McGrath [Thu, 15 Mar 2012 18:20:22 +0000 (18:20 +0000)]
* elf64-x86-64.c (elf_x86_64_create_dynamic_sections): Use
elf_x86_64_backend_data parameters for plt_eh_frame.
Change-Id: I4e1a7c2787ed1276765e269f50fc8ba89bab41d5
Roland McGrath [Thu, 15 Mar 2012 16:37:25 +0000 (16:37 +0000)]
* elf64-x86-64.c (struct elf_x86_64_backend_data): New type.
(get_elf_x86_64_backend_data, GET_PLT_ENTRY_SIZE): New macros.
(elf_x86_64_arch_bed): New variable.
(elf_backend_arch_data): New macro.
(elf_x86_64_adjust_dynamic_symbol): Use GET_PLT_ENTRY_SIZE.
(elf_x86_64_allocate_dynrelocs): Likewise.
(elf_x86_64_relocate_section): Likewise.
(elf_x86_64_plt_sym_val): Likewise.
(elf_x86_64_finish_dynamic_symbol): Use elf_x86_64_backend_data
parameters for PLT details.
(elf_x86_64_finish_dynamic_sections): Likewise.
Ian Lance Taylor [Thu, 15 Mar 2012 16:32:22 +0000 (16:32 +0000)]
PR gold/13850
* layout.cc (Layout::make_output_section): Correctly mark
SHT_INIT_ARRAY, et. al., as relro.
Tom Tromey [Thu, 15 Mar 2012 16:32:16 +0000 (16:32 +0000)]
* NEWS: Mention "info vtbl", not "info vtable".
* cp-support.c (info_vtbl_command): Fix comment.
(_initialize_cp_support): Fix text.
Tom Tromey [Thu, 15 Mar 2012 15:49:42 +0000 (15:49 +0000)]
* cp-valprint.c (cp_print_value_fields): Use
print_function_pointer_address for vtable slot.
gdb/testsuite
* gdb.cp/virtfunc2.exp: Update expected output.
* gdb.cp/pr9631.exp: Update expected output.
* gdb.cp/member-ptr.exp: Update expected output.
* gdb.cp/inherit.exp (test_print_mvi_classes): Update expected
output.
* gdb.cp/casts.exp: Update expected output.
Tom Tromey [Thu, 15 Mar 2012 15:43:18 +0000 (15:43 +0000)]
* gnu-v3-abi.c (struct value_and_voffset): New.
(hash_value_and_voffset, eq_value_and_voffset)
(compare_value_and_voffset, compute_vtable_size)
(print_one_vtable, gnuv3_print_vtable): New functions.
(init_gnuv3_ops): Initialize 'print_vtable' field.
* cp-support.c (info_vtbl_command): New function.
(_initialize_cp_support): Add "info vtbl".
* cp-abi.h (cplus_print_vtable): Declare.
(struct cp_abi_ops) <print_vtable>: New field.
* cp-abi.c (cplus_print_vtable): New function.
* NEWS: Update.
gdb/testsuite
* gdb.cp/virtfunc.exp (make_one_vtable_result): New proc.
(test_info_vtbl): Likewise.
(do_tests): Call test_info_vtbl.
* gdb.cp/virtfunc.cc (va): New global.
gdb/doc
* gdb.texinfo (Debugging C Plus Plus): Document "info vtbl".
Rainer Orth [Thu, 15 Mar 2012 14:13:32 +0000 (14:13 +0000)]
* configure.ac (enable_libgomp): Remove *-*-irix6*.
(unsupported_languages): Remove mips-sgi-irix6.*.
(noconfigdirs): Don't add ${libgcj} for mips*-*-irix6*.
(with_stabs): Remove.
* configure: Regenerate.
Rainer Orth [Thu, 15 Mar 2012 14:11:38 +0000 (14:11 +0000)]
* configure.ac (enable_libgomp): Remove *-*-osf*.
(with_stabs): Remove alpha*-*-osf*.
* configure: Regenerate.
Tom Tromey [Thu, 15 Mar 2012 14:06:20 +0000 (14:06 +0000)]
* d-lang.c (d_language_defn) <la_iterate_over_symbols>: Set to
iterate_over_symbols.
Alan Modra [Thu, 15 Mar 2012 12:58:48 +0000 (12:58 +0000)]
include/
* dis-asm.h (disassemble_init_powerpc): Declare.
opcodes/
* disassemble.c (disassemble_init_for_target): Handle ppc init.
* ppc-dis.c (private): New var.
(powerpc_init_dialect): Don't return calloc failure, instead use
private.
(PPC_OPCD_SEGS, PPC_OP_TO_SEG): Define.
(powerpc_opcd_indices): New array.
(disassemble_init_powerpc): New function.
(print_insn_big_powerpc): Don't init dialect here.
(print_insn_little_powerpc): Likewise.
(print_insn_powerpc): Start search using powerpc_opcd_indices.
Yao Qi [Thu, 15 Mar 2012 12:57:13 +0000 (12:57 +0000)]
gdb/gdbserver/
* tracepoint.c (install_tracepoint): Move duplicated tracepoint
handling to ...
(cmd_qtdp): ... here.
Thomas Schwinge [Thu, 15 Mar 2012 11:19:13 +0000 (11:19 +0000)]
gas/
* doc/as.texinfo (Bundle directives): Fix typo.
Yao Qi [Thu, 15 Mar 2012 10:42:38 +0000 (10:42 +0000)]
gdb/gdbserver/
* tracepoint.c (struct tracepoint_action_ops): New.
(struct tracepoint_action) [!IN_PROCESS_AGENT] <ops>: New field.
(m_tracepoint_action_download): New.
(r_tracepoint_action_download): New.
(x_tracepoint_action_download): New.
(l_tracepoint_action_download): New.
(add_tracepoint_action): Install `action->ops' according type.
(download_tracepoint_1): Move code `download' function pointer
of various tracepoint_action_ops.
Thomas Schwinge [Thu, 15 Mar 2012 09:08:10 +0000 (09:08 +0000)]
gdb/testsuite/
* gdb.dwarf2/dw2-ada-
ffffffff.S: Use .4byte instead of .long for
describing DWARF data structures.
* gdb.dwarf2/dw2-bad-parameter-type.S: Likewise.
* gdb.dwarf2/dw2-double-set-die-type.S: Likewise.
* gdb.dwarf2/dw2-empty-pc-range.S: Likewise.
* gdb.dwarf2/dw2-entry-value.S: Likewise.
* gdb.dwarf2/dw2-modula2-self-type.S: Likewise.
* gdb.dwarf2/dw2-param-error.S: Likewise.
* gdb.dwarf2/dw2-skip-prologue.S: Likewise.
* gdb.dwarf2/dw2-stack-boundary.S: Likewise.
* gdb.dwarf2/dw4-sig-type-unused.S: Likewise.
* gdb.dwarf2/implptr-optimized-out.S: Likewise.
* gdb.dwarf2/member-ptr-forwardref.S: Likewise.
* gdb.dwarf2/pr11465.S: Likewise.
Doug Evans [Thu, 15 Mar 2012 02:34:49 +0000 (02:34 +0000)]
* dwarf2read.c (dwarf_stack_op_name): Add DW_OP_GNU_encoded_addr,
DW_OP_GNU_parameter_ref.
Alan Modra [Thu, 15 Mar 2012 01:57:57 +0000 (01:57 +0000)]
* config/default.exp: Update copyright date.
* ld-elf/shared.exp: Pass --no-as-needed to various tests linking
shared libs.
* ld-elfvers/vers.exp: Likewise.
Alan Modra [Thu, 15 Mar 2012 01:36:29 +0000 (01:36 +0000)]
* gas/i386/bundle-lock.d: Ignore trailing nops.
* gas/i386/bundle.d: Likewise.
* gas/i386/x86-64-bundle.d: Likewise.
gdbadmin [Thu, 15 Mar 2012 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Doug Kwan [Wed, 14 Mar 2012 23:07:07 +0000 (23:07 +0000)]
2012-03-14 Doug Kwan <dougkwan@google.com>
* gold/arm.cc (Target_arm::Scan::global): Generate R_ARM_GLOB_DAT
dynamic relocations for protected symbols in shared objects.
Alan Modra [Wed, 14 Mar 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Roland McGrath [Wed, 14 Mar 2012 19:32:11 +0000 (19:32 +0000)]
* elf32-i386.c (elf_i386_nacl_pic_plt0_entry): Initialize up
to the full size, padding out with nop instructions.
Kai Tietz [Wed, 14 Mar 2012 19:00:03 +0000 (19:00 +0000)]
2012-03-14 Kai Tietz <ktietz@redhat.com>
Pascal Obry <pascal@obry.net>
* pe-dll.c (found_sym): New static variable.
(undef_count): Likewise.
(key_value): New structure.
(undef_sort_cmp): Compare routine for qsort/bsearch.
(pe_find_cdecl_alias_match): Add new argument.
(pe_undef_alias_cdecl_match): Removed.
(pe_undef_count): New helper routine.
(pe_create_undef_table): Likewise.
(pe_process_import_defs): Use pe_create_undef_table and
new pe_undef_alias_cdecl_match function.
H.J. Lu [Wed, 14 Mar 2012 17:51:16 +0000 (17:51 +0000)]
Replace @defn with @dfn
2012-03-14 Ryan Mansfield <rmansfield@qnx.com>
* doc/as.texinfo (Bundle directives): Replace @defn with @dfn.
H.J. Lu [Wed, 14 Mar 2012 15:56:13 +0000 (15:56 +0000)]
Add a testcase for PR ld/13839
2012-03-14 H.J. Lu <hongjiu.lu@intel.com>
PR ld/13839
* ld-elf/pr13839.d: New.
* ld-elf/pr13839.s: Likewise.
* ld-elf/pr13839.t: Likewise.
Jan Kratochvil [Wed, 14 Mar 2012 07:58:06 +0000 (07:58 +0000)]
gdb/
Fix double prompt of 'interpreter-exec mi'.
* mi/mi-interp.c (mi_execute_command_input_handler): New prototype.
(mi_interpreter_resume): use it.
(mi_execute_command_input_handler): New function.
* mi/mi-main.c (mi_execute_command): Move prompt printing to
mi_execute_command_input_handler.
gdb/testsuite/
* gdb.mi/mi2-prompt.exp: New file.
Alan Modra [Wed, 14 Mar 2012 05:24:02 +0000 (05:24 +0000)]
PR ld/13839
* ldexp.c (fold_name): Ignore undefined symbols when assigning to
dot in mark phase.
(exp_fold_tree_1): Evaluate assignment to dot expressions even when
discarding result, for side effects. Fix typo in error message.
Mike Frysinger [Wed, 14 Mar 2012 05:04:18 +0000 (05:04 +0000)]
sim: ppc: fix compilation on AIX 7.1 due to st_pad name collisions
AIX 7.1 defines st_pad[123] to st_[amc]tim.tv_pad, respectively,
breaking declaration of st_pad[123] members in struct solaris_stat.
Undefine them as this is no less terrible than other solutions (like
renaming the fields and losing the binding to Solaris' names).
From: Michael Haubenwallner <haubi@s01en24.gentoo.org>
Joel Brobecker [Wed, 14 Mar 2012 01:47:45 +0000 (01:47 +0000)]
Mark latest entry in ChangeLog as "tiny change".
Joel Brobecker [Wed, 14 Mar 2012 01:46:59 +0000 (01:46 +0000)]
Fix -Wmissing-prototypes build warnings on Darwin.
gdb/
2012-03-13 Josh Matthews <josh@joshmatthews.net>
* darwin-nat-info.c (_initialize_darwin_info_commands): Add
prototype.
(darwin_debug_port_info): Make static.
* darwin-nat.c (_initialize_darwin_inferior): Add prototype.
* machoread.c (_initialize_machoread): Add prototype.
* i386-darwin-nat.c (i386_darwin_dr_set, i386_darwin_dr_get)
(i386_darwin_set_control, i386_darwin_get_control)
i386_darwin_dr_set_addr, i386_darwin_get_addr)
i386_darwin_get_status, i386_darwin_get_control):
Comment out with HW_WATCHPOINT_NOT_YET_ENABLED macro.
Joel Brobecker [Wed, 14 Mar 2012 01:39:12 +0000 (01:39 +0000)]
Testcase for: "ax-gdb: Do not treat enums and bools as integers".
gdb/testsuite/ChangeLog:
* gdb.base/enum_cond.c, gdb.base/enum_cond.exp: New testcase.
Joel Brobecker [Wed, 14 Mar 2012 01:38:58 +0000 (01:38 +0000)]
ax-gdb: Do not treat enums and bools as integers.
This patch fixes a problem when using gdb + gdbserver, and trying
to break on a function when one of the (enum) parameters is equal
to a certain value, and the size of that enum is 1 byte.
(gdb) break mixed.adb:15 if light = green
Breakpoint 2 at 0x402d5a: file mixed.adb, line 15.
(gdb) cont
Continuing.
[Inferior 1 (process 9742) exited normally]
The debugger should have stopped once when our function was call
with light set to green.
Here is what happens: Because we're using a recent GDBserver,
GDB hands off the evaluation of the condition to GDBserver, by
providing it in the Z0 packet. This is what GDB sends:
$Z0,402d5a,1;X13,
26000622100223ff1c16100219162022011327#cf
I decoded the condition as follow:
260006 reg 6 -> push
2210 const8 0x10 -> push
02 add (stack now has 1 element equal to reg6 + 16)
23ff1c const16 0xff1c
1610 ext 16 (sign extend 16 bits)
02 add (stack now has 1 element equal to reg6 + 16 - 228)
19 ref32: Pop as addr, push 32bit value at addr.
1620 ext 32 (sign extend 32 bits)
2201 const8 0x01
13 equal
27 end
The beginning of the agent expression can be explained by the address
of symbol "light":
(gdb) info addr light
Symbol "light" is a variable at frame base reg $rbp offset 16+-228.
However, the mistake is the "ext 32" operation (extend 32 bits),
because our variable is *not* 32bits, only 8:
(gdb) print light'size
$5 = 8
But the reason why GDB decides to use a 32bit extension is because
it overrides the symbol's type with a plain integer type in
ax-gdb.c:gen_usual_unary...
/* If the value is an enum or a bool, call it an integer. */
case TYPE_CODE_ENUM:
case TYPE_CODE_BOOL:
value->type = builtin_type (exp->gdbarch)->builtin_int;
break;
... before calling require_rvalue. And of course, that causes the
generator to generate a sizeof(int) extension of the result.
One way to fix this would be to use an integer type of the correct
size, but I do not understand why this is necessary. The two routines
that use that information to generate the opcode down the line are
gen_fetch (for a memory value), or gen_extend (for a register value).
And they both have handling of enums and bools.
So the fix we elected to implement was simply to remove that code.
gdb/ChangeLog:
* ax-gdb.c (gen_usual_unary): Remove special handling of
enum and bool types.
Joel Brobecker [Wed, 14 Mar 2012 01:38:51 +0000 (01:38 +0000)]
testcase for "gdb-ax.c: Add handling of TYPE_CODE_RANGE types"
gdb/testsuite/ChangeLog:
* gdb.ada/bp_range_type: New testcase.
Joel Brobecker [Wed, 14 Mar 2012 01:38:30 +0000 (01:38 +0000)]
ax-gdb.c: Add handling of TYPE_CODE_RANGE types.
This patch fixes an error that occurs with GDB + GDBserver when
trying to insert a breakpoint with a condition that involves
a range type. For instance:
type INT_T is range 0 .. 1000;
INT_VAR : INT_T := 12;
And then trying to insert the breakpoint:
(gdb) break foo.adb:18 if int_var > 15
Breakpoint 1 at 0x4021eb: file foo.adb, line 18.
(gdb) cont
Continuing.
/[...]/ax-gdb.c:560: internal-error: gen_fetch: bad type code
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
This patch fixes the problem by adding handling for range types
in gen_fetch.
gdb/ChangeLog:
* ax-gdb.c (gen_fetch): Add handling for TYPE_CODE_RANGE types.
gdbadmin [Wed, 14 Mar 2012 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 13 Mar 2012 23:00:05 +0000 (23:00 +0000)]
daily update
Joel Brobecker [Tue, 13 Mar 2012 22:29:45 +0000 (22:29 +0000)]
Minor cleanup in aix-thread.c:supply_fprs.
This is a minor cleanup that makes supply_fprs more consistent with
how fill_fprs was written.
gdb/ChangeLog:
* aix-thread.c (supply_fprs): Make more consistent with fill_fprs.
Joel Brobecker [Tue, 13 Mar 2012 22:27:12 +0000 (22:27 +0000)]
Fix buffer overflow in aix-thread.c:fill_fprs
gdb/
2012-03-08 Chris January <chris.january@allinea.com>
* aix-thread.c (fill_sprs): Store the floating point registers
at the correct offsets into vals.
Doug Evans [Tue, 13 Mar 2012 21:02:40 +0000 (21:02 +0000)]
* NEWS: Mention symbol-reloading has been deleted.
* symfile.c (symbol_reloading): Delete.
(show_symbol_reloading): Delete.
(_initialize_symfile): Delete set/show symbol-reloading.
doc/
* gdb.texinfo (Help): Change apropos example to use "alias" instead
of "reload".
(Symbols): Delete docs for set/show symbol-reloading.
* gdbint.texinfo (Defining Other Architecture Features): Delete
SYMBOL_RELOADING_DEFAULT.
* refcard.tex: Delete reference to symbol-reloading.
testsuite/
* gdb.base/default.exp: Delete tests for symbol-reloading.
* gdb.base/help.exp: Ditto.
* gdb.base/setshow.exp: Ditto.
* gdb.base/gdb_history: Delete references to symbol-reloading.
Doug Evans [Tue, 13 Mar 2012 17:16:18 +0000 (17:16 +0000)]
* dwarf2read.c (load_partial_comp_unit): Defer adding cu to
read_in_chain until we have successfully read it in.
(load_full_comp_unit): Ditto.
(read_signatured_type): Add comment.
Roland McGrath [Tue, 13 Mar 2012 17:01:34 +0000 (17:01 +0000)]
Fix up last commit.
Roland McGrath [Tue, 13 Mar 2012 16:59:57 +0000 (16:59 +0000)]
gas/
2012-03-12 Roland McGrath <mcgrathr@google.com>
* config/tc-arm.c (arm_frag_max_var): New function.
* config/tc-arm.h: Declare it.
(md_frag_max_var): New macro.
* config/tc-i386.c (i386_frag_max_var): New function.
* config/tc-i386.h: Declare it.
(md_frag_max_var): New macro.
* doc/as.texinfo (Bundle directives): New node.
(Pseudo Ops): Add it to the menu.
* NEWS: Mention new feature.
* read.c [md_frag_max_var] (HANDLE_BUNDLE): New macro.
[HANDLE_BUNDLE] (bundle_align_p2): New variable.
[HANDLE_BUNDLE] (bundle_lock_frchain, bundle_lock_frag): New variables.
[HANDLE_BUNDLE] (start_bundle, pending_bundle_size, finish_bundle):
New functions.
(assemble_one): New function if [HANDLE_BUNDLE], #define directly
to md_assembly if not.
(read_a_source_file): Call assemble_one in place of md_assemble.
(read_a_source_file) [HANDLE_BUNDLE]: Check for unterminated
.bundle_lock at end of processing.
[HANDLE_BUNDLE] (s_bundle_align_mode, s_bundle_lock, s_bundle_unlock):
New functions.
[HANDLE_BUNDLE] (potable): Add their entries.
* read.h: Declare new functions.
gas/testsuite/
2012-03-12 Roland McGrath <mcgrathr@google.com>
* gas/i386/bundle-bad.s: New file.
* gas/i386/bundle-bad.d: New file.
* gas/i386/bundle-bad.l: New file.
* gas/i386/i386.exp: Run it.
* gas/arm/bundle.s: New file.
* gas/arm/bundle.d: New file.
* gas/arm/bundle-lock.s: New file.
* gas/arm/bundle-lock.d: New file.
* gas/i386/bundle.s: New file.
* gas/i386/bundle.d: New file.
* gas/i386/x86-64-bundle.s: New file.
* gas/i386/x86-64-bundle.d: New file.
* gas/i386/bundle-lock.s: New file.
* gas/i386/bundle-lock.d: New file.
* gas/i386/i386.exp: Run them.
Joel Brobecker [Tue, 13 Mar 2012 16:29:16 +0000 (16:29 +0000)]
[stabs] The address of Fortran common blocks may be > INT_MAX.
gdb/
2012-03-08 Chris January <chris.january@allinea.com>
* stabsread.c (fix_common_block): Change type of valu argument
to CORE_ADDR.
Joel Brobecker [Tue, 13 Mar 2012 16:15:35 +0000 (16:15 +0000)]
[ppc/prologue] Support the "oril r29, r1, 0x0" insn.
gdb/
2012-03-13 Chris January <chris.january@allinea.com>
* rs6000-tdep.c (skip_prologue): Support the oril r29, r1, 0x0
instruction.
Ian Lance Taylor [Tue, 13 Mar 2012 16:08:53 +0000 (16:08 +0000)]
* resolve.cc (Symbol_table::resolve): When merging common symbols,
keep the larger alignment.
Jan Kratochvil [Tue, 13 Mar 2012 15:02:25 +0000 (15:02 +0000)]
gdb/
* common/linux-procfs.c (linux_proc_get_int): New, from
linux_proc_get_tgid, change its LWPID type to pid_t, add parameter
field.
(linux_proc_get_tgid): Only call linux_proc_get_int.
(linux_proc_get_tracerpid): New.
(linux_proc_pid_has_state): New, from linux_proc_pid_is_zombie.
(linux_proc_pid_is_stopped, linux_proc_pid_is_zombie): Only call
linux_proc_pid_has_state.
* common/linux-procfs.h (linux_proc_get_tracerpid): New declaration.
* common/linux-ptrace.c: Include linux-procfs.h and buffer.h.
(linux_ptrace_attach_warnings): New.
* common/linux-ptrace.h (struct buffer, linux_ptrace_attach_warnings):
New declaration.
* linux-nat.c: Include exceptions.h, linux-ptrace.h and buffer.h.
(linux_nat_attach): New variables ex, buffer, message and message_s.
Wrap to_attach by TRY_CATCH and call linux_ptrace_attach_warnings.
gdb/gdbserver/
* linux-low.c (linux_attach_lwp_1): New variable buffer. Call
linux_ptrace_attach_warnings.
gdb/testsuite/
* gdb.base/attach-twice.c: New files.
* gdb.base/attach-twice.exp: New files.
Jan Kratochvil [Tue, 13 Mar 2012 15:00:37 +0000 (15:00 +0000)]
gdb/
* Makefile.in (linux-ptrace.o): New.
* common/linux-procfs.c (linux_proc_pid_is_zombie): New,
from linux-nat.c.
* common/linux-procfs.h (linux_proc_pid_is_zombie): New declaration.
* common/linux-ptrace.c: New file.
* config/alpha/alpha-linux.mh (NATDEPFILES): Add linux-ptrace.o.
* config/arm/linux.mh: Likewise.
* config/i386/linux.mh: Likewise.
* config/i386/linux64.mh: Likewise.
* config/ia64/linux.mh: Likewise.
* config/m32r/linux.mh: Likewise.
* config/m68k/linux.mh: Likewise.
* config/mips/linux.mh: Likewise.
* config/pa/linux.mh: Likewise.
* config/powerpc/linux.mh: Likewise.
* config/powerpc/ppc64-linux.mh: Likewise.
* config/powerpc/spu-linux.mh: Likewise.
* config/s390/s390.mh: Likewise.
* config/sparc/linux.mh: Likewise.
* config/sparc/linux64.mh: Likewise.
* config/xtensa/linux.mh: Likewise.
* linux-nat.c (linux_lwp_is_zombie): Remove, move it to
common/linux-procfs.c.
(wait_lwp): Rename linux_lwp_is_zombie to linux_proc_pid_is_zombie.
gdb/gdbserver/
* Makefile.in (linux-ptrace.o): New.
* configure.srv (arm*-*-linux*, bfin-*-*linux*, crisv32-*-linux*)
(cris-*-linux*, i[34567]86-*-linux*, ia64-*-linux*, m32r*-*-linux*)
(m68*-*-linux*, m68*-*-uclinux*, mips*-*-linux*, powerpc*-*-linux*)
(s390*-*-linux*, sh*-*-linux*, sparc*-*-linux*, tic6x-*-uclinux)
(x86_64-*-linux*, xtensa*-*-linux*): Add linux-ptrace.o to SRV_TGTOBJ
of these targets.
* linux-low.c (linux_attach_lwp_1): Remove redundent else clause.
Pedro Alves [Tue, 13 Mar 2012 13:30:42 +0000 (13:30 +0000)]
2012-03-13 Hui Zhu <teawater@gmail.com>
Pedro Alves <palves@redhat.com>
* breakpoint.c (init_breakpoint_sal): New flags parameter. Handle
CREATE_BREAKPOINT_FLAGS_INSERTED.
(create_breakpoint_sal, create_breakpoints_sal)
(base_breakpoint_create_breakpoints_sal)
(tracepoint_create_breakpoints_sal)
(strace_marker_create_breakpoints_sal): New flags parameter. Pass
down.
(break_command_1, handle_gnu_v3_exceptions, trace_command)
(ftrace_command, strace_command): Adjust.
(create_tracepoint_from_upload): Pass
CREATE_BREAKPOINT_FLAGS_INSERTED.
* breakpoint.h (enum breakpoint_create_flags): New.
(create_breakpoint): New flags parameter.
* mi/mi-cmd-break.c (mi_cmd_break_insert): Adjust.
* python/py-breakpoint.c (bppy_init): Adjust.
* python/py-finishbreakpoint.c (bpfinishpy_init): Adjust.
* spu-tdep.c (spu_catch_start): Adjust.
Pedro Alves [Tue, 13 Mar 2012 13:25:50 +0000 (13:25 +0000)]
2012-03-13 Pedro Alves <palves@redhat.com>
Hui Zhu <teawater@gmail.com>
Yao Qi <yao@codesourcery.com>
* remote.c (struct remote_state): New field `starting_up'.
(remote_start_remote): Set and clear it.
(remote_can_download_tracepoint): If starting up, return false.
Alan Modra [Tue, 13 Mar 2012 06:04:37 +0000 (06:04 +0000)]
* elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Don't error
on zero size dynbss symbol.
* elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
* elf32-cr16.c (_bfd_cr16_elf_adjust_dynamic_symbol): Likewise.
* elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
* elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
* elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
* elf32-lm32.c (lm32_elf_adjust_dynamic_symbol): Likewise.
* elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
* elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
* elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
* elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol): Likewise.
* elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol): Likewise.
* elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
* elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
* elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
* elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
* elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol): Likewise.