Jie Zhang [Wed, 10 Mar 2010 03:57:00 +0000 (03:57 +0000)]
* doc/as.texinfo: Add Blackfin options.
* doc/c-bfin.texi: Document -mfdpic, -mno-fdpic and -mnopic.
* config/tc-bfin.c (md_show_usage): Show usage for all
Blackfin specific options.
Sriraman Tallam [Wed, 10 Mar 2010 01:26:57 +0000 (01:26 +0000)]
2010-03-09 Sriraman Tallam <tmsriram@google.com>
* icf.cc (get_section_contents): Add '@' marker after processing the
merge reloc.
gdbadmin [Wed, 10 Mar 2010 00:00:04 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 9 Mar 2010 23:00:24 +0000 (23:00 +0000)]
daily update
Rafael Ávila de Espíndola [Tue, 9 Mar 2010 19:17:14 +0000 (19:17 +0000)]
2010-03-09 Rafael Espindola <espindola@google.com>
* archive.cc (should_include_member): New.
(Archive::add_symbols): Use should_include_member.
Christopher Faylor [Tue, 9 Mar 2010 19:10:39 +0000 (19:10 +0000)]
* windows-nat.c (cygwin_conv_path): Redefine to properly convert from/to
posix/win32.
(windows_make_so): Use non-Cygwin 1.7 specific function.
(windows_create_inferior): Make sure that cygallargs points to original args in
non Cygwin 1.7. case.
Michael Snyder [Tue, 9 Mar 2010 18:25:41 +0000 (18:25 +0000)]
2010-03-09 Michael Snyder <msnyder@vmware.com>
* i386-tdep.c (i386_record_lea_modrm_addr): Use extract_signed_int
after target_read_memory to get host byte order.
(i386_process_record): Ditto.
Keith Seitz [Tue, 9 Mar 2010 18:09:08 +0000 (18:09 +0000)]
dwarf2_physname patchset:
Based on work from Daniel Jacobowitz <dan@codesourcery.com>
* c-typeprint.c (cp_type_print_method_args): For non-static methods,
print out const or volatile qualifiers, too.
(c_type_print_args): Add parameters show_artificial and language.
Skip artificial parameters when requested.
Use the appropriate language printer.
(c_type_print_varspec): Tell c_type_print_args to skip artificial
parameters and pass language_c.
* dwarf2read.c (die_list): New file global.
(struct partial_die_info): Update comments for name field.
(pdi_needs_namespace): Renamed to ...
(die_needs_namespace): ... this. Rewrite.
(dwarf2_linkage_name): Remove.
(add_partial_symbol): Do not predicate the call to
partial_die_full_name based on pdi_needs_namespace.
Remove call to cp_check_possible_namespace_symbols and associated
outdated comments.
(guess_structure_name): Do not inspect child subprogram DIEs.
(dwarf2_fullname): Update comments.
Use die_needs_namespace to assist in computing the name.
(read_func_scope): Use dwarf2_name to get the DIE's name.
Use dwarf2_physname to get the "linkage name" of the DIE.
(dwarf2_add_member_field): Use dwarf2_physname instead of
dwarf2_linkage_name.
(read_structure_type): For structs and classes, set TYPE_NAME, too.
(determine_class): Remove.
(read_partial_die): Ignore DW_AT_MIPS_linkage_name for all languages
except Ada.
(new_symbol): Unconditionally call dwarf2_name.
Compute the "linkage name" using dwarf2_physname.
Use dwarf2_name instead of dwarf2_full_name for enumerator DIEs.
When determining to scan for anonymous C++ namespaces, ignore
the linkage name.
(dwarf2_physname): New function.
(dwarf2_full_name): Move content to new function and call
that.
(dwarf2_compute_name): "New" function.
(_initialize_dwarf2_read): Initialize die_list.
* gnu-v3-eabi.c (gnu_v3_find_method_in): Remove unused variable
physname.
(gnu_v3_print_method_ptr): Use the physname for virtual methods
without a demangled name.
Print out type information for non-virtual methods.
* linespec.c (decode_line_1): Force ANY string using "::" (or
"." for java) to use decode_compound, and clean up any stray quoting.
If we found a file symtab, re-evaluate whether the remainder is_quoted.
(decode_compound): Stop consuming at an open parenthesis.
Keep template parameters.
Keep any overload information.
Keep keywords like "const".
Remove paren_pointer.
Move is_quoted check from set_flags to here.
Remove #if 0 code from 2000. Ten years is long enough.
(find_method): Before comparing symbol names, canonicalize the string
from the user.
If a specific overload is requested, find it. Otherwise throw an error.
(find_method_overload_end): New function.
(set_flags): Remove.
(decode_compound): Assume that parentheses are matched.
It's a lot easier.
* symtab.c (symbol_find_demangled_name): Add DMGL_VERBOSE flag
to cplus_demangle.
* linespec.c (decode_line_1): Keep important keywords like
"const" and "volatile".
* symtab.h (SYMBOL_CPLUS_DEMANGLED_NAME): Remove.
* typeprint.h (c_type_print_args): Add declaration.
* ui-file.c (do_ui_file_obsavestring): New function.
(ui_file_obsavestring): New function.
* ui-file.h (ui_file_obsavestring): Add declaration.
* valops.c (find_overload_match): Resolve the object to
a non-pointer type.
If the object is a data member, search the object for the member
and return with staticp set.
Use SYMBOL_NATURAL_NAME instead of SYMBOL_CPLUS_DEMANGLED_NAME.
Do not attempt to extract a function name from non-function types.
If the extracted function name and the original name are the same,
we don't have a C++ method.
From Jan Kratochvil <jan.kratochvil@redhat.com>:
* dwarf2read.c (new_symbol <DW_TAG_enumerator>): Call dwarf2_full_name.
* ada-lang.c (ada_lookup_symbol): Remove linkage_name parameters
and arguments from symbol lookups.
* ax-gdb.c (gen_expr): Likewise.
* cp-namespace.c (cp_lookup_symbol_nonlocal, lookup_namespace_scope,
cp_lookup_symbol_namespace, lookup_symbol_file, lookup_nested_type,
lookup_possible_namespace_symbol): Likewise.
* cp-support.c (read_in_psymtabs): Likewise.
* cp-support.h (cp_lookup_symbol_nonlocal): Likewise.
* language.h (la_lookup_symbol_nonlocal): Likewise.
* scm-valprint.c (scm_inferior_print): Likewise.
* solib-darwin.c (darwin_relocate_section_addresses): Likewise.
* solib-svr.c (elf_lookup_lib): Likewise.
* solib.c (show_auto_solib_add): Likewise.
* solist.h (lookup_lib_global, solib_global_lookup): Likewise.
* symmisc.c (maintenance_check_symtabs): Likewise.
* symtab.c (lookup_symbol_in_language, lookup_symbol_aux,
lookup_symbol_aux_local, lookup_symbol_aux_block,
lookup_symbol_from_objfile, lookup_symbol_aux_symtabs,
lookup_symbol_aux_psymtabs,basic_lookup_symbol_nonlocal,
lookup_symbol_static, lookup_symbol_global, symbol_matches_domain,
basic_lookup_transparent_type, find_main_psymtab,
lookup_block_symbol): Likewise.
* symtab.h (basic_lookp_symbol_nonlocal, lookup_symbol_static,
lookup_symbol_global, lookup_symbol_aux_block,
lookup_symbol_partial_symbol, lookup_block_symbol,
lookup_global_symbol, value_maybe_namespace_elt): Likewise.
Keith Seitz [Tue, 9 Mar 2010 18:08:05 +0000 (18:08 +0000)]
* gdb.cp/cp-relocate.exp: Remove single-quoting of C++ methods.
* gdb.cp/cplusfuncs.cc (dm_type_short): New function.
(dm_type_long): New function.
(dm_type_unsigned_short): New function.
(dm_type_unsigned_long): New function.
(myint): New typedef.
* gdb.cp/cplusfuncs.exp (probe_demangler): Add tests for short,
long, unsigned shor and long, operator char*, and typedef.
(test_lookup_operator_functions): Add operator char* test.
(test_paddr_operator_functions): Likewise.
(test_paddr_overloaded_functions): Use probe values for
short, long, and unsigned short and long.
(test_paddr_hairy_functions): If the demangler probe detected
gdb type printers, "expect" them. Otherwise "expect" the v2 or v3
demangler.
* gdb.cp/expand-sals.exp: Backtrace may contain class names.
* gdb.cp/member-ptr.exp: Refine expected result for "print pmf"
and "print null_pmf".
Add test "ptype a.*pmf".
* gdb.cp/overload.exp: Allow optional "int" to appear with
"short" and "long".
* gdb.cp/ovldbreak.exp: Use append to construct super-duper
long expect value for men_overload1arg.
Allow "int" to appear with "short" and "long".
When testing "info break", add argument for main (void).
Also allow "int" to appear with "short" and "long".
Ditto with "unsigned" and "long long".
* gdb.java/jmain.exp: Do not enclose methods names in single
quotes.
* gdb.java/jmisc.exp: Likewise.
* gdb.java/jprint.exp: Likewise.
* gdb.python/py-symbol.exp: Update expected "linkage_name" value.
From Jan Kratochvil <jan.kratochvil@redhat.com>:
* gdb.cp/exception.exp (backtrace after first throw)
(backtrace after second throw): Allow a namespace before __cxa_throw.
(backtrace after first catch, backtrace after second catch): Allow
a namespace before __cxa_begin_catch.
* gdb.cp/cpexprs.exp: New file.
* gdb.cp/cpexprs.cc: New file.
From Daniel Jacobowitz <dan@codesourcery.com>
* gdb.cp/cpexprs.exp (escape): Delete. Change all callers
to use string_to_regexp.
(ctor, dtor): New functions. Use them to match constructor
and destructor function types.
(Top level): Use runto_main.
Pierre Muller [Tue, 9 Mar 2010 17:12:40 +0000 (17:12 +0000)]
* python/python-internal.h: Include symtab.h.
Pierre Muller [Tue, 9 Mar 2010 08:30:54 +0000 (08:30 +0000)]
* p-lang.c (is_pascal_string_type): Remove unneeded parentheses.
* p-valprint.c (pascal_val_print): Remove undeed block and fix
indentation.
H.J. Lu [Tue, 9 Mar 2010 02:00:58 +0000 (02:00 +0000)]
Add tests for PR gas/9966 and PR gas/11356.
2010-03-08 H.J. Lu <hongjiu.lu@intel.com>
PR gas/9966
PR gas/11356
* gas/i386/list-1.l: New.
* gas/i386/list-1.s: Likewise.
* gas/i386/list-2.l: Likewise.
* gas/i386/list-2.s: Likewise.
* gas/i386/list-3.l: Likewise.
* gas/i386/list-3.s: Likewise.
* gas/i386/i386.exp: Run list-1, list-2 and list-3.
* lib/gas-defs.exp (gas_run_stdin): New.
(run_list_test_stdin): Likewise.
Alan Modra [Tue, 9 Mar 2010 00:41:24 +0000 (00:41 +0000)]
PR gas/11356
* listing.c (listing_newline): Correct backslash quote logic.
gdbadmin [Tue, 9 Mar 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 8 Mar 2010 23:00:18 +0000 (23:00 +0000)]
daily update
Doug Kwan [Mon, 8 Mar 2010 22:15:16 +0000 (22:15 +0000)]
2010-03-08 Doug Kwan <dougkwan@google.com>
* gold/arm.cc (Arm_exidx_fixup::update_offset_map): Fix build breakage
due to a conversion warning.
(Arm_relobj::update_output_local_symbol_count): Check for local
symbol with unset output index.
Tom Tromey [Mon, 8 Mar 2010 20:21:48 +0000 (20:21 +0000)]
* breakpoint.c (breakpoint_1): Add "QUIT".
Pedro Alves [Mon, 8 Mar 2010 19:28:27 +0000 (19:28 +0000)]
* solib.c (solib_find): Replace extension if
solib_symbols_extension is set in the target gdbarch.
* arm-symbian-tdep.c (arm_symbian_init_abi): Set
solib_symbols_extension to "sym".
* gdbarch.sh (solib_symbols_extension): New variable.
(pstring): New function.
* gdbarch.h, gdbarch.c: Regenerate.
Tom Tromey [Mon, 8 Mar 2010 19:20:38 +0000 (19:20 +0000)]
gdb
PR cli/9591:
* NEWS: Update.
* utils.c: Include main.h.
(fputs_maybe_filtered): Don't paginate if `batch_flag'.
(defaulted_query): Use default answer if `batch_flag'.
* main.h (batch_flag): Declare.
* main.c (batch_flag): New global.
(captured_main): Remove 'batch'. Update.
gdb/doc
PR cli/9591:
* gdb.texinfo (Mode Options): Mention lack of pagination and
confirmation with --batch.
(Screen Size): Mention --batch.
(Messages/Warnings): Likewise.
Pierre Muller [Mon, 8 Mar 2010 19:17:54 +0000 (19:17 +0000)]
* Fix commit year
Kevin Buettner [Mon, 8 Mar 2010 19:06:34 +0000 (19:06 +0000)]
* remote-mips.c (rockhopper_ops): New target_ops struct.
(MON_ROCKHOPPER): New mips_monitor_type.
(read_hex_value): New function.
(mips_request): Send 8-byte values with a 'T' packet. Read the
packet argument as a string and use read_hex_value to parse it.
(mips_exit_debug): Wait for response when using MON_ROCKHOPPER.
(rockhopper_open): New function.
(mips_wait): Read the PC, FP and SP fields as strings. Use
read_hex_value to parse them and mips_set_register to commit them.
(mips_set_register): New function.
(mips_fetch_registers): Do not cast register value to "unsigned"
when reading a MON_ROCKHOPPER 't' packet. Use mips_set_register.
(mips_store_registers): Use a 'T' packet to set registers when
using MON_ROCKHOPPER.
(pmon_end_download): Don't run initEther if using MON_ROCKHOPPER
and expect the total to be printed before the entry address.
(_initialize_remote_mips): Initialize and add rockhopper_ops.
Kevin Buettner [Mon, 8 Mar 2010 18:41:00 +0000 (18:41 +0000)]
* remote-mips.c (mips_fetch_word): Add new parameter, `valp'.
Change return value to int. Store value fetched in location
addressed by `val'. Use function's return value as success
or failure indicator. Adjust all callers.
Kevin Buettner [Mon, 8 Mar 2010 18:22:06 +0000 (18:22 +0000)]
* remote-mips.c (mips_fetch_word): Add new parameter, `valp'.
Change return value to int. Store value fetched in location
addressed by `val'. Use function's return value as success
or failure indicator. Adjust all callers.
Pierre Muller [Mon, 8 Mar 2010 16:55:17 +0000 (16:55 +0000)]
* p-lang.c (is_pascal_string_type): Check that TYPE arg is non NULL.
Rainer Orth [Mon, 8 Mar 2010 14:07:45 +0000 (14:07 +0000)]
* config/tc-i386.h [TE_SOLARIS] (ELF_TARGET_FORMAT): Define.
(ELF_TARGET_FORMAT64): Define.
Hui Zhu [Mon, 8 Mar 2010 13:34:38 +0000 (13:34 +0000)]
2010-03-08 Jan Kratochvil <jan.kratochvil@redhat.com>
Hui Zhu <teawater@gmail.com>
* record.c (record_open_1): Check tmp_to_stopped_by_watchpoint and
tmp_to_stopped_data_address.
(record_open): Reset tmp_to_stopped_by_watchpoint and
tmp_to_stopped_data_address.
* target.c (init_dummy_target): Add to_stopped_by_watchpoint and
to_stopped_data_address.
Hui Zhu [Mon, 8 Mar 2010 12:57:11 +0000 (12:57 +0000)]
2010-03-08 Hui Zhu <teawater@gmail.com>
* i386-tdep.c (i386_process_record): Initialize regnum.
Jan Kratochvil [Mon, 8 Mar 2010 08:32:49 +0000 (08:32 +0000)]
gdb/
* symfile.c (addr_info_make_relative): New variable sect_name, use it.
Do not warn on ".gnu.liblist" and ".gnu.conflict".
Joel Brobecker [Mon, 8 Mar 2010 07:45:49 +0000 (07:45 +0000)]
Memory error when reading wrong core file.
* solib-svr4.c (solib_svr4_r_map): catch and print all exception
errors while reading the inferior memory, and return zero if
an exception was raised.
Michael Snyder [Mon, 8 Mar 2010 01:49:35 +0000 (01:49 +0000)]
2010-03-07 Michael Snyder <msnyder@vmware.com>
* record.c (record_restore): Rename tmpu8 to rectype.
Michael Snyder [Mon, 8 Mar 2010 01:36:56 +0000 (01:36 +0000)]
2010-03-07 Michael Snyder <msnyder@vmware.com>
* i386-tdep.c (i386_record_lea_modrm_addr): Rename local variables
tmpu8, tmpi16, tmpi32, tmpulongest to addr8, addr16, addr32, addr64.
(i386_record_push): Rename local tmpulongest to addr.
(i386_process_record): Rename local tmpulongest to addr.
Michael Snyder [Mon, 8 Mar 2010 00:53:13 +0000 (00:53 +0000)]
2010-03-07 Michael Snyder <msnyder@vmware.com>
* i386-tdep.c (i386_process_record): Rename local variables
tmpu16, tmpu32, tmpu64 to addr16, addr32, addr64.
Michael Snyder [Mon, 8 Mar 2010 00:31:28 +0000 (00:31 +0000)]
2010-03-07 Michael Snyder <msnyder@vmware.com>
* i386-tdep.c (i386_process_record): Rename tmpu8 to opcode8 and
regnum.
gdbadmin [Mon, 8 Mar 2010 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 7 Mar 2010 23:00:13 +0000 (23:00 +0000)]
daily update
Joel Brobecker [Sun, 7 Mar 2010 14:36:45 +0000 (14:36 +0000)]
Assertion failure after Ada task switch (target remote).
* remote.c (remote_get_ada_task_ptid): New function.
(init_remote_ops): Set remote_ops.to_get_ada_task_ptid.
gdbadmin [Sun, 7 Mar 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sat, 6 Mar 2010 23:29:46 +0000 (23:29 +0000)]
daily update
Christopher Faylor [Sat, 6 Mar 2010 19:27:09 +0000 (19:27 +0000)]
* windows-nat.c: Reorganize #ifdef __CYGWIN__ considerations into one block.
Define helper macros to reduce ifdefs in code.
(get_module_name): Use cygwin_buf_t for buffer and __PMAX for buffer size.
Call unadorned GetModuleFileNameEx rather than GetModuleFileNameEx*.
(windows_make_so): Use __PMAX to denote maximum buffer size and cygwin_buf_t
for buffer type. Use GetSystemDirectory{W,A} as appropriate.
(get_image_name): Use __PMAX to denote maximum buffer size.
(handle_load_dll): Likewise.
(windows_pid_to_exec_file): Likewise.
(windows_create_inferior): Add many accommodations for older Cygwin and
non-Cygwin.
(bad_GetModuleFileNameExW): Control inclusion of this function based on
__USEWIDE conditional.
(bad_GetModuleFileNameExA): Likewise.
(_initialize_loadable): Just use real function names without the dyn_ part
since they are defined earlier.
Ian Lance Taylor [Sat, 6 Mar 2010 02:34:13 +0000 (02:34 +0000)]
* options.h (class General_options): Add --spare-dynamic-tags.
* output.cc (Output_data_dynamic::set_final_data_size): Implement
--spare-dynamic-tags.
Pedro Alves [Sat, 6 Mar 2010 00:11:42 +0000 (00:11 +0000)]
2010-03-06 Simo Melenius <simo.melenius@iki.fi>
* linux-low.c (linux_wait_for_lwp): Fetch the regcache after
switching the current inferior, not before.
gdbadmin [Sat, 6 Mar 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Ian Lance Taylor [Fri, 5 Mar 2010 22:04:48 +0000 (22:04 +0000)]
* incremental.cc: Include "libiberty.h".
Rainer Orth [Fri, 5 Mar 2010 21:04:59 +0000 (21:04 +0000)]
include:
* elf/common.h (VER_FLG_*): Document.
(VER_FLG_INFO): Define.
gold:
* dynobj.h (Verdef::Verdef): Add is_info arg, is_info member
function, is_info_ member.
* dynobj.cc (Verdef::write): Set VER_FLG_INFO if this->is_info_.
(Versions::Versions): Update caller.
(Versions::define_base_version): Likewise.
(Versions::add_def): Likewise.
elfcpp:
* elfcpp.h (VER_FLG_INFO): Define.
binutils:
* readelf.c (get_ver_flags): Handle VER_FLG_INFO.
Tom Tromey [Fri, 5 Mar 2010 20:18:19 +0000 (20:18 +0000)]
gdb
2010-03-05 Corinna Vinschen <vinschen@redhat.com>
Tom Tromey <tromey@redhat.com>
* utils.c (host_char_to_target): Add 'gdbarch' argument.
(parse_escape): Likewise.
* python/py-utils.c (unicode_to_target_string): Update.
(unicode_to_target_python_string): Update.
(target_string_to_unicode): Update.
* printcmd.c (printf_command): Update.
* p-exp.y (yylex): Update.
* objc-exp.y (yylex): Update.
* mi/mi-parse.c: Include charset.h.
(mi_parse_escape): New function.
(mi_parse_argv): Use it.
* jv-exp.y (yylex): Update.
* i386-cygwin-tdep.c (i386_cygwin_auto_wide_charset): New
function.
(i386_cygwin_init_abi): Call set_gdbarch_auto_wide_charset.
* gdbarch.sh (auto_charset, auto_wide_charset): New.
* gdbarch.c: Rebuild.
* gdbarch.h: Rebuild.
* defs.h (parse_escape): Update.
* cli/cli-setshow.c: Include arch-utils.h.
(do_setshow_command): Update.
* cli/cli-cmds.c (echo_command): Update.
* charset.h (target_charset, target_wide_charset): Update.
* charset.c: Include arch-utils.h.
(target_charset_name): Default to "auto".
(target_wide_charset_name): Likewise.
(show_target_charset_name): Handle "auto".
(show_target_wide_charset_name): Likewise.
(be_le_arch): New global.
(set_be_le_names): Add 'gdbarch' argument.
(validate): Likewise. Don't call set_be_le_names.
(set_charset_sfunc, set_host_charset_sfunc)
(set_target_charset_sfunc, set_target_wide_charset_sfunc):
Update.
(target_charset): Add 'gdbarch' argument.
(target_wide_charset): Likewise. Remove 'byte_order' argument.
(auto_target_charset_name): New global.
(default_auto_charset, default_auto_wide_charset): New functions.
(_initialize_charset): Set auto_target_charset_name. Allow "auto"
for target charsets. Copy result of nl_langinfo. Use GetACP if
USE_WIN32API.
* c-lang.c (charset_for_string_type): Add 'gdbarch' argument,
remove 'byte_order' argument. Update.
(classify_type): Likewise.
(c_emit_char): Update.
(c_printchar): Update.
(c_printstr): Update.
(c_get_string): Update.
(evaluate_subexp_c): Update.
* arch-utils.h (default_auto_charset, default_auto_wide_charset):
Declare.
* python/python.c (gdbpy_target_charset): New function.
(gdbpy_target_wide_charset): Likewise.
(GdbMethods): Update.
* NEWS: Update.
gdb/doc
* gdb.texinfo (Basic Python): Document target_charset and
target_wide_charset.
gdb/testsuite
* gdb.python/py-prettyprint.py (pp_nullstr.to_string): Use
gdb.target_charset.
(pp_ns.to_string): Likewise.
Tom Tromey [Fri, 5 Mar 2010 20:01:21 +0000 (20:01 +0000)]
* gdb.texinfo (Data): Link to pretty-printing.
(Output Formats): Likewise. Correct text.
Rainer Orth [Fri, 5 Mar 2010 19:49:00 +0000 (19:49 +0000)]
ld:
* Makefile.am (ALL_EMULATIONS): Add eelf32_sparc_sol2.o,
eelf_i386_sol2.o.
(ALL_64_EMULATIONS): Add eelf_x86_64_sol2.o, eelf64_sparc_sol2.o.
(eelf32_sparc_sol2.c): New rule.
(eelf64_sparc_sol2.c): Likewise.
(eelf_x86_64_sol2.c): Likewise.
(eelf_i386_sol2.c): Likewise.
* Makefile.in: Regenerate.
* configure.tgt (i[3-7]86-*-solaris2*): Change targ_emul to
elf_i386_sol2.
Add elf_i386_ldso, elf_x86_64_sol2 to targ_extra_emuls.
(x86_64-*-solaris2*): Change targ_emul to elf_x86_64_sol2.
Add elf_x86_64, elf_i386_sol2, elf_i386 to targ_extra_emuls.
(sparc-*-solaris2.[0-6]*): Change targ_emul to elf32_sparc_sol2.
Add target_extra_emuls.
(sparc-*-solaris2*): Change targ_emul to elf32_sparc_sol2.
Add elf32_sparc, elf64_sparc_sol2 to targ_extra_emuls.
(sparcv9-*-solaris2*): Change targ_emul to elf64_sparc_sol2.
Add elf64_sparc, elf32_sparc_sol2 to target_extra_emuls.
* emulparams/elf32_sparc_sol2.sh: New file.
* emulparams/elf64_sparc_sol2.sh: New file.
* emulparams/elf_i386_sol2.sh: New file.
* emulparams/elf_x86_64_sol2.sh: New file.
* emultempl/solaris2.em: New file.
bfd:
* elflink.c (bfd_elf_size_dynamic_sections): Don't emit base
version twice.
Skip it when constructing def.vd_next.
* elf32-i386.c (TARGET_LITTLE_SYM): Redefine to
bfd_elf32_i386_sol2_vec.
(TARGET_LITTLE_NAME): Redefine to elf32-i386-sol2.
(elf32_bed): Redefine to elf32_i386_sol2_bed.
(elf_backend_want_plt_sym): Redefine to 1.
* elf64-x86-64.c (TARGET_LITTLE_SYM): Redefine to
bfd_elf64_x86_64_sol2_vec.
(TARGET_LITTLE_NAME): Redefine to elf64-x86-64-sol2.
(elf64_bed): Redefine to elf64_x86_64_sol2_bed.
(elf_backend_want_plt_sym): Redefine to 1.
* config.bfd (i[3-7]86-*-solaris2*): Set targ_defvec to
bfd_elf32_i386_sol2_vec.
Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in
targ64_selvecs.
(x86_64-*-solaris2*): Set targ_defvec to bfd_elf32_i386_sol2_vec.
Replace bfd_elf64_x86_64_vec by bfd_elf64_x86_64_sol2_vec in
targ_selvecs.
* configure.in: Handle bfd_elf32_i386_sol2_vec,
bfd_elf64_x86_64_sol2_vec.
* configure: Regenerate.
* targets.c (bfd_elf32_i386_sol2_vec): Declare.
(bfd_elf64_x86_64_sol2_vec): Declare.
(_bfd_target_vector): Add bfd_elf32_i386_sol2_vec,
bfd_elf64_x86_64_sol2_vec.
Ulrich Weigand [Fri, 5 Mar 2010 19:32:44 +0000 (19:32 +0000)]
* symfile.c (build_section_addr_info_from_objfile): Do not mask
off high address bits.
Ulrich Weigand [Fri, 5 Mar 2010 19:28:13 +0000 (19:28 +0000)]
* python/py-lazy-string.c (gdbpy_extract_lazy_string): Extract
address as UnsignedLongLong, not LongLong.
Kevin Buettner [Fri, 5 Mar 2010 16:18:54 +0000 (16:18 +0000)]
* remote-mips.c (gdbthread.h): Include.
(remote_mips_ptid): Declare.
(mips_error): Only mourn the inferior when inferior_ptid is non-null.
(common_open): Set inferior_ptid, add it as an inferior, and
as a thread too. Delete FIXME comment regarding start_remote().
(mips_close): Invoke generic_mourn_inferior().
(mips_kill): Make sure that target_mourn_inferior is invoked.
(mips_mourn_inferior): Don't invoke generic_mourn_inferior, as
it's now invoked from mips_close().
(mips_load): Don't null out inferior_ptid. Don't call
clear_symtab_users().
(mips_thread_alive, mips_pid_to_str): New functions.
(_initialize_remote_mips): Initialize remote_mips_ptid. Initialize
to_thread_alive and to_pid_to_str operations.
Paul Brook [Fri, 5 Mar 2010 10:41:04 +0000 (10:41 +0000)]
2010-03-05 Paul Brook <paul@codesourcery.com>
gas/
* config/tc-arm.c (arm_cpu_option_table): Add cortex-m4.
gdbadmin [Fri, 5 Mar 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 4 Mar 2010 23:00:07 +0000 (23:00 +0000)]
daily update
Tom Tromey [Thu, 4 Mar 2010 22:01:10 +0000 (22:01 +0000)]
* dwarf2read.c (skip_one_die) <DW_FORM_ref_addr>: Use offset size
in DWARF 3 and later.
(read_attribute_value) <DW_FORM_ref_addr>: Likewise.
Doug Evans [Thu, 4 Mar 2010 19:00:19 +0000 (19:00 +0000)]
* arm-tdep.c (arm_make_stub_cache): Delete unused locals reg,
unwound_fp.
Keith Seitz [Thu, 4 Mar 2010 18:38:35 +0000 (18:38 +0000)]
* linespec.c (decode_line_1): Update comments for is_quote_enclosed.
If the filename portion of the linespec was quoted, recheck the
remainder for additional quoting.
(locate_first_half): Skip over completer chars, too.
Keith Seitz [Thu, 4 Mar 2010 18:38:17 +0000 (18:38 +0000)]
* gdb.cp/overload.exp: Test that the filename portion of a linespec
can be quoted. Test that both the filename and function/line
portions can be quoted at the same time.
Tom Tromey [Thu, 4 Mar 2010 18:21:40 +0000 (18:21 +0000)]
* printcmd.c (printf_command): Pass dummy argument to
printf_filtered.
Daniel Jacobowitz [Thu, 4 Mar 2010 17:16:08 +0000 (17:16 +0000)]
* elf32-arm.c (elf32_arm_output_arch_local_syms): Skip non-program
sections.
Rainer Orth [Thu, 4 Mar 2010 17:12:46 +0000 (17:12 +0000)]
PR libstdc++/32499
* configure.ac (RANLIB): Default to true.
(STRIP): Likewise.
(RANLIB_FOR_TARGET): Remove superfluous : argument.
* configure: Regenerate.
Doug Evans [Thu, 4 Mar 2010 16:39:57 +0000 (16:39 +0000)]
* arm-tdep.c (arm_stub_unwind_sniffer): Add comment.
Pedro Alves [Thu, 4 Mar 2010 15:37:26 +0000 (15:37 +0000)]
gdb/
* breakpoint.c (update_watchpoint): Create a sentinel location if
the software watchpoint isn't watching any memory.
(breakpoint_address_bits): Skip dummy software watchpoint locations.
gdb/testsuite/
* gdb.base/watch-non-mem.c, gdb.base/watch-non-mem.exp: New.
Pedro Alves [Thu, 4 Mar 2010 14:58:40 +0000 (14:58 +0000)]
* utils.c (fputs_maybe_filtered): Check if there's already a top
level interpreter before dereferencing it. If there isn't one,
don't paginate either.
Daniel Jacobowitz [Thu, 4 Mar 2010 13:42:12 +0000 (13:42 +0000)]
2010-03-04 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
* arm-tdep.c (arm_pc_is_thumb): Add heuristic that tries to get
the state right when single stepping.
(arm_get_next_pc_raw, thumb_get_next_pc_raw): New functions.
Get the next PC along with the instruction state.
(thumb_get_next_pc): Remove.
(arm_get_next_pc): Modified to use arm_get_next_pc_raw.
Hui Zhu [Thu, 4 Mar 2010 07:53:20 +0000 (07:53 +0000)]
2010-03-04 Hui Zhu <teawater@gmail.com>
* i386-tdep.c (i386_process_record): Change "addr" to "tmpu64".
Alan Modra [Thu, 4 Mar 2010 04:01:53 +0000 (04:01 +0000)]
PR 11302
* dwarf2.c (read_abbrevs): Return NULL on alloc failures.
(read_attribute_value, decode_line_info): Likewise.
(add_line_info, read_rangelist): Return FALSE on alloc failures.
(arange_add, sort_line_sequences): Likewise.
(find_abstract_instance_name): Handle failures from called funcs.
(scan_unit_for_symbols, parse_comp_unit, decode_line_info): Likewise.
(find_line): Realloc to a temp, and handle alloc fail.
Sriraman Tallam [Thu, 4 Mar 2010 01:33:22 +0000 (01:33 +0000)]
* i386.cc (Target_i386::can_check_for_function_pointers): New function.
(Scan::possible_function_pointer_reloc): New function.
(Scan::local_reloc_may_be_function_pointer): Change to call
possible_function_pointer_reloc.
(Scan::global_reloc_may_be_function_pointer): Ditto.
* icf.h (Icf::check_section_for_function_pointers): Change to reject
relocations in ".data.rel.ro._ZTV" section.
* testsuite/icf_safe_so_test.sh: Change to pass i386.
* testsuite/icf_safe_so_test.cc: Ditto.
* testsuite/icf_safe_test.cc: Ditto.
* testsuite/icf_safe_test.sh: Ditto.
Pedro Alves [Thu, 4 Mar 2010 01:06:28 +0000 (01:06 +0000)]
* utils.c (fputs_maybe_filtered): Always disable pagination if the
top level interpreter is MI.
Stan Shebs [Thu, 4 Mar 2010 00:32:50 +0000 (00:32 +0000)]
2010-03-03 Stan Shebs <stan@codesourcery.com>
* remote.c (remote_download_tracepoint): Iterate over locations.
* tracepoint.c (validate_actionline): Ditto.
(encode_actions): Add location argument.
(trace_dump_command): Check all locations to see if stepping
frame.
gdbadmin [Thu, 4 Mar 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 3 Mar 2010 23:00:06 +0000 (23:00 +0000)]
daily update
Doug Evans [Wed, 3 Mar 2010 22:19:05 +0000 (22:19 +0000)]
* lib/gdb.exp (gdb_compile_pthreads): Handle case where
libc contains libpthread.
Doug Evans [Wed, 3 Mar 2010 22:13:51 +0000 (22:13 +0000)]
* gdb.threads/linux-dp.c (shared_random): Call rand instead of rand_r.
* gdb.threads/linux-dp.exp: Compile with gdb_compile_pthreads instead
of gdb_compile. Add another pattern to match android backtrace.
H.J. Lu [Wed, 3 Mar 2010 20:19:50 +0000 (20:19 +0000)]
Mention improvement for X86 general purpose registers.
2010-03-03 H.J. Lu <hongjiu.lu@intel.com>
Eli Zaretskii <eliz@gnu.org>
* NEWS: Add X86 general purpose registers section.
Ian Lance Taylor [Wed, 3 Mar 2010 19:31:54 +0000 (19:31 +0000)]
* target-reloc.h (relocate_section): Check the symbol table index
for -1U before setting the local symbol index.
(scan_relocatable_relocs): If copying the relocation, record that
the local symbol is required.
* object.h (Symbol_value::is_output_symtab_index_set): New
function.
(Symbol_value::may_be_discarded_from_output_symtab): New
function.
(Symbol_value::has_output_symtab_entry): New function.
(Symbol_value::needs_output_symtab_entry): Remove.
(Symbol_value::output_symtab_index): Make sure the symbol index is
set.
(Symbol_value::set_output_symtab_index): Make sure the symbol
index is not set. Make sure the new index is valid.
(Symbol_value::set_must_have_output_symtab_entry): New function.
(Symbol_value::has_output_dynsym_entry): New function.
(Symbol_value::set_output_dynsym_index): Make sure the new index
is valid.
(Sized_relobj::set_must_have_output_symtab_entry): New function.
* object.cc (Sized_relobj::do_count_local_symbols): Only discard a
local symbol if permitted.
(Sized_relobj::do_finalize_local_symbols): Call
is_output_symtab_index_set rather than needs_output_symtab_entry.
(Sized_relobj::write_local_symbols): Call has_output_symtab_entry
rather than needs_output_symtab_entry. Call
has_output_dynsym_entry rather than needs_output_dynsym_entry.
* arm.cc (Arm_relobj::update_output_local_symbol_count): Call
is_output_symtab_index_set rather than needs_output_symtab_entry.
* testsuite/discard_locals_relocatable_test.c: New file.
* testsuite/discard_locals_test.sh: Test -r.
* testsuite/Makefile.am (check_DATA): Add
discard_locals_relocatable_test1.syms,
discard_local_relocatable_test2.syms.
(MOSTLYCLEANFILES): Likewise. Also add
discard_locals_relocatable_test1.lout and
discard_locals_relocatable_test2.out.
(discard_locals_relocatable_test1.syms): New target.
(discard_locals_relocatable_test.o): New target.
(discard_locals_relocatable_test1.out): New target.
(discard_locals_relocatable_test2.syms): New target.
(discard_locals_relocatable_test2.out): New target.
(various): Add missing ../ld-new dependencies.
* testsuite/Makefile.in: Rebuild.
Tom Tromey [Wed, 3 Mar 2010 18:32:44 +0000 (18:32 +0000)]
PR mi/11098:
* varobj.c (install_new_value): Handle case where new print_value
is NULL.
Tom Tromey [Wed, 3 Mar 2010 18:05:05 +0000 (18:05 +0000)]
gdb
2010-03-03 Dainis Jonitis <jonitis@gmail.com>
PR gdb/11345:
* printcmd.c (printf_command): Print end of format string using
printf_filtered.
gdb/testsuite
2010-03-03 Tom Tromey <tromey@redhat.com>
PR gdb/11345:
* gdb.base/printcmds.exp (test_printf): Add test.
Daniel Jacobowitz [Wed, 3 Mar 2010 17:56:24 +0000 (17:56 +0000)]
* elf32-arm.c (elf32_arm_output_arch_local_syms): Do not add
a mapping symbol to an empty section.
Nick Clifton [Wed, 3 Mar 2010 14:26:19 +0000 (14:26 +0000)]
* po/fi.po: New Finnish translation.
gdbadmin [Wed, 3 Mar 2010 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 2 Mar 2010 23:00:06 +0000 (23:00 +0000)]
daily update
Tom Tromey [Tue, 2 Mar 2010 21:46:28 +0000 (21:46 +0000)]
* mi/mi-cmd-break.c (mi_read_next_line): Add missing 'void'.
* defs.h (read_command_lines_1): Add missing 'void'.
* cli/cli-script.c (recurse_read_control_structure): Add missing
'void'.
(read_next_line): Likewise.
(read_command_lines_1): Likewise.
Ulrich Weigand [Tue, 2 Mar 2010 20:21:08 +0000 (20:21 +0000)]
* spu-tdep.c (spu_analyze_prologue): Track instruction to
store backchain as part of prologue.
Daniel Jacobowitz [Tue, 2 Mar 2010 17:55:39 +0000 (17:55 +0000)]
* progspace.c (update_address_spaces): Update inferior address spaces
also.
Doug Evans [Tue, 2 Mar 2010 17:19:58 +0000 (17:19 +0000)]
* dwarf2read.c (add_partial_subprogram): Add missing baseaddr to
lowpc,highpc args to addrmap_set_empty.
Daniel Jacobowitz [Tue, 2 Mar 2010 16:44:34 +0000 (16:44 +0000)]
* NEWS: Document .ARM.exidx / .ARM.extab support.
* dwarf.c (read_leb128): Make non-static.
* dwarf.h (read_leb128): Declare.
* readelf.c (REMOVE_ARCH_BITS): Define.
(find_section_by_address): New.
(read_uleb128): Move higher. Use read_leb128 from dwarf.c.
(find_symbol_for_address): Handle the Thumb bit for ARM, by
using REMOVE_ARCH_BITS.
(struct arm_section, struct arm_unw_aux_info, arm_print_vma_and_name)
(arm_free_section, arm_section_get_word, decode_arm_unwind)
(dump_arm_unwind, arm_process_unwind): New.
(process_unwind): Handle ARM.
H.J. Lu [Tue, 2 Mar 2010 13:14:36 +0000 (13:14 +0000)]
Support x86 pseudo byte, word and dword registers.
gdb/
2010-03-02 H.J. Lu <hongjiu.lu@intel.com>
* amd64-tdep.c (amd64_byte_names): New.
(amd64_word_names): Likewise.
(amd64_dword_names): Likewise.
(amd64_pseudo_register_name): Likewise.
(amd64_pseudo_register_read): Likewise.
(amd64_pseudo_register_write): Likewise.
(amd64_init_abi): Set num_byte_regs, num_word_regs, num_dword_regs
and num_mmx_regs. Call set_gdbarch_pseudo_register_read,
set_gdbarch_pseudo_register_write and
set_tdesc_pseudo_register_name. Don't call
set_gdbarch_num_pseudo_regs. Don't set mm0_regnum.
* i386-tdep.c (i386_num_mmx_regs): Removed.
(i386_num_pseudo_regs): Likewise.
(i386_byte_names): New.
(i386_word_names): Likewise.
(i386_byte_regnum_p): Likewise.
(i386_word_regnum_p): Likewise.
(i386_mmx_regnum_p): Updated.
(i386_pseudo_register_name): Make it global. Handle byte and
word pseudo-registers.
(i386_pseudo_register_read): Likewise.
(i386_pseudo_register_write): Likewise.
(i386_pseudo_register_type): Handle byte, word and dword
pseudo-registers
(i386_register_reggroup_p): Don't include pseudo
registers, except for MXX, in any register groups. Don't
include pseudo byte, word, dword registers in general_reggroup.
(i386_gdbarch_init): Set num_byte_regs, num_word_regs,
num_dword_regs, al_regnum, ax_regnum and eax_regnum. Put MMX
pseudo-registers after word pseudo-registers. Call
set_gdbarch_num_pseudo_regs after calling gdbarch_init_osabi.
* i386-tdep.h (gdbarch_tdep): Add num_mmx_regs, num_byte_regs,
al_regnum, num_word_regs, ax_regnum, num_dword_regs and
eax_regnum.
(i386_byte_regnum_p): New.
(i386_word_regnum_p): Likewise.
(i386_dword_regnum_p): Likewise.
(i386_pseudo_register_name): Likewise.
(i386_pseudo_register_read): Likewise.
(i386_pseudo_register_write): Likewise.
gdb/testsuite/
2010-03-02 H.J. Lu <hongjiu.lu@intel.com>
* gdb.arch/amd64-byte.exp: New.
* gdb.arch/amd64-dword.exp: Likewise.
* gdb.arch/amd64-pseudo.c: Likewise.
* gdb.arch/amd64-word.exp: Likewise.
* gdb.arch/i386-byte.exp: Likewise.
* gdb.arch/i386-pseudo.c: Likewise.
* gdb.arch/i386-word.exp: Likewise.
Matthew Gretton-Dann [Tue, 2 Mar 2010 11:40:24 +0000 (11:40 +0000)]
* ld/testsuite/ld-arm/arm-merge-incompatible.d: New test.
* ld/testsuite/ld-arm/arm-merge-incompatiblea.s: Likewise.
* ld/testsuite/ld-arm/arm-merge-incompatibleb.s: Likewise.
* ld/testsuite/ld-arm/arm-elf.exp: Run the new test.
* bfd/elf32-arm.c (elf32_arm_merge_eabi_attributes): Add a check of the
return value from the call to _bfd_elf_merge_object_attributes.
Andrew Stubbs [Tue, 2 Mar 2010 09:32:21 +0000 (09:32 +0000)]
2010-03-02 Andrew Stubbs <ams@codesourcery.com>
* config/tc-sh.c (get_specific): Move overflow checking code to avoid
reading uninitialized data.
Christophe Lyon [Tue, 2 Mar 2010 08:19:54 +0000 (08:19 +0000)]
2010-03-02 Christophe Lyon <christophe.lyon@st.com>
Alan Modra <amodra@gmail.com>
bfd/
* elf32-arm.c (a8_erratum_fix): Add st_type field to record the
destination mode of the a8 stub.
(elf32_arm_link_hash_table): Add top_id field.
(elf32_arm_link_hash_table_create): Initialize top_id.
(arm_type_of_stub): Update prototype, st_type can now be updated
by this function. Actual destination address in case of PLT is
computed here, to help factorizing code.
(elf32_arm_stub_name): Update prototype, use stub_type additional
parameter to build stub name.
(elf32_arm_get_stub_entry): Update prototype, use stub_type
additional parameter to build stub entry.
(arm_build_one_stub): Use bfd_put_16/bfd_put_32 instead of
put_thumb_insn/put_arm_insn as BE8 encoding is now handled later.
Call elf32_arm_final_link_relocate to process all in-stub
relocations.
(elf32_arm_setup_section_lists): Update top_id.
(cortex_a8_erratum_scan): Record stub destination mode.
(elf32_arm_size_stubs): Update call to arm_type_of_stub according
to new prototype.
(elf32_arm_final_link_relocate): Enable processing of in-stub
REL32 relocations. Rely on arm_type_of_stub to detect if a stub is
needed, enabling code factorization.
(elf32_arm_final_link): Process stub sections.
(elf32_arm_output_map_sym): Add entry to code/data map.
ld/testsuite/
* ld-arm/arm-elf.exp: Change .text start address for
farcall-thumb-arm tests. Add v4t variant for farcall-mixed-lib
test.
* ld-arm/farcall-mixed-lib-v4t.d: New test.
* ld-arm/farcall-mixed-lib1.s: Don't force armv5t.
* ld-arm/farcall-mixed-lib2.s: Likewise.
* ld-arm/arm-call.d: Update expected results.
* ld-arm/cortex-a8-far.d: Likewise.
* ld-arm/farcall-group-size2.d: Likewise.
* ld-arm/farcall-group.d: Likewise.
* ld-arm/farcall-mix.d: Likewise.
* ld-arm/farcall-mix2.d: Likewise.
* ld-arm/farcall-mixed-app-v5.d: Likewise.
* ld-arm/farcall-mixed-app.d: Likewise.
* ld-arm/farcall-mixed-lib.d: Likewise.
* ld-arm/farcall-thumb-arm.d: Likewise.
* ld-arm/farcall-thumb-arm-blx.d: Likewise.
* ld-arm/farcall-thumb-arm-pic-veneer.d: Likewise.
* ld-arm/farcall-thumb-arm-blx-pic-veneer.d: Likewise.
* ld-arm/farcall-thumb-arm.s: Update test. Add a new call to
potentially generate different types of stubs.
David S. Miller [Tue, 2 Mar 2010 07:42:37 +0000 (07:42 +0000)]
* elfxx-sparc.c (struct elf_reloc_map): Delete.
(sparc_reloc_map): Delete.
(_bfd_sparc_elf_reloc_type_lookup): Explicitly handle each
relocation type in switch statements.
David S. Miller [Tue, 2 Mar 2010 01:46:09 +0000 (01:46 +0000)]
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): When STT_GNU_IFUNC and
h->def_regular, set h->ref_regular.
(allocate_dynrelocs): Only force output of STT_GNU_IFUNC plt entries
and dynamic relocations if h->ref_regular.
gdbadmin [Tue, 2 Mar 2010 00:00:04 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 1 Mar 2010 23:00:05 +0000 (23:00 +0000)]
daily update
Doug Kwan [Mon, 1 Mar 2010 21:43:50 +0000 (21:43 +0000)]
2010-03-01 Doug Kwan <dougkwan@google.com>
* layout.cc (Layout::Layout): Force section types of .init_array*,
.preinit_array* and .fini_array* sections.
* output.cc (Output_section::Input_section_sort_entry::has_priority):
Fix check of return value of std::string::find.().
(Output_section::Input_section_sort_compare::operator()): Remove
comment about .init_array.
(Output_section::Input_section_sort_init_fini_compare::operator()):
New method.
(Output_section::sort_attached_input_sections): Handle .init_array
and .fini_array specially.
* output.h (Output_section::Inut_section_sort_compare): Update
comment.
(Output_section::Input_section_sort_init_fini_compare): New struct.
H.J. Lu [Mon, 1 Mar 2010 17:26:03 +0000 (17:26 +0000)]
Remove TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR.
2010-03-01 H.J. Lu <hongjiu.lu@intel.com>
* target-descriptions.c (tdesc_type): Remove
TDESC_TYPE_I386_EFLAGS and TDESC_TYPE_I386_MXCSR.
(tdesc_predefined_types): Likewise.
(tdesc_gdb_type): Likewise. Pass NULL to append_flags_type_flag
if flag name is empty.
(maint_print_c_tdesc_cmd): Handle TDESC_TYPE_FLAGS.
* features/i386/32bit-core.xml: Define i386_eflags.
* features/i386/64bit-core.xml: Likewise.
* features/i386/32bit-sse.xml: Define i386_mxcsr.
* features/i386/64bit-sse.xml: Likewise.
* features/i386/amd64-linux.c: Regenerated.
* features/i386/amd64.c: Likewise.
* features/i386/i386-linux.c: Likewise.
* features/i386/i386.c: Likewise.
Daniel Jacobowitz [Mon, 1 Mar 2010 17:19:23 +0000 (17:19 +0000)]
* gdbtypes.c (append_composite_type_field_raw): New.
(append_composite_type_field_aligned): Use the new function.
* gdbtypes.h (append_composite_type_field_raw): Declare.
* target-descriptions.c (struct tdesc_type_field): Add start and end.
(struct tdesc_type_flag): New type.
(struct tdesc_type): Add TDESC_TYPE_STRUCT and TDESC_TYPE_FLAGS to
kind. Add size to u.u. Add u.f for flags.
(tdesc_gdb_type): Handle TDESC_TYPE_STRUCT and TDESC_TYPE_FLAGS.
(tdesc_free_type): Likewise.
(tdesc_create_struct, tdesc_set_struct_size, tdesc_create_flags): New.
(tdesc_add_field): Handle TDESC_TYPE_STRUCT.
(tdesc_add_bitfield, tdesc_add_flag): New.
* target-descriptions.h (tdesc_create_struct, tdesc_set_struct_size)
(tdesc_create_flags, tdesc_add_bitfield, tdesc_add_flag): Declare.
* xml-tdesc.c (struct tdesc_parsing_data): Rename current_union to
current_type. Add current_type_size and current_type_is_flags.
(tdesc_start_union): Clear the new fields.
(tdesc_start_struct, tdesc_start_flags): New.
(tdesc_start_field): Handle struct fields, including bitfields.
(field_attributes): Make type optional. Add start and end.
(union_children): Rename to struct_union_children.
(union_attributes): Rename to struct_union_attributes. Add optional
size.
(flags_attributes): New.
(feature_children): Add struct and flags.
* features/gdb-target.dtd: Add flags and struct to features.
Make field type optional. Add field start and end.
doc/
* gdb.texinfo (Types): Describe <struct> and <flags>.
testsuite/
* gdb.xml/extra-regs.xml: Add struct1, struct2, and flags
types. Add structreg, bitfields, and flags registers.
* gdb.xml/tdesc-regs.exp: Test structreg and bitfields
registers.
Tristan Gingold [Mon, 1 Mar 2010 16:47:52 +0000 (16:47 +0000)]
2010-03-01 Tristan Gingold <gingold@adacore.com>
* config/tc-score7.c (s7_frag_check): Add ATTRIBUTE_UNUSED.
H.J. Lu [Mon, 1 Mar 2010 15:33:32 +0000 (15:33 +0000)]
Enable XML target descriptions for x86.
gdb/
2010-03-01 H.J. Lu <hongjiu.lu@intel.com>
* amd64-linux-nat.c (AMD64_LINUX_USER64_CS): New.
(amd64_linux_read_description): Likewise.
(_initialize_amd64_linux_nat): Set to_read_description to
amd64_linux_read_description.
* amd64-linux-tdep.c: Include "features/i386/amd64-linux.c".
(amd64_linux_register_name): Removed.
(amd64_linux_register_type): Likewise.
(amd64_linux_core_read_description): New.
(amd64_linux_init_abi): Set target description to
tdesc_amd64_linux if needed. Support orig_rax in target
description. Don't call set_gdbarch_register_name nor
set_gdbarch_register_type. Call
set_gdbarch_core_read_description.
(_initialize_amd64_linux_tdep): Call
initialize_tdesc_amd64_linux.
* amd64-linux-tdep.h (tdesc_amd64_linux): New.
* amd64-tdep.c: Include "features/i386/amd64.c".
(amd64_register_names): Removed.
(amd64_register_name): Likewise.
(amd64_register_type): Likewise.
(amd64_init_abi): Set num_core_regs and register_names. Set
target description to tdesc_amd64 if needed. Don't call
set_gdbarch_register_name nor set_gdbarch_register_type.
(_initialize_amd64_tdep): New.
* i386-linux-nat.c (i386_linux_read_description): New.
(_initialize_i386_linux_nat): Set to_read_description to
i386_linux_read_description.
* i386-linux-tdep.c: Include "features/i386/i386-linux.c".
(i386_linux_register_name): Removed.
(i386_linux_core_read_description): New.
(i386_linux_read_description): Likewise.
(i386_linux_init_abi): Don't call set_gdbarch_register_name.
Set target description to tdesc_i386_linux if needed. Support
orig_eax. Set register_reggroup_p. Call
set_gdbarch_core_read_description.
(_initialize_i386_linux_tdep): Call initialize_tdesc_i386_linux.
* i386-linux-tdep.h (tdesc_i386_linux): New.
* i386-nto-tdep.c (i386nto_regset_id): Replace I386_NUM_FREGS
with I387_NUM_REGS.
* i386-tdep.c: Include "features/i386/i386.c".
(i386_register_names): Make it const.
(i386_mmx_names): Likewise.
(i386_num_register_names): Removed.
(i386_register_name): Likewise.
(i386_eflags_type): Likewise.
(i386_mxcsr_type): Likewise.
(i386_sse_type): Likewise.
(i386_register_type): Likewise.
(i387_ext_type): Call tdesc_find_type instead of arch_float_type.
(i386_pseudo_register_name): New.
(i386_pseudo_register_type): Likewise.
(i386_mmx_type): Make it static.
(i386_gdbarch_init): Check arch. Replace I386_NUM_FREGS with
I387_NUM_REGS. Set num_core_regs and register_names. Don't
call set_gdbarch_register_name nor set_gdbarch_register_type.
Set register_reggroup_p. Set target description to tdesc_i386
if needed. Call set_tdesc_pseudo_register_type,
set_tdesc_pseudo_register_name and tdesc_use_registers.
(_initialize_i386_tdep): Call initialize_tdesc_i386.
initialize_tdesc_x86_64.
* i386-tdep.h (gdbarch_tdep): Remove i386_eflags_type,
i386_mxcsr_type and i386_sse_type. Add num_core_regs,
register_names, tdesc and register_reggroup_p.
(I386_NUM_FREGS): Removed.
(i386_eflags_type): Likewise.
(i386_mxcsr_type): Likewise.
(i386_mmx_type): Likewise.
(i386_sse_type): Likewise.
(i386_register_name): Likewise.
(i386_regnum): Add I386_MXCSR_REGNUM.
(I386_SSE_NUM_REGS): Defined with I386_MXCSR_REGNUM.
* i387-tdep.h (I387_NUM_REGS): New.
* regformats/i386/i386-linux.dat: Generated.
* regformats/i386/i386.dat: Likewise.
* regformats/i386/amd64-linux.dat: Likewise.
* regformats/i386/amd64.dat: Likewise.
* regformats/reg-i386-linux.dat: Removed.
* regformats/reg-i386.dat: Likewise.
* regformats/reg-x86-64-linux.dat: Likewise.
* regformats/reg-x86-64.dat: Likewise.
gdb/gdbserver/
2010-03-01 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.in (clean): Replace reg-i386.c, reg-x86-64.c,
reg-i386-linux.c and reg-x86-64-linux.c with i386.c, amd64.c,
i386-linux.c and amd64-linux.c.
(reg-i386.o): Removed.
(reg-i386.c): Likewise.
(reg-i386-linux.o): Likewise.
(reg-i386-linux.c): Likewise.
(reg-x86-64.o): Likewise.
(reg-x86-64.c): Likewise.
(reg-x86-64-linux.o): Likewise.
(reg-x86-64-linux.c): Likewise.
(i386.o): New.
(i386.c): Likewise.
(i386-linux.o): Likewise.
(i386-linux.c): Likewise.
(amd64.o): Likewise.
(amd64.c): Likewise.
(amd64-linux.o): Likewise.
(amd64-linux.c): Likewise.
* configure.srv (srv_i386_regobj): New.
(srv_i386_linux_regobj): Likewise.
(srv_amd64_regobj): Likewise.
(srv_amd64_linux_regobj): Likewise.
(srv_i386_32bit_xmlfiles): Likewise.
(srv_i386_64bit_xmlfiles): Likewise.
(srv_i386_xmlfiles): Likewise.
(srv_amd64_xmlfiles): Likewise.
(srv_i386_linux_xmlfiles): Likewise.
(srv_amd64_linux_xmlfiles): Likewise.
(i[34567]86-*-cygwin*): Set srv_regobj to $srv_i386_regobj. Set
srv_xmlfiles to $srv_i386_xmlfiles.
(i[34567]86-*-mingw32ce*): Likewise.
(i[34567]86-*-mingw*): Likewise.
(i[34567]86-*-nto*): Likewise.
(i[34567]86-*-linux*): Set srv_regobj to $srv_i386_linux_regobj
and $srv_amd64_linux_regobj. Set srv_xmlfiles to
$srv_i386_linux_xmlfiles and $srv_amd64_linux_xmlfiles.
(x86_64-*-linux*): Likewise.
* linux-x86-low.c (init_registers_x86_64_linux): Removed.
(init_registers_amd64_linux): New.
(x86_arch_setup): Replace init_registers_x86_64_linux with
init_registers_amd64_linux.
gdb/testsuite/
2010-03-01 H.J. Lu <hongjiu.lu@intel.com>
* gdb.xml/tdesc-regs.exp (architecture): New. Set it for x86.
(load_description): Set architecture if defined.
Corinna Vinschen [Mon, 1 Mar 2010 09:09:24 +0000 (09:09 +0000)]
* remote-fileio.c (remote_fileio_func_rename): Use Cygwin 1.7
cygwin_conv_path API rather than the deprecated
cygwin_conv_to_full_posix_path.
* windows-nat.c:
(GetModuleFileNameExA): Undefine for Cygwin.
(GetModuleFileNameExW): Define for Cygwin.
(get_module_name): Change size of pathbuf to PATH_MAX for Cygwin.
Call GetModuleFileNameExW and convert path to POSIX using
cygwin_conv_path.
(windows_make_so): Always define p. Drop unused variable m.
Don't use Win32 functions to check file existance, rather use
access on Cygwin. Fetch system directory using GetSystemDirectoryW.
Use canonicalize_file_name to get full path.
(get_image_name): Use wcstombs, rather than WideCharToMultiByte
to convert Unicode pathname to multibyte on Cygwin. Otherwise,
use correct target buffer size in call to WideCharToMultiByte.
(handle_load_dll): Change size of dll_buf to PATH_MAX for Cygwin.
(windows_pid_to_exec_file): Change size of path to PATH_MAX for Cygwin.
(windows_create_inferior): Convert all paths and arguments to wchar_t
and use CreateProcessW on Cygwin.
(_initialize_windows_nat): Disable DOS-style path warning on Cygwin.
(bad_GetModuleFileNameExA): Undefine for Cygwin.
(bad_GetModuleFileNameExW): Define for Cygwin.
(_initialize_loadable): Load GetModuleFileNameExW into
dyn_GetModuleFileNameExW on Cygwin. Don't load ANSI function on Cygwin.