external/binutils.git
14 years ago * script-sections.h (class Script_sections): Make
Ian Lance Taylor [Tue, 12 Oct 2010 19:21:41 +0000 (19:21 +0000)]
* script-sections.h (class Script_sections): Make
Sections_elements typedef public.
* script-sections.cc (class Sort_output_sections): Add elements_
field.  Add constructor which sets it; change all callers.
(Sort_output_sections::is_before): New function.
(Sort_output_sections::operator()): Call is_before.
* configure.ac (NATIVE_OR_CROSS_LINKER): New automake
conditional.
* testsuite/script_test_10.sh: New test. Test script section
order.
* testsuite/script_test_10.t: Likewise.
* testsuite/script_test_10.s: Likewise.
* testsuite/Makefile.am: Wrap the cross linker tests and the
common tests into NATIVE_OR_CROSS_LINKER.
(check_SCRIPTS): Add script_test_10.sh.
(check_DATA): Add script_test_10.stdout.
(script_test_10.o, script_test_10): New targets.
(script_test_10.stdout): New target.
* configure, testsuite/Makefile.in: Regenerate.

14 years ago * arm.cc (Target_arm::Scan::local): Report the unsupported reloc
Ian Lance Taylor [Tue, 12 Oct 2010 19:00:30 +0000 (19:00 +0000)]
* arm.cc (Target_arm::Scan::local): Report the unsupported reloc
error for the deprecated relocations.
(Target_arm::Scan::global): Likewise.
(Target_arm::Relocate::relocate): Likewise.

14 years agogdb/testsuite/
Jan Kratochvil [Tue, 12 Oct 2010 18:41:06 +0000 (18:41 +0000)]
gdb/testsuite/
* gdb.base/break-interp.exp (test_ld): Replace gdb_expect by
gdb_test_multiple.

14 years ago * emultempl/solaris2.em (elf_solaris2_before_allocation): Renamed
Rainer Orth [Tue, 12 Oct 2010 18:39:36 +0000 (18:39 +0000)]
* emultempl/solaris2.em (elf_solaris2_before_allocation): Renamed
basever_syms to global_syms.
Emit global_syms into .dynamic section for all executables and
shared objects.
(elf_solaris2_after_allocation): New function.
(LDEMUL_AFTER_ALLOCATION): Use it.
* emulparams/solaris2.sh: New file.
* emulparams/elf32_sparc_sol2.sh: Use it.
* emulparams/elf64_sparc_sol2.sh: Likewise.
* emulparams/elf_i386_sol2.sh: Likewise.
* emulparams/elf_x86_64_sol2.sh: Likewise.
* Makefile.am (eelf32_sparc_sol2.c): Depend on
$(srcdir)/emulparams/solaris2.sh.
(eelf64_sparc_sol2.c): Likewise.
(eelf_x86_64_sol2.c): Likewise.
(eelf_i386_sol2.c): Likewise.
* Makefile.in: Regenerate.

14 years agogdb/testsuite/
Jan Kratochvil [Tue, 12 Oct 2010 18:12:49 +0000 (18:12 +0000)]
gdb/testsuite/
* gdb.base/break-interp.exp: Use ldlags for linking flags.
* gdb.base/prelink.exp: Likewise.
* gdb.base/solib-nodir.exp: Likewise.
* lib/gdb.exp (gdb_compile) <*-*-openbsd*>
(gdb_compile) <shlib_load>: Use ldlags for linking flags.
* lib/prelink-support.exp (build_executable_own_libs): Likewise.

14 years ago * break-interp.exp (test_ld): Use two separate gdb_expect statements
Ulrich Weigand [Tue, 12 Oct 2010 17:17:36 +0000 (17:17 +0000)]
* break-interp.exp (test_ld): Use two separate gdb_expect statements
for the "info files" test to avoid timeouts on slow machines.

14 years ago * ser-go32.c (struct dos_ops): Add missing fdopen field.
Pierre Muller [Tue, 12 Oct 2010 15:40:03 +0000 (15:40 +0000)]
* ser-go32.c (struct dos_ops): Add missing fdopen field.

14 years agogold/
Richard Sandiford [Tue, 12 Oct 2010 15:30:24 +0000 (15:30 +0000)]
gold/
* fileread.cc (Input_file::find_file): Initialize *found_name
and *namep when using the fallback search for case 4.

14 years ago * gdb/arm-tdep.c (arm_mode_strings): Add NULL entry at end of array.
Matthew Gretton-Dann [Tue, 12 Oct 2010 08:46:15 +0000 (08:46 +0000)]
* gdb/arm-tdep.c (arm_mode_strings): Add NULL entry at end of array.

14 years ago*** empty log message ***
gdbadmin [Tue, 12 Oct 2010 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***

14 years ago * options.h (class General_options): Redefine -z lazy as an alias for
Cary Coutant [Mon, 11 Oct 2010 23:15:25 +0000 (23:15 +0000)]
* options.h (class General_options): Redefine -z lazy as an alias for
the negation of -z now.

14 years agodaily update
Alan Modra [Mon, 11 Oct 2010 23:00:05 +0000 (23:00 +0000)]
daily update

14 years agobinutils/:
Andreas Schwab [Mon, 11 Oct 2010 22:18:42 +0000 (22:18 +0000)]
binutils/:
* binutils-all/m68k/objdump.exp: Add fnop test.
* binutils-all/m68k/fnop.s: New file.

opcodes/:
* m68k-opc.c (m68k_opcodes): Move fnop before fbf.

14 years agogdb/testsuite/
Jan Kratochvil [Mon, 11 Oct 2010 21:36:26 +0000 (21:36 +0000)]
gdb/testsuite/
* gdb.cp/infcall-dlopen.cc (openlib): Support NULL FILENAME.
(main): Make openlib dummy call.

14 years ago * resolve.cc (symbol_to_bits): Report the value of the unsupported
Ian Lance Taylor [Mon, 11 Oct 2010 20:04:04 +0000 (20:04 +0000)]
* resolve.cc (symbol_to_bits): Report the value of the unsupported
binding.

14 years ago * c-typeprint.c (c_type_print_modifier): Add note that this prints
Doug Evans [Mon, 11 Oct 2010 19:24:52 +0000 (19:24 +0000)]
* c-typeprint.c (c_type_print_modifier): Add note that this prints
the address space id too.

14 years ago * gdb.texinfo (Values From Inferior): Add reference to "Types in
Doug Evans [Mon, 11 Oct 2010 15:46:09 +0000 (15:46 +0000)]
* gdb.texinfo (Values From Inferior): Add reference to "Types in
Python" from gdb.Value.type description.

14 years ago2010-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
Andreas Krebbel [Mon, 11 Oct 2010 11:56:53 +0000 (11:56 +0000)]
2010-10-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* s390-opc.c: Make the instruction masks for the load/store on
condition instructions to cover the condition code mask as well.
* s390-opc.txt: lgoc -> locg and stgoc -> stocg.

2010-10-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* gas/s390/zarch-z196.d: Adjust the load/store on condition
instructions.
* gas/s390/zarch-z196.s: Likewise.

14 years ago * ld-elf/orphan-region.d: xfail frv-*-*.
Alan Modra [Mon, 11 Oct 2010 09:12:25 +0000 (09:12 +0000)]
* ld-elf/orphan-region.d: xfail frv-*-*.

14 years ago * elf32-frv.c (elf32_frv_relocate_section): Set "name" for global syms.
Alan Modra [Mon, 11 Oct 2010 09:11:34 +0000 (09:11 +0000)]
* elf32-frv.c (elf32_frv_relocate_section): Set "name" for global syms.
(elf32_frvfdpic_finish_dynamic_sections): Don't crash on
__ROFIXUP_END__ defined in shared lib.

14 years agofix dates in previous blackfin commits
Mike Frysinger [Mon, 11 Oct 2010 08:56:41 +0000 (08:56 +0000)]
fix dates in previous blackfin commits

14 years agogdb/
Jan Kratochvil [Mon, 11 Oct 2010 08:50:33 +0000 (08:50 +0000)]
gdb/
Fix attaching to re-prelinked executables on ppc64.
* solib-svr4.c (svr4_exec_displacement): New variable plt2_asect,
initialize it, try to adjust FILESZ field by it.

14 years agogdb/testsuite/
Jan Kratochvil [Mon, 11 Oct 2010 08:47:47 +0000 (08:47 +0000)]
gdb/testsuite/
Fix missing _start PIE relocation on ppc64 due to stop on dl_main.
* break-interp.exp (reach): Move the core body ...
(reach_1): ... here.  Use stop-on-solib-events for _dl_debug_state.
(test_ld): Provide always real argument, even to the linker.  Replace
dl_main by _dl_debug_state.

14 years agogdb/testsuite/
Jan Kratochvil [Mon, 11 Oct 2010 08:45:12 +0000 (08:45 +0000)]
gdb/testsuite/
Fix results of prelinked PIEs on ppc*.
* gdb.base/break-interp.exp (reach, test_core, test_attach_gdb):
Accept also DISPLACEMENT "PRESENT".
(main): Replace "ZERO" displacements by "PRESENT".

14 years agogas: blackfin: reign in overeager insn flag handling
Mike Frysinger [Mon, 11 Oct 2010 08:37:20 +0000 (08:37 +0000)]
gas: blackfin: reign in overeager insn flag handling

Currently, trying to declare single letter variables in Blackfin assembly
can sometimes lead to parser errors if that letter is used for insn flags.
For example, X, Z, S, M, and T are used to change the behavior of insns:
    R0 = 1; R0 = 1 (X); R0 = 1 (Z);
But the current parser just looks for single letter tokens rather than
ones that show up in the (FLAGS) field.  So only match these letters as
flags when they're in parentheses.

Not a complete fix, but it at least lets gcc tests pass now (the test
gcc/testsuite/gcc.c-torture/compile/mangle-1.c to be exact).  A complete
fix would require a significant parser rewrite in order to handle:
    R0 = (x) (x);   /* zero extend the address of the symbol "x" */
    R0 = W; R0 = W[P0];

Signed-off-by: Steve Kilbane <steve.kilbane@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agogas: blackfin: support numeric local labels with LOOP_BEGIN/LOOP_END pseudo insns
Mike Frysinger [Mon, 11 Oct 2010 08:36:30 +0000 (08:36 +0000)]
gas: blackfin: support numeric local labels with LOOP_BEGIN/LOOP_END pseudo insns

The current LOOP_BEGIN/LOOP_END pseudo insns hit parser errors when trying
to use numeric local labels.  So add support for them.

Signed-off-by: David Gibson <david.gibson@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years agogas: blackfin: fix LOOP_BEGIN/LOOP_END pseudo insns handling of local labels
Mike Frysinger [Mon, 11 Oct 2010 08:35:53 +0000 (08:35 +0000)]
gas: blackfin: fix LOOP_BEGIN/LOOP_END pseudo insns handling of local labels

The current LOOP_BEGIN/LOOP_END pseudo insns hit "Internal errors" when
using local labels as the loop names due to attempts at removing them.

Signed-off-by: David Gibson <david.gibson@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14 years ago * ld-mmix/sec-3.d: Adjust for 2010-09-29 orphan change.
Alan Modra [Mon, 11 Oct 2010 08:10:43 +0000 (08:10 +0000)]
* ld-mmix/sec-3.d: Adjust for 2010-09-29 orphan change.
* ld-mmix/sec-7m.d: Likewise.

14 years ago * elf32-arm.c (elf32_arm_final_link_relocate)
Thomas Schwinge [Mon, 11 Oct 2010 07:38:53 +0000 (07:38 +0000)]
* elf32-arm.c (elf32_arm_final_link_relocate)
(elf32_arm_relocate_section): Handle relocations against STN_UNDEF.

14 years agoopcodes/
Jan Kratochvil [Mon, 11 Oct 2010 06:10:35 +0000 (06:10 +0000)]
opcodes/
* Makefile.am (libopcodes_a_SOURCES): New as empty.
* Makefile.in: Regenerate.

14 years ago * elflink.c (_bfd_elf_link_output_relocs): Delete unused variable
Dave Korn [Mon, 11 Oct 2010 00:21:45 +0000 (00:21 +0000)]
* elflink.c (_bfd_elf_link_output_relocs): Delete unused variable
"output_rel_hdr".

14 years ago*** empty log message ***
gdbadmin [Mon, 11 Oct 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

14 years agodaily update
Alan Modra [Sun, 10 Oct 2010 23:00:06 +0000 (23:00 +0000)]
daily update

14 years ago*** empty log message ***
gdbadmin [Sun, 10 Oct 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

14 years agodaily update
Alan Modra [Sat, 9 Oct 2010 23:00:05 +0000 (23:00 +0000)]
daily update

14 years agoRegenerate for bool -> bool_ change
Alan Modra [Sat, 9 Oct 2010 07:56:18 +0000 (07:56 +0000)]
Regenerate for bool -> bool_ change

14 years agocgen/
Alan Modra [Sat, 9 Oct 2010 06:50:23 +0000 (06:50 +0000)]
cgen/
* utils-cgen.scm (gen-attr-accessors): Rename bool attribute to bool_.
* cpu/mep.opc (mep_cgen_insn_supported): Ditto.
include/opcode/
* cgen.h (CGEN_ATTR, CGEN_ATTR_TYPE): Rename bool attribute to bool_.
(CGEN_ATTR_BOOLS, CGEN_ATTR_CGEN_INSN_ALIAS_VALUE): Likewise.

opcodes/
* fr30-desc.h: Regenerate.
* frv-desc.h: Regenerate.
* ip2k-desc.h: Regenerate.
* iq2000-desc.h: Regenerate.
* lm32-desc.h: Regenerate.
* m32c-desc.h: Regenerate.
* m32r-desc.h: Regenerate.
* mep-desc.h: Regenerate.
* mep-opc.c: Regenerate.
* mt-desc.h: Regenerate.
* openrisc-desc.h: Regenerate.
* xc16x-desc.h: Regenerate.
* xstormy16-desc.h: Regenerate.

14 years agoUse BYTE_GET_SIGNED on r_addend.
H.J. Lu [Sat, 9 Oct 2010 05:52:29 +0000 (05:52 +0000)]
Use BYTE_GET_SIGNED on r_addend.

2010-10-08  H.J. Lu  <hongjiu.lu@intel.com>

* dwarf.c (byte_get_signed): Make it extern.

* dwarf.h (byte_get_signed): New.

* readelf.c (BYTE_GET_SIGNED): New.
(slurp_rela_relocs): Use BYTE_GET_SIGNED on r_addend.
(dump_relocations): Properly dump r_addend.

14 years ago2010-10-08 Bernd Schmidt <bernds@codesourcery.com>
Jeff Johnston [Sat, 9 Oct 2010 02:29:34 +0000 (02:29 +0000)]
2010-10-08  Bernd Schmidt  <bernds@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

        * COPYING.LIBGLOSS: Add National Semiconductor and CodeSourcery
        notices.
        * COPYING.NEWLIB: Add Texas Instruments notice.

14 years ago*** empty log message ***
gdbadmin [Sat, 9 Oct 2010 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***

14 years agodaily update
Alan Modra [Fri, 8 Oct 2010 23:00:05 +0000 (23:00 +0000)]
daily update

14 years ago * reloc.c (BFD_RELOC_ARM_HVC): Add.
Alan Modra [Fri, 8 Oct 2010 22:34:37 +0000 (22:34 +0000)]
* reloc.c (BFD_RELOC_ARM_HVC): Add.
* libbfd.h: Regenerate.

14 years ago * tracepoint.c (merge_uploaded_trace_state_variables): Only print
Daniel Jacobowitz [Fri, 8 Oct 2010 20:45:21 +0000 (20:45 +0000)]
* tracepoint.c (merge_uploaded_trace_state_variables): Only print
messages if info_verbose.

14 years agoTest case for unimplemented overload cases.
Sami Wagiaalla [Fri, 8 Oct 2010 18:28:46 +0000 (18:28 +0000)]
Test case for unimplemented overload cases.

2010-10-08  Sami Wagiaalla  <swagiaal@redhat.com>

* gdb.cp/oranking.exp: New test.
* gdb.cp/oranking.cc: New test program.

14 years agogdb:
Ken Werner [Fri, 8 Oct 2010 16:50:55 +0000 (16:50 +0000)]
gdb:
* valops.c (value_cast): Handle vector types.
* valarith.c (value_binop): Widen scalar to vector if appropriate.
gdb/testsuite:
* gdb.base/gnu_vector.c (ia, ib, fa, fb): New variables.
* gdb.base/gnu_vector.exp: Add tests for scalar to vector widening.

14 years ago2010-10-08 Kai Tietz <kai.tietz@onevision.com>
Kai Tietz [Fri, 8 Oct 2010 15:54:18 +0000 (15:54 +0000)]
2010-10-08  Kai Tietz  <kai.tietz@onevision.com>

* pei-x86_64.c (find_next_xdata_or_end): Removed.
(pex64_dump_xdata): Remove arguments stop, onaline,
and pdata. New argument endx.  Print term "none"
instead of misleading "CFA".
(sort_xdata_arr): New function.
(pex64_bfd_print_pdata): Use binary search/sort for unwind-RVAs
instead of searching quadratic.

14 years ago * nm.c (value_format_64bit): Define appropriately for __MSVCRT__.
Joseph Myers [Fri, 8 Oct 2010 15:12:29 +0000 (15:12 +0000)]
* nm.c (value_format_64bit): Define appropriately for __MSVCRT__.
(set_print_radix): Update for __MSVCRT__ definition of
value_format_64bit.

14 years agoFix build with -DDEBUG=7
Alan Modra [Fri, 8 Oct 2010 14:00:50 +0000 (14:00 +0000)]
Fix build with -DDEBUG=7

14 years ago * arm-tdep.c (thumb_expand_immediate): New function.
Ulrich Weigand [Fri, 8 Oct 2010 13:31:07 +0000 (13:31 +0000)]
* arm-tdep.c (thumb_expand_immediate): New function.
(thumb_instruction_changes_pc): Likewise.
(thumb2_instruction_changes_pc): Likewise.
(thumb_analyze_prologue): Handle 32-bit Thumb instructions during
prologue parsing.  Improved support for optimized code.
(thumb_scan_prologue): Do not reply on line-number information,
use same heuristics as arm_scan_prologue insead.
(skip_prologue_function): Accept functions
"__tls_get_addr" and "__aeabi_read_tp".

14 years ago2010-10-08 Ulrich Weigand <uweigand@de.ibm.com>
Ulrich Weigand [Fri, 8 Oct 2010 13:24:55 +0000 (13:24 +0000)]
2010-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
            Daniel Jacobowitz  <dan@codesourcery.com>

* arm-tdep.c (thumb_in_function_epilogue_p)
(arm_in_function_epilogue_p): New.
(arm_gdbarch_init): Install arm_in_function_epilogue_p as
gdbarch_in_function_epilogue_p callback.

14 years ago*** empty log message ***
gdbadmin [Fri, 8 Oct 2010 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***

14 years agodaily update
Alan Modra [Thu, 7 Oct 2010 23:00:05 +0000 (23:00 +0000)]
daily update

14 years ago * configure.ac (build_lto_plugin): New shell variable.
Dave Korn [Thu, 7 Oct 2010 20:50:02 +0000 (20:50 +0000)]
* configure.ac (build_lto_plugin): New shell variable.
(--enable-lto): Turn on by default for all non-ELF platforms that
have had LTO support added so far.  Set build_lto_plugin appropriately
for both ELF and non-ELF.
(configdirs): Add lto-plugin or not based on build_lto_plugin.
* configure: Regenerate.

14 years ago * cc-with-index.sh (output_file): Default to a.out.
Doug Evans [Thu, 7 Oct 2010 19:34:52 +0000 (19:34 +0000)]
* cc-with-index.sh (output_file): Default to a.out.

14 years agoAdd missing ChangeLog entry for toplevel configure from 2010-07-26.
Ralf Wildenhues [Thu, 7 Oct 2010 19:25:44 +0000 (19:25 +0000)]
Add missing ChangeLog entry for toplevel configure from 2010-07-26.

14 years ago * dwarf2read.c (mapped_index): Rename member index_table to
Doug Evans [Thu, 7 Oct 2010 17:23:30 +0000 (17:23 +0000)]
* dwarf2read.c (mapped_index): Rename member index_table to
symbol_table and index_table_slots to symbol_table_slots.
All uses updated.
(create_symbol_hash_table): Renamed from create_index_table.
All callers updated.
(add_indices_to_cpool): Rename arg index_table to symbol_hash_table.
(write_hash_table): Rename local index_table to symbol_hash_table.

14 years ago * addrmap.h (addrmap_foreach_fn): New typedef.
Doug Evans [Thu, 7 Oct 2010 17:02:14 +0000 (17:02 +0000)]
* addrmap.h (addrmap_foreach_fn): New typedef.
(addrmap_foreach): Declare.
* addrmap.c (struct addrmap_funcs): New member foreach.
(addrmap_foreach): New function.
(addrmap_fixed_foreach): New function.
(addrmap_fixed_funcs): Update.
(struct mutable_foreach_data): New struct.
(addrmap_mutable_foreach_worker): New function.
(addrmap_mutable_foreach): New function.
(addrmap_mutable_funcs): Update.

14 years agomerge from gcc
DJ Delorie [Thu, 7 Oct 2010 16:20:37 +0000 (16:20 +0000)]
merge from gcc

14 years agogas/
Bernd Schmidt [Thu, 7 Oct 2010 11:28:49 +0000 (11:28 +0000)]
gas/
* config/tc-tic6x.c (tic6x_try_encode): Correct encoding of fstg field
in SPKERNEL instructions.

opcodes/
* tic6x-dis.c (print_insn_tic6x): Correct decoding of fstg field
in SPKERNEL instructions.

gas/testsuite/
* gas/tic6x/insns-c674x-sploop.d: Add two more sploop/spkernel tests.
* gas/tic6x/insns-c674x-sploop.s: Likewise.

14 years agoCorrect dict_hash to our most recent version.
Paul N. Hilfinger [Thu, 7 Oct 2010 08:32:41 +0000 (08:32 +0000)]
Correct dict_hash to our most recent version.

Several changes to dict_hash from Adacore's local version were inadvertantly
left out of the last change to that function.  These changes conservatively
cause dict_hash to revert to msymbol_hash_iw in more cases where the symbol
being hashed is known not to be Ada-encoded.  This avoids a few cases where
the function hashes large groups of names with similar prefixes to the same
value.

Changelog:

gdb/
* dictionary.c (dict_hash): Revert to msymbol_hash_iw in
more cases.

14 years agoRework symbol searches to move Ada-specific stuff to ada-lang.c.
Paul N. Hilfinger [Thu, 7 Oct 2010 07:13:51 +0000 (07:13 +0000)]
Rework symbol searches to move Ada-specific stuff to ada-lang.c.

This is a clean-up of some of our symbol-lookup machinery to pull some
kludgy Ada-specific definitions out of psymtab.c.  In place of
map_ada_symtabs and ada_lookup_partial_symbol, we have a method
map_matching_symbols, which searches through all symbol tables and
partial symbol tables looking for a symbol that matches according to
a matching function that is passed as a parameter. This requires some
care, because partial symbol tables speed up searches by binary search,
while full symbol tables use hashing. To call map_matching_symbols, therefore,
you may need to supply both a matching function that is compatible with the
dictionary hash function and an ordering relation that is compatible with
strcmp_iw, which is used to order partial symbol tables.

Having added this general routine to psymtab.c, we use it in ada-lang.c
to rework add_non_local_symbols (now renamed add_nonlocal_symbols).

Changelog:

    gdb/

    * ada-lang.c (full_match): Declare.
    (ada_match_name): Rename to match_name (we should avoid prefixing static
    symbols with "ada_").
    (match_name): New name for ada_match_name.
    (struct ada_psym_data): Remove and replace with...
    (struct match_data): User data for map_matching_symbols.
    (ada_add_psyms): Remove.
    (aux_add_nonlocal_symbols): New function, used as callback for
    map_matching_symbols.
    (compare_names): Ordering function adopted from strcmp_iw for Ada-encoded
    symbols.
    (ada_add_non_local_symbols): Rename to add_nonlocal_symbols.
    (add_nonlocal_symbols): Renamed from ada_add_non_local_symbols.
    Rework to use map_matching_symbols instead of map_ada_symtabs.
    (ada_lookup_symbol_list): Use add_nonlocal_symbols.
    * psymtab.c: Include dependency on dictionary.h.
    (match_partial_symbol): New function.
    (ada_lookup_partial_symbol): Remove.
    (map_block): New function, auxiliary to map_matching_symbols_psymtab.
    (map_matching_symbols_psymtab): New function.
    (psym_functions): Replace map_ada_symtabs with map_matching_symbols_psymtab.
    * symfile.h: Replace map_ada_symtabs definition with map_matching_symbols.

14 years agoExtend hashed symbol dictionaries to work with Ada
Paul N. Hilfinger [Thu, 7 Oct 2010 06:53:44 +0000 (06:53 +0000)]
Extend hashed symbol dictionaries to work with Ada

This patch allows Ada to speed up symbol lookup by using the facilities
in dictionary.[ch] for hashed lookups.  First, we generalize dictionary
search to allow clients to specify any matching function compatible with
the hashing function. Next, we modify the hashing algorithm so that symbols
that wild-match a name hash to the same value.  Finally, we modify Ada
symbol lookup to use these facilities.

Because this patch touches on a hashing algorithm used by other
languages, I took the precaution of doing a speed test on a list of
about 12000 identifiers (repeatedly inserting all of them into a table
and then doing a lookup on a million names at random, thus testing the
speed of the hashing algorithm and how well it distributed names).
There was actually a slight speedup, probably as a result of open-
coding some of the tests in msymbol_hash_iw.  By design, the revised
hashing algorithm produces the same results as the original on most
"normal" C identifiers.

We considered augmenting the dictionary interface still further by allowing
different hashing algorithms for different dictionaries, based on the
(supposed) language of the symbols in that dictionary.  While this produced
better isolation of the changes to Ada programs, the additional flexibility
also complicated the dictionary interface.  I'd prefer to keep things
simple for now.

Tested w/o regressions on Linux i686.

ChangeLog:

gdb/
* ada-lang.c (ada_match_name): Use new API for wild_match.
(wild_match): Change API to be consistent with that of strcmp_iw;
return 0 for a match, and switch operand order.
(full_match): New function.
(ada_add_block_symbols): Use dict_iter_match_{first,next} for
matching to allow use of hashing.
* dictionary.c (struct dict_vector): Generalize iter_name_first,
iter_name_next ot iter_match_first, iter_match_next.
(iter_name_first_hashed): Replace with iter_match_first_hashed.
(iter_name_next_hashed): Replace with iter_match_next_hashed.
(iter_name_first_linear): Replace with iter_match_first_linear.
(iter_name_next_linear): Replace with iter_match_next_linear.
(dict_iter_name_first): Re-implement to use dict_iter_match_first.
(dict_iter_name_next): Re-implement to use dict_iter_match_next.
(dict_iter_match_first): New function.
(dict_iter_match_next): New function.
(dict_hash): New function.
* dictionary.h (dict_iter_match_first, dict_iter_match_next): Declare.
* psymtab.c (ada_lookup_partial_symbol): Use new wild_match API.

14 years ago * data-directory/Makefile.in: Remove @host_makefile_frag@, @frags@.
Doug Evans [Thu, 7 Oct 2010 00:18:22 +0000 (00:18 +0000)]
* data-directory/Makefile.in: Remove @host_makefile_frag@, @frags@.

14 years ago*** empty log message ***
gdbadmin [Thu, 7 Oct 2010 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***

14 years ago * callback.c (os_lseek): Call wrap on lseek result.
Hans-Peter Nilsson [Wed, 6 Oct 2010 23:45:44 +0000 (23:45 +0000)]
* callback.c (os_lseek): Call wrap on lseek result.

14 years ago * traps.c (cris_break_13_handler): Pass lseek
Hans-Peter Nilsson [Wed, 6 Oct 2010 23:44:33 +0000 (23:44 +0000)]
* traps.c (cris_break_13_handler): Pass lseek
offset parameter as sign-extended.

14 years ago * sim/cris/c/seek3.c, sim/cris/c/seek4.c: New tests.
Hans-Peter Nilsson [Wed, 6 Oct 2010 23:41:20 +0000 (23:41 +0000)]
* sim/cris/c/seek3.c, sim/cris/c/seek4.c: New tests.

14 years agomerge from gcc
DJ Delorie [Wed, 6 Oct 2010 23:01:30 +0000 (23:01 +0000)]
merge from gcc

14 years agodaily update
Alan Modra [Wed, 6 Oct 2010 23:00:05 +0000 (23:00 +0000)]
daily update

14 years ago * Makefile.in (REQUIRED_SUBDIRS): New var.
Doug Evans [Wed, 6 Oct 2010 16:46:12 +0000 (16:46 +0000)]
* Makefile.in (REQUIRED_SUBDIRS): New var.
(subdir_do): Verify required subdir Makefiles exist.

14 years agogdb:
Ken Werner [Wed, 6 Oct 2010 16:13:35 +0000 (16:13 +0000)]
gdb:
* dwarf2read.c (read_tag_const_type): Handle const arrays.
gdb/testsuite:
* gdb.base/constvars.c (logical, lugged, luck, lunar, lumen, lurk,
lush, lynx) New constant.
* gdb.base/constvars.exp: Test const array types.
* gdb.dwarf2/dw2-strp.exp: Add const qualifier for ptype tests.

14 years ago Create subdir data-directory.
Doug Evans [Wed, 6 Oct 2010 16:02:45 +0000 (16:02 +0000)]
Create subdir data-directory.
* Makefile.in (XML_SYSCALL_DIR, XML_SYSCALL_FILES): Moved to
data-directory/Makefile.in.
(SUBDIRS): Add data-directory.
(all): Remove xml-syscall-copy dependency.
(xml-syscall-copy): Moved to data-directory/Makefile.in as
stamp-syscalls.
(xml-syscall-install): Moved to data-directory/Makefile.in as
install-syscalls.
(install-only): Remove xml-syscall-install dependency.
(all-data-directory): New rule.
(data-directory/Makefile): New rule.
* configure.ac (AC_OUTPUT): Add data-directory/Makefile.
* configure: Regenerate.
* data-directory/Makefile.in: New file.
* python/lib/gdb/__init__.py: New file.

testsuite/
* gdb.base/catch-syscall.exp (do_syscall_tests): Update location
of syscall staging area.

14 years ago[Ada] Fix ARI warnings in advance_wild_match
Joel Brobecker [Wed, 6 Oct 2010 15:24:38 +0000 (15:24 +0000)]
[Ada] Fix ARI warnings in advance_wild_match

gdb/ChangeLog:

        * ada-lang.c (advance_wild_match): Delete local variable t2.
        Adjust code accordingly.  Minor reformatting.

14 years ago * script-sections.cc(class Memory_region): Remove
Nick Clifton [Wed, 6 Oct 2010 08:58:59 +0000 (08:58 +0000)]
    * script-sections.cc(class Memory_region): Remove
        current_lma_offset_ field.  Rename current_vma_offset_ to
        current_offset_.  Add last_section_ field.
        (Memory_region::get_current_vma_address): Rename to
        get_current_address.
        (Memory_region::get_current_lma_address): Delete.
        (Memory_region::increment_vma_offset): Rename to
        increment_offset.
        (Memory_region::increment_lma_offset): Delete.
        (Memory_region::attributes_compatible): New method.  Returns
        true if the provided section is compatible with the region.
        (Memory_region::get_last_section): New method.  Returns the last
        section to use the region.
        (Memory_region::set_last_section): New method.  Stores the last
        section to use the region.
        (Script_sections::block_in_region): New method.  Returns true if
        a block of memory is contained within a region.
        (Script_sections::find_memory_region): New method.  Locates a
        memory region to be used to set a VMA or LMA address.
        (Output_section_definition::set_section_addresses): Add code to
        check for addresses set by memory regions.
        (Output_segment::set_section_addresses): Remove memory region
        walking code.
        (Script_sections::create_segment): Add a warning if a header
        segment is created outside of any region.
        * script-sections.h (class Script_sections): Add prototypes for
        find_memory_region and block_in_region methods.
        * testsuite/memory_test.s: Use .long instead of .word.
        * testsuite/memory_test.t: Add some more output sections.
        * testsuite/memory_test.sh: Update expected output.

        * ld.texinfo: Update description of computation of VMA and LMA
        addresses for output sections.

        * ld-scripts/rgn-at5.t: Add some more output sections.
        * ld-scripts/rgn-at5.d: Update expected output.

14 years agoreally sync config/ChangeLog
Paolo Bonzini [Wed, 6 Oct 2010 08:48:22 +0000 (08:48 +0000)]
really sync config/ChangeLog

14 years agogdb:
Ken Werner [Wed, 6 Oct 2010 08:44:15 +0000 (08:44 +0000)]
gdb:
* gdbtypes.h (struct main_type): Remove flag_nottext.
(enum type_flag_value): Remove TYPE_FLAG_NOTTEXT.
(enum type_instance_flag_value): Add TYPE_INSTANCE_FLAG_NOTTEXT.
(TYPE_NOTTEXT): Use TYPE_INSTANCE_FLAG_NOTTEXT instead of flag_nottext.
* gdbtypes.c (make_vector_type): Use TYPE_INSTANCE_FLAG_NOTTEXT instead
of TYPE_FLAG_NOTTEXT.
(init_type): Remove the initialization of the flag_nottext field.
(gdbtypes_post_init): Use TYPE_INSTANCE_FLAG_NOTTEXT instead of
TYPE_FLAG_NOTTEXT.
* c-valprint.c (c_val_print): Remove TYPE_VECTOR check.
gdb/testsuite:
* gdb.base/gnu_vector.c: Add variable c4.
* gdb.base/gnu_vector.exp: Add tests for character vector printing.
* gdb.arch/altivec-abi.exp: Fix expect pattern of character vectors.

14 years ago bfd/
Nathan Sidwell [Wed, 6 Oct 2010 08:22:21 +0000 (08:22 +0000)]
bfd/
* elf32-arm.c (elf32_arm_stub_long_branch_any_arm_pic,
elf32_arm_stub_long_branch_any_arm_pic): Use a consistent name for
ip/r12.
(arm_type_of_stub): Remove superfluous braces.

gas/
* config/tc-arm.c (encode_branch): Remove superfluous braces.
(do_t_branch): Move reloc setting to end of routine.

14 years agosync config/ChangeLog
Paolo Bonzini [Wed, 6 Oct 2010 07:41:26 +0000 (07:41 +0000)]
sync config/ChangeLog

14 years agoFix typo in ld dependency commit.
Ralf Wildenhues [Wed, 6 Oct 2010 06:01:53 +0000 (06:01 +0000)]
Fix typo in ld dependency commit.

ld/:
* Makefile.am (ALL_64_EMULATIONS): Fix typo in last commit.
* Makefile.in: Regenerate.

14 years agoFix dependency tracking in ld.
Ralf Wildenhues [Wed, 6 Oct 2010 04:58:34 +0000 (04:58 +0000)]
Fix dependency tracking in ld.

ld/:
* Makefile.am (ALL_EMULATIONS): Rewrite in terms of ...
(ALL_EMULATION_SOURCES): ... this new variable.
(ALL_64_EMULATIONS): Rewrite in terms of ...
(ALL_64_EMULATION_SOURCES): ... this new variable.
(EXTRA_ld_new_SOURCES): Rewrite in terms of the _SOURCES
variables.
(eelf32microblaze.c): Fix indentation.
* Makefile.in: Regenerate.

14 years ago*** empty log message ***
gdbadmin [Wed, 6 Oct 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

14 years agodaily update
Alan Modra [Tue, 5 Oct 2010 23:00:04 +0000 (23:00 +0000)]
daily update

14 years ago * bucomm.c (bfd_nonfatal, bfd_nonfatal_message): Don't clobber errno.
Alan Modra [Tue, 5 Oct 2010 22:48:34 +0000 (22:48 +0000)]
* bucomm.c (bfd_nonfatal, bfd_nonfatal_message): Don't clobber errno.

14 years ago * gdb.arch/altivec-abi.exp: Fix a typo.
Maciej W. Rozycki [Tue, 5 Oct 2010 20:38:02 +0000 (20:38 +0000)]
* gdb.arch/altivec-abi.exp: Fix a typo.

14 years ago * bucomm.c (bfd_nonfatal): Flush stdout before output to stderr.
Alan Modra [Tue, 5 Oct 2010 05:48:10 +0000 (05:48 +0000)]
* bucomm.c (bfd_nonfatal): Flush stdout before output to stderr.
(bfd_nonfatal_message, report, list_matching_formats): Likewise.
(list_supported_targets): Tidy.
* objdump.c (free_only_list): Formatting.
(slurp_dynamic_symtab): Non-zero exit status for "not a dynamic
object".
(update_source_path): Delete redundant check for NULL filename.
(disassemble_bytes): Error if disassemble_fn returns a value
that won't increment address.
(disassemble_data): Don't capitalize error message.
(read_section_stabs): Likewise.
(main): Return non-zero exit status on bad options.

14 years ago * cc-with-index.sh: New file.
Doug Evans [Tue, 5 Oct 2010 04:28:15 +0000 (04:28 +0000)]
* cc-with-index.sh: New file.

14 years ago * dwarf2read.c (hash_strtab_entry): Insert blank line after
Doug Evans [Tue, 5 Oct 2010 03:10:28 +0000 (03:10 +0000)]
* dwarf2read.c (hash_strtab_entry): Insert blank line after
function comment.
(eq_strtab_entry, create_strtab, add_string): Ditto.
(hash_symtab_entry, eq_symtab_entry, delete_symtab_entry): Ditto.
(create_index_table, create_mapped_symtab, find_slot): Ditto.
(hash_expand, add_index_entry, add_indices_to_cpool): Ditto.
(write_hash_table, add_address_entry, write_psymbols): Ditto.
(write_obstack, unlink_if_set, write_one_signatured_type): Ditto.
(write_psymtabs_to_index): Ditto.

14 years ago * dwarf2read.c (dw2_do_instantiate_symtab): Insert blank line after
Doug Evans [Tue, 5 Oct 2010 02:56:36 +0000 (02:56 +0000)]
* dwarf2read.c (dw2_do_instantiate_symtab): Insert blank line after
function comment.
(dw2_instantiate_symtab, dw2_get_cu, extract_cu_value): Ditto.
(create_cus_from_index, create_addrmap_from_index): Ditto.
(mapped_index_string_hash, find_slot_in_mapped_hash): Ditto.
(dw2_setup, dw2_require_line_header, dw2_require_full_path): Ditto.
(dw2_do_expand_symtabs_matching): Ditto.

14 years ago*** empty log message ***
gdbadmin [Tue, 5 Oct 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

14 years ago* Makefile.in (uninstall): Use $(DESTDIR).
Doug Evans [Mon, 4 Oct 2010 23:32:40 +0000 (23:32 +0000)]
* Makefile.in (uninstall): Use $(DESTDIR).

14 years agodaily update
Alan Modra [Mon, 4 Oct 2010 23:00:07 +0000 (23:00 +0000)]
daily update

14 years ago[Ada/funcalls] do not coerce fat pointers on the stack
Joel Brobecker [Mon, 4 Oct 2010 22:32:31 +0000 (22:32 +0000)]
[Ada/funcalls] do not coerce fat pointers on the stack

When one of the parameter values in a subprogram calls is an array
whose value does not come from inferior memory, the debugger first
copies the array value in inferior memory.  Up to now, the memory
used to hold that copy was taken from the stack (just below the SP),
but this is causing problems on SPARC v9.

So the immediate fix is to follow what C does with arrays and strings,
which is allocate memory on the heap.

gdb/ChangeLog:

        * ada-lang.c: #include "value.h".
        (ensure_lval): Delete advance declaration.  Remove gdbarch and sp
        arguments.  Implement using value_allocate_space_in_inferior
        instead of allocating memory from the stack.
        (make_array_descriptor): Remove gdbarch and sp parameters.  Update
        calls to ensure_lval.
        (ada_convert_actual): Remove gdbarch and sp parameters.  Update
        calls to make_array_descriptor and ensure_lval.
        * ada-lang.h (ada_convert_actual): Update declaration.
        * infcall.c (value_arg_coerce): Update call to ada_convert_actual.

14 years ago * python/python.c (_initialize_python): Define new function
Doug Evans [Mon, 4 Oct 2010 15:30:25 +0000 (15:30 +0000)]
* python/python.c (_initialize_python): Define new function
GdbSetPythonDirectory in python.  Use it to update sys.path and
gdb.__path__.

14 years ago2010-10-04 David Daney <ddaney@caviumnetworks.com>
David Daney [Mon, 4 Oct 2010 15:24:49 +0000 (15:24 +0000)]
2010-10-04  David Daney  <ddaney@caviumnetworks.com>

* config/tc-mips.c (mips_fix_cn63xxp1): New variable.
(mips_ip):  Add errata work around when mips_fix_cn63xxp1 set.
(OPTION_FIX_CN63XXP1, OPTION_NO_FIX_CN63XXP1): New enum options
enumerations.
(md_longopts): Add options for -mfix-cn63xxp1 and -mno-fix-cn63xxp1.
(md_parse_option): Handle OPTION_FIX_CN63XXP1 and
OPTION_NO_FIX_CN63XXP1.
(md_show_usage): Add documentation for -mfix-cn63xxp1.
* doc/c-mips.texi (-mfix-cn63xxp1, -mno-fix-cn63xxp1): Document
the new options.

2010-10-04  David Daney  <ddaney@caviumnetworks.com>

* gas/mips/mips.exp (octeon-pref): Run the new test.
* gas/mips/octeon-pref.s: New test.
* gas/mips/octeon-pref.d: New expected results for the new test.

14 years agobfd/
Bernd Schmidt [Mon, 4 Oct 2010 14:13:10 +0000 (14:13 +0000)]
bfd/
* elf-bfd.h (struct bfd_elf_section_reloc_data): New structure.
(struct bfd_elf_section_data): New members REL and RELA; delete
members REL_HDR, REL_HDR2, REL_COUNT, REL_COUNT2, REL_IDX,
REL_IDX2, REL_HASHES.
(_bfd_elf_init_reloc_shdr): Adjust declaration.
(_bfd_elf_single_rel_hdr): Declare.
(RELOC_AGAINST_DISCARDED_SECTION): Use it.
* elf.c (bfd_section_from_shdr): Adjusted to match changes in
data structures.
(_bfd_elf_init_reloc_shdr): New arg RELDATA.  Remove arg REL_HDR.
All callers changed.  Allocate memory for the Elf_Internal_Shdr
structure.
(_bfd_elf_single_rel_hdr): New function.
(struct fake_section_arg): New structure.
(elf_fake_section): Expect to see a pointer to it in the third
argument.  If doing a relocatable link, allocate both REL and RELA
sections as needed.
(assign_section_numbers): Adjusted to match changes in
data structures.
(_bfd_elf_compute_section_file_positions): Call elf_fake_sections
with a struct fake_section_args argument.
* elfcode.h (elf_write_relocs): Adjusted to match changes in
data structures.
(elf_slurp_reloc_table): Likewise.
* elflink.c (_bfd_elf_link_read_relocs): Likewise.
(_bfd_elf_link_size_reloc_section): Remove arg REL_HDR, replace with
RELDATA.  Remove argument O.  All callers changed.  Remove code to
discover the right rel_hdr and count.
(_bfd_elf_link_output_relocs): Adjusted to match changes in
data structures.
(elf_link_adjust_relocs): Remove args REL_HDR, COUNT and REL_HASH;
replace with RELDATA.  All callers changed.
(elf_link_input_bfd): Correctly generate rel_hash data when both
REL and RELA sections are present.
(elf_reloc_link_order): Adjusted to match changes in
data structures.
(bfd_elf_final_link): Simplify code to count relocs.  Free the
hashes array for both REL and RELA.
(get_dynamic_reloc_section_name): Use _bfd_elf_single_reloc_hdr
* elf32-m32r.c (m32r_elf_fake_sections, elf_backend_fake_sections):
Delete.
* elf32-tic6x.c (elf32_tic6x_fake_sections, elf_backend_fake_sections):
Delete.
(elf32_tic6x_rel_relocation_p): Adjusted to match changes in
data structures.
  * elf32-microblaze.c (microblaze_elf_check_relocs): Use
_bfd_elf_single_rel_hdr.
* elf32-ppc.c (ppc_elf_relax_section): Likewise.
* elf32-spu.c (spu_elf_relocate_section): Likewise.
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
* elf64-hppa.c (get_reloc_section): Likewise.
* elf64-mips.c (mips_elf64_slurp_reloc_table): Adjusted to match
changes in data structures.
(mips_elf64_write_relocs): Use _bfd_elf_single_rel_hdr.
* elf64-ppc.c (ppc64_elf_edit_opd): Likewise.
(ppc64_elf_edit_toc): Likewise.
(get_relocs): Adjusted to match changes in data structures.
Allocate an Elf_Internal_Shdr structure if necessary.
(ppc64_elf_finish_dynamic_sections): Use _bfd_elf_single_rel_hdr.
* elf64-sparc.c (elf64_sparc_slurp_reloc_table): Adjusted to match
changes in data structures.
* elfxx-ia64.c (get_reloc_section): Use _bfd_elf_single_rel_hdr.
* elfxx-mips.c (MIPS_RELOC_RELA_P): Remove macro.
(mips_elf_rel_relocation_p): Adjusted to match changes in data
structures.
(_bfd_mips_elf_relocate_section): Use mips_elf_rel_relocation_p rather
than MIPS_RELOC_RELOCA_P.
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Use
_bfd_elf_single_rel_hdr.
(_bfd_sparc_elf_relocate_section): Likewise.

ld/
* emultempl/xtensaelf.em (replace_insn_sec_with_prop_sec): Use
_bfd_elf_single_rel_hdr.

14 years agoHave ptype handle types declared pragma Unchecked_Variants.
Paul N. Hilfinger [Mon, 4 Oct 2010 06:37:54 +0000 (06:37 +0000)]
Have ptype handle types declared pragma Unchecked_Variants.

When a type is marked with pragma Unchecked_Variants, ptype did not print
variants having a single component, since the compiler produces incorrect
debugging output for such cases.  With this patch, we special-case these
components so that they print.

Changelog:

    * gdb/ada-typeprint.c (print_selected_record_field_types): New function,
    incorporating and generalizing print_record_field_types.
    (print_record_field_types): Change return value and update comment.
    Re-implement using print_selected_record_field_types.
    (print_choices): Print "=>" here.
    Handle case of unencoded variant branch.
    (print_variant_clauses): Reformat comment.
    Special-case unencoded variant branch.

14 years agoReplace wild_match with faster version and modify its interface.
Paul N. Hilfinger [Mon, 4 Oct 2010 06:34:40 +0000 (06:34 +0000)]
Replace wild_match with faster version and modify its interface.

This new version of wild_match is comparable in speed to strcmp_iw, and has
the same signature and same return value for equal names.

gdb/ChangeLog:
    * ada-lang.c (wild_match): Reimplement.
    Change API to eliminate unused length argument, reverse arguments and
    make 0 the 'true' return value.
    (advance_wild_match): New auxiliary function for wild_match to improve
    readability.
    (ada_match_name, ada_add_block_symbols): Use new API for wild_match.
    * psymtab.c (ada_lookup_partial_symbol, map_ada_symtabs): Use new
    API for wild_match.
    * symfile.h (map_ada_symtabs): Modify declaration to use new API for
    wild_match.
    * dwarf2read.c (dw2_map_ada_symtabs): Ditto.

14 years ago*** empty log message ***
gdbadmin [Mon, 4 Oct 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***

14 years agodaily update
Alan Modra [Sun, 3 Oct 2010 23:00:05 +0000 (23:00 +0000)]
daily update

14 years agoSet BFD target to "plugin" for "nm --plugin".
H.J. Lu [Sun, 3 Oct 2010 10:49:19 +0000 (10:49 +0000)]
Set BFD target to "plugin" for "nm --plugin".

2010-10-03  H.J. Lu  <hongjiu.lu@intel.com>

PR binutils/12088
* nm.c (plugin_target): New.
(main): Set plugin_target to "plugin" for --plugin.
(display_file): Pass plugin_target to bfd_openr if target
isn't set.