Alan Modra [Wed, 13 Oct 2010 23:00:05 +0000 (23:00 +0000)]
daily update
Doug Evans [Wed, 13 Oct 2010 20:08:46 +0000 (20:08 +0000)]
New python module gdb.types.
* NEWS: Document it.
* data-directory/Makefile.in (PYTHON_FILES): Add gdb/types.py.
* python/lib/gdb/types.py: New file.
testsuite/
* lib/gdb-python.exp (gdb_check_python_config): New function.
* gdb.python/Makefile.in (EXECUTABLES): Add lib-types.
* gdb.python/lib-types.cc: New file.
* gdb.python/lib-types.exp: New file.
doc/
* gdb.texinfo (Python): Add "Python modules".
(Types in Python): Add reference to gdb.types section.
(Python modules): New node.
Tom Tromey [Wed, 13 Oct 2010 17:38:09 +0000 (17:38 +0000)]
* language.h (LA_PRINT_ARRAY_INDEX): Fix argument name.
Doug Evans [Wed, 13 Oct 2010 15:10:10 +0000 (15:10 +0000)]
* c-typeprint.c: Whitespace cleanup.
(cp_type_print_method_args): Remove unnecessary forward decl.
(cp_type_print_derivation_info): Ditto.
(c_type_print_varspec_prefix): Mark as static at definition.
(c_type_print_modifier): Fix arg descriptions.
Jan Kratochvil [Wed, 13 Oct 2010 13:24:40 +0000 (13:24 +0000)]
gdb/
* python/py-breakpoint.c (bppy_set_condition): New comment.
* python/py-cmd.c (cmdpy_function): Call also gdbpy_print_stack for
failed PyUnicode_Decode.
(cmdpy_completer): Skip element for failed
python_string_to_host_string.
(cmdpy_init): Return -1 on failed python_string_to_host_string.
* python/py-frame.c (frapy_read_var): Extend the function comment.
* python/py-function.c (fnpy_init): Return -1 on failed
python_string_to_host_string.
* python/py-inferior.c (infpy_read_memory, infpy_write_memory): Extend
the function comment.
(infpy_search_memory): Extend the function comment. Remove the
PyErr_SetString call on already set error state.
* python/py-param.c (set_parameter_value): Extend the function
comment. Return -1 on failed python_string_to_host_string, twice.
(set_attr): Extend the function comment.
(compute_enum_values): Extend the function comment. New variable
back_to. Protect self->enumeration by BACK_TO cleanups. Return 0 on
failed python_string_to_host_string.
(get_doc_string): Call gdbpy_print_stack on failed
python_string_to_host_string.
(parmpy_init): Extend the function comment.
* python/py-prettyprint.c (pretty_print_one_value): Likewise.
(gdbpy_get_display_hint, print_children): Call gdbpy_print_stack on
failed python_string_to_host_string.
* python/py-value.c (valpy_new, valpy_getitem, valpy_call)
(valpy_binop, valpy_richcompare): Extend the function comment.
* python/python.c
(struct python_env) <error_type, error_value, error_traceback>: New
fields.
(restore_python_env): Handle PyErr_Occurred. Call PyErr_Restore.
(ensure_python_env): Call PyErr_Fetch.
* varobj.c (update_dynamic_varobj_children): Call gdbpy_print_stack on
failed convert_value_from_python.
(value_get_print_value): Call gdbpy_print_stack on failed
python_string_to_target_python_string.
gdb/testsuite/
* gdb.python/py-error.exp: New file.
* gdb.python/py-error.py: New file.
gdbadmin [Wed, 13 Oct 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 12 Oct 2010 23:00:04 +0000 (23:00 +0000)]
daily update
Tom Tromey [Tue, 12 Oct 2010 22:44:20 +0000 (22:44 +0000)]
* python/py-prettyprint.c (search_pp_list): Fix error checking.
Sami Wagiaalla [Tue, 12 Oct 2010 20:58:17 +0000 (20:58 +0000)]
Eliminate 'is_ancestor' redundant code.
2010-10-12 Sami Wagiaalla <swagiaal@redhat.com>
* gdbtypes.c (do_is_ancestor): New function.
(is_ancestor): Use do_is_ancestor.
(is_public_ancestor): Use do_is_ancestor.
Ian Lance Taylor [Tue, 12 Oct 2010 19:23:15 +0000 (19:23 +0000)]
Correct ChangeLog attribution.
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.
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.
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.
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.
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.
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.
Pierre Muller [Tue, 12 Oct 2010 15:40:03 +0000 (15:40 +0000)]
* ser-go32.c (struct dos_ops): Add missing fdopen field.
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.
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.
gdbadmin [Tue, 12 Oct 2010 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
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.
Alan Modra [Mon, 11 Oct 2010 23:00:05 +0000 (23:00 +0000)]
daily update
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.
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.
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.
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.
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.
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.
Alan Modra [Mon, 11 Oct 2010 09:12:25 +0000 (09:12 +0000)]
* ld-elf/orphan-region.d: xfail frv-*-*.
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.
Mike Frysinger [Mon, 11 Oct 2010 08:56:41 +0000 (08:56 +0000)]
fix dates in previous blackfin commits
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.
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.
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".
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>
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>
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>
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.
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.
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.
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".
gdbadmin [Mon, 11 Oct 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 10 Oct 2010 23:00:06 +0000 (23:00 +0000)]
daily update
gdbadmin [Sun, 10 Oct 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 9 Oct 2010 23:00:05 +0000 (23:00 +0000)]
daily update
Alan Modra [Sat, 9 Oct 2010 07:56:18 +0000 (07:56 +0000)]
Regenerate for bool -> bool_ change
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.
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.
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.
gdbadmin [Sat, 9 Oct 2010 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 8 Oct 2010 23:00:05 +0000 (23:00 +0000)]
daily update
Alan Modra [Fri, 8 Oct 2010 22:34:37 +0000 (22:34 +0000)]
* reloc.c (BFD_RELOC_ARM_HVC): Add.
* libbfd.h: Regenerate.
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.
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.
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.
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.
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.
Alan Modra [Fri, 8 Oct 2010 14:00:50 +0000 (14:00 +0000)]
Fix build with -DDEBUG=7
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".
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.
gdbadmin [Fri, 8 Oct 2010 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 7 Oct 2010 23:00:05 +0000 (23:00 +0000)]
daily update
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.
Doug Evans [Thu, 7 Oct 2010 19:34:52 +0000 (19:34 +0000)]
* cc-with-index.sh (output_file): Default to a.out.
Ralf Wildenhues [Thu, 7 Oct 2010 19:25:44 +0000 (19:25 +0000)]
Add missing ChangeLog entry for toplevel configure from 2010-07-26.
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.
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.
DJ Delorie [Thu, 7 Oct 2010 16:20:37 +0000 (16:20 +0000)]
merge from gcc
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.
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.
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.
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.
Doug Evans [Thu, 7 Oct 2010 00:18:22 +0000 (00:18 +0000)]
* data-directory/Makefile.in: Remove @host_makefile_frag@, @frags@.
gdbadmin [Thu, 7 Oct 2010 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Hans-Peter Nilsson [Wed, 6 Oct 2010 23:45:44 +0000 (23:45 +0000)]
* callback.c (os_lseek): Call wrap on lseek result.
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.
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.
DJ Delorie [Wed, 6 Oct 2010 23:01:30 +0000 (23:01 +0000)]
merge from gcc
Alan Modra [Wed, 6 Oct 2010 23:00:05 +0000 (23:00 +0000)]
daily update
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.
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.
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.
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.
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.
Paolo Bonzini [Wed, 6 Oct 2010 08:48:22 +0000 (08:48 +0000)]
really sync config/ChangeLog
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.
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.
Paolo Bonzini [Wed, 6 Oct 2010 07:41:26 +0000 (07:41 +0000)]
sync config/ChangeLog
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.
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.
gdbadmin [Wed, 6 Oct 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 5 Oct 2010 23:00:04 +0000 (23:00 +0000)]
daily update
Alan Modra [Tue, 5 Oct 2010 22:48:34 +0000 (22:48 +0000)]
* bucomm.c (bfd_nonfatal, bfd_nonfatal_message): Don't clobber errno.
Maciej W. Rozycki [Tue, 5 Oct 2010 20:38:02 +0000 (20:38 +0000)]
* gdb.arch/altivec-abi.exp: Fix a typo.
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.
Doug Evans [Tue, 5 Oct 2010 04:28:15 +0000 (04:28 +0000)]
* cc-with-index.sh: New file.
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.
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.
gdbadmin [Tue, 5 Oct 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Doug Evans [Mon, 4 Oct 2010 23:32:40 +0000 (23:32 +0000)]
* Makefile.in (uninstall): Use $(DESTDIR).