gdbadmin [Thu, 15 Jul 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Thu, 15 Jul 2010 00:00:05 +0000 (00:00 +0000)]
daily update
Cary Coutant [Wed, 14 Jul 2010 22:18:07 +0000 (22:18 +0000)]
PR ld/11817
* dwarf2.c (read_section): Revert patch for compressed debug sections.
(find_line): Likewise.
(read_and_uncompress_section): Remove.
H.J. Lu [Wed, 14 Jul 2010 19:46:01 +0000 (19:46 +0000)]
Add addr2line, objcopy and strip tests for compressed debug sections.
binutils/testsuite/
2010-07-14 H.J. Lu <hongjiu.lu@intel.com>
* config/default.exp (binutils_assemble): Use
default_binutils_assemble_flags.
(binutils_assemble_flags): New.
* lib/utils-lib.exp (default_binutils_assemble): Renamed to ...
(default_binutils_assemble_flags): This. Add asflags and
pass it to target_assemble.
(run_dump_test): Support assembler flags.
* binutils-all/i386/compressed-1.s: New.
* binutils-all/i386/compressed-1a.d: Likewise.
* binutils-all/i386/compressed-1b.d: Likewise.
* binutils-all/i386/compressed-1c.d: Likewise.
* binutils-all/i386/i386.exp: Likewise.
* binutils-all/x86-64/compressed-1.s: Likewise.
* binutils-all/x86-64/compressed-1a.d: Likewise.
* binutils-all/x86-64/compressed-1b.d: Likewise.
* binutils-all/x86-64/compressed-1c.d: Likewise.
* binutils-all/x86-64/x86-64.exp: Likewise.
gas/testsuite/
2010-07-14 H.J. Lu <hongjiu.lu@intel.com>
* config/default.exp (ADDR2LINE): New.
(ADDR2LINEFLAGS): Likewise.
* gas/i386/i386.exp: Run dw2-compress-2 and x86-64-dw2-compress-2.
* gas/i386/dw2-compress-2.d: New.
* gas/i386/dw2-compress-2.s: Likewise.
* gas/i386/x86-64-dw2-compress-2.d: Likewise.
* gas/i386/x86-64-dw2-compress-2.s: Likewise.
* lib/gas-defs.exp (run_dump_test): Support addr2line as dump
program.
(slurp_options): Allow numbers in options.
Ken Werner [Wed, 14 Jul 2010 14:54:58 +0000 (14:54 +0000)]
gdb/ChangeLog:* valops.c (value_assign): Do not call to value_coerce_to_target.(value_must_coerce_to_target): Return 0 in case of TYPE_VECTOR.gdb/testsuite/ChangeLog:* gdb.arch/altivec-abi.exp: New tests.
Ken Werner [Wed, 14 Jul 2010 14:30:35 +0000 (14:30 +0000)]
* MAINTAINERS: Add myself for write after approval privileges.
H.J. Lu [Wed, 14 Jul 2010 14:22:48 +0000 (14:22 +0000)]
Use .2byte/.4byte instead of .short/.long.
2010-07-14 Maciej W. Rozycki <macro@codesourcery.com>
* gas/elf/dwarf2-3.s: Replace .short and .long directives in
.debug_info section with .2byte and .4byte respectively.
Tom Tromey [Wed, 14 Jul 2010 14:13:55 +0000 (14:13 +0000)]
2010-07-13 Emmanuel Thomé <Emmanuel.Thome@gmail.com>
* c-valprint.c (c_val_print): Add embedded_offset to address in
call to val_print_array_elements.
2010-07-13 Tom Tromey <tromey@redhat.com>
* gdb.python/py-prettyprint.c (struct arraystruct): New struct.
(main): Use it.
* gdb.python/py-prettyprint.exp (run_lang_tests): Add test.
Ian Lance Taylor [Wed, 14 Jul 2010 10:38:59 +0000 (10:38 +0000)]
* descriptors.cc (Descriptors::open): Report correct name in error
message.
H.J. Lu [Wed, 14 Jul 2010 00:30:57 +0000 (00:30 +0000)]
Don't allocate .got.plt section if there are no GOT nor PLT entries.
bfd/
2010-07-13 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11812
* elf32-i386.c (elf_i386_size_dynamic_sections): Don't
allocate .got.plt section if there are no GOT nor PLT
entries.
* elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Likewise.
ld/testsuite/
2010-07-13 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11812
* ld-elf/exclude3b.d: Don't run on ia64-*-*. Replace .got with
.dynamic.
* ld-elf/exclude3d.d: New.
* ld-i386/nogot1.d: Likewise.
* ld-i386/nogot1.s: Likewise.
* ld-x86-64/nogot1.d: Likewise.
* ld-x86-64/nogot1.s: Likewise.
* ld-i386/i386.exp: Run nogot1.
* ld-x86-64/x86-64.exp: Likewise.
Alan Modra [Wed, 14 Jul 2010 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Wed, 14 Jul 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Tom Tromey [Tue, 13 Jul 2010 22:02:05 +0000 (22:02 +0000)]
* dwarf2read.c (dwarf2_read_index): Correctly set 'total_size'.
Tom Tromey [Tue, 13 Jul 2010 21:06:48 +0000 (21:06 +0000)]
* dwarf2read.c (dwarf2_per_cu_text_offset): Fix reference to
objfile.
Tom Tromey [Tue, 13 Jul 2010 20:52:52 +0000 (20:52 +0000)]
* symfile.c (set_initial_language): Update.
(deduce_language_from_filename): Argument type now const.
* symtab.h (find_main_filename): Update.
(deduce_language_from_filename): Update.
* symtab.c (find_main_filename): Make result const.
* dwarf2read.c (dw2_find_symbol_file): Change return type.
* psymtab.c (find_symbol_file_from_partial): Change return type.
* symfile.h (struct quick_symbol_functions) <find_symbol_file>:
Make result const.
Tom Tromey [Tue, 13 Jul 2010 20:51:34 +0000 (20:51 +0000)]
gdb
* breakpoint.c (save_cmdlist): No longer static.
* gdbcmd.h (save_cmdlist): Declare.
* symfile.c (symbol_file_add_with_addrs_or_offsets): Set
OBJF_READNOW on objfile if readnow_symbol_files.
* elfread.c (elf_symfile_read): Use dwarf2_initialize_objfile.
(elf_sym_fns_gdb_index): New global.
* dwarf2read.c: Include exceptions.h.
(offset_type): New.
(struct mapped_index): New.
(dwarf2_per_cu_data_ptr): New typedef.
(struct dwarf2_per_objfile) <using_index, index_table, gdb_index>:
New fields.
(GDB_INDEX_SECTION): New define.
(struct dwarf2_per_cu_quick_data): New.
(struct dwarf2_per_cu_data) <objfile>: New field.
<psymtab>: Removed.
<v>: New field.
(byte_swap): New function.
(MAYBE_SWAP): New macro.
(INDEX_SUFFIX): New macro.
(dw2_do_instantiate_symtab): New function.
(dw2_instantiate_symtab): Likewise.
(create_cus_from_index): Likewise.
(create_addrmap_from_index): Likewise.
(mapped_index_string_hash): Likewise.
(find_slot_in_mapped_hash): Likewise.
(dwarf2_read_index): Likewise.
(dw2_setup): Likewise.
(dw2_require_line_header): Likewise.
(dw2_require_full_path): Likewise.
(dw2_find_last_source_symtab): Likewise.
(dw2_forget_cached_source_info): Likewise.
(dw2_lookup_symtab): Likewise.
(dw2_lookup_symbol): Likewise.
(dw2_do_expand_symtabs_matching): Likewise.
(dw2_pre_expand_symtabs_matching): Likewise.
(dw2_print_stats): Likewise.
(dw2_dump): Likewise.
(dw2_relocate): Likewise.
(dw2_expand_symtabs_for_function): Likewise.
(dw2_expand_all_symtabs): Likewise.
(dw2_expand_symtabs_with_filename): Likewise.
(dw2_find_symbol_file): Likewise.
(dw2_map_ada_symtabs): Likewise.
(dw2_expand_symtabs_matching): Likewise.
(dw2_find_pc_sect_symtab): Likewise.
(dw2_map_symbol_names): Likewise.
(dw2_map_symbol_filenames): Likewise.
(dw2_has_symbols): Likewise.
(dwarf2_gdb_index_functions): New global.
(dwarf2_initialize_objfile): New function.
(process_psymtab_comp_unit): Update.
(add_partial_subprogram): Likewise.
(dwarf2_psymtab_to_symtab): Likewise.
(psymtab_to_symtab_1): Use dw2_do_instantiate_symtab.
(process_full_comp_unit): Update.
(find_file_and_directory): New function.
(read_file_scope): Use find_file_and_directory.
(dwarf2_per_cu_objfile): Update.
(dwarf2_per_cu_addr_size): Update.
(dwarf2_per_cu_offset_size): Update.
(dwarf2_free_objfile): Free the index, if needed.
(dwarf2_per_objfile_free): Unmap the index, if needed.
(struct strtab_entry): New.
(hash_strtab_entry): New function.
(eq_strtab_entry): Likewise.
(create_strtab): Likewise.
(add_string): Likewise.
(struct symtab_index_entry): New.
(struct mapped_symtab): New.
(hash_symtab_entry): New function.
(eq_symtab_entry): Likewise.
(delete_symtab_entry): Likewise.
(create_index_table): Likewise.
(create_mapped_symtab): Likewise.
(cleanup_mapped_symtab): Likewise.
(find_slot): Likewise.
(hash_expand): Likewise.
(add_index_entry): Likewise.
(add_indices_to_cpool): Likewise.
(write_hash_table): Likewise.
(add_address_entry): Likewise.
(write_psymbols): Likewise.
(write_obstack): Likewise.
(unlink_if_set): Likewise.
(write_psymtabs_to_index): Likewise.
(save_gdb_index_command): Likewise.
(_initialize_dwarf2_read): Install "save gdb-index"
command.
(create_all_comp_units): Initialize 'objfile' field of CU.
(dwarf2_locate_sections): Check for .gdb_index.
* psymtab.h (dwarf2_gdb_index_functions): Declare.
* symfile.h (dwarf2_initialize_objfile): Declare.
gdb/doc
* gdb.texinfo (Index Files): New node.
Tom Tromey [Tue, 13 Jul 2010 20:49:26 +0000 (20:49 +0000)]
* symtab.c (lookup_symbol_aux_symtabs): Call pre-expand hook.
(basic_lookup_transparent_type): Likewise.
* symfile.h (struct quick_symbol_functions)
<pre_expand_symtabs_matching>: New field.
* psymtab.c (pre_expand_symtabs_matching_psymtabs): New function.
(psym_functions): Update.
Tom Tromey [Tue, 13 Jul 2010 20:32:43 +0000 (20:32 +0000)]
* gdb.texinfo (GDB/MI Variable Objects): Remove extra 'for'.
Tom Tromey [Tue, 13 Jul 2010 20:07:44 +0000 (20:07 +0000)]
gdb
PR breakpoints/8357:
* symtab.h (domain_enum_tag) <LABEL_DOMAIN>: Update comment.
* linespec.c (decode_line_1): Update comment. Call decode_label.
(decode_label): New function.
(symbol_found): Handle LOC_LABEL.
* dwarf2read.c (new_symbol) <DW_TAG_label>: Set symbol's type and
domain. Call add_symbol_to_list.
gdb/doc
* gdb.texinfo (Specify Location): Document labels.
gdb/testsuite
* gdb.base/label.exp: New file.
* gdb.base/label.c: New file.
Doug Kwan [Tue, 13 Jul 2010 20:07:08 +0000 (20:07 +0000)]
2010-07-13 Doug Kwan <dougkwan@google.com>
* arm.cc (Arm_input_section::Arm_input_section): For a
SHT_ARM_EXIDX section, always keeps the input sections.
(Arm_input_section::set_exidx_section_link): New method.
(Arm_exidx_input_section::Arm_exidx_input_section): Initialize
has_errors_ to false.
(Arm_exidx_input_section::has_errors,
Arm_exidx_input_section::set_has_errors): New methods.
(Arm_exidx_input_section::has_errors_): New data member.
(Arm_relobj::get_exidx_shndx_list): New method.
(Arm_output_section::append_text_sections_to_list): Do not skip
section without SHF_EXECINSTR.
(Arm_output_section::fix_exidx_coverage): Skip input sections with
errors.
(Arm_relobj::make_exidx_input_section): Add new parameter for text
section header. Make error messages more verbose. Check for
a non-executable section linked to an EXIDX section.
(Arm_relobj::do_read_symbols): Remove error checking, which has been
moved to Arm_relobj::make_exidx_input_section. Add an assertion to
check that there is no deferred EXIDX section if we exit early.
Instead of not making an EXIDX section in case of an error, make one
and set the has_errors flag of it.
(Target_arm::do_finalize_sections): Fix up links of EXIDX sections
in a relocatable link.
(Target_arm::do_relax): Look for the EXIDX output section instead of
assuming that it is called .ARM.exidx.
(Target_arm::fix_exidx_coverage): Add a new parameter for input
section list. Do not check for SHF_EXECINSTR section flags but
skip any input section with errors.
* output.cc (Output_section::Output_section): Initialize
always_keeps_input_sections_ to false.
(Output_section::add_input_section): Check for
always_keeps_input_sections_.
* output.h (Output_section::always_keeps_input_sections,
Output_section::set_always_keeps_input_sections): New methods.
(Output_section::always_keeps_input_sections): New data member.
H.J. Lu [Tue, 13 Jul 2010 17:42:29 +0000 (17:42 +0000)]
Don't hard code expected output.
2010-07-13 H.J. Lu <hongjiu.lu@intel.com>
* ld-i386/hidden2.d: Don't hard code expected output.
* ld-i386/protected3.d: Likewise.
* ld-x86-64/hidden2.d: Likewise.
* ld-x86-64/protected3.d: Likewise.
H.J. Lu [Tue, 13 Jul 2010 16:59:14 +0000 (16:59 +0000)]
Support garbage collection against STT_GNU_IFUNC symbols.
bfd/
2010-07-13 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11791
* elf-ifunc.c (_bfd_elf_allocate_ifunc_dyn_relocs): Support
garbage collection against STT_GNU_IFUNC symbols.
* elf32-i386.c (elf_i386_get_local_sym_hash): Don't set
elf.plt.offset/elf.got.offset to -1.
(elf_i386_tls_transition): Skip TLS transition for functions.
(elf_i386_gc_sweep_hook): Support STT_GNU_IFUNC symbols.
* elf64-x86-64.c (elf64_x86_64_get_local_sym_hash): Don't set
elf.plt.offset/elf.got.offset to -1.
(elf64_x86_64_tls_transition): Skip TLS transition for functions.
(elf64_x86_64_gc_sweep_hook): Support STT_GNU_IFUNC symbols.
ld/testsuite/
2010-07-13 H.J. Lu <hongjiu.lu@intel.com>
PR ld/11791
* ld-ifunc/ifunc-10-i386.d: New.
* ld-ifunc/ifunc-10-i386.s: Likewise.
* ld-ifunc/ifunc-10-x86-64.d: Likewise.
* ld-ifunc/ifunc-10-x86-64.s: Likewise.
* ld-ifunc/ifunc-11-i386.d: Likewise.
* ld-ifunc/ifunc-11-i386.s: Likewise.
* ld-ifunc/ifunc-11-x86-64.d: Likewise.
* ld-ifunc/ifunc-11-x86-64.s: Likewise.
Tom Tromey [Tue, 13 Jul 2010 15:09:03 +0000 (15:09 +0000)]
* dwarf2loc.h (dwarf2_per_cu_text_offset): Declare.
* dwarf2loc.c (find_location_expression): Use
dwarf2_per_cu_text_offset.
(dwarf2_evaluate_loc_desc): Likewise.
(dwarf2_loc_desc_needs_frame): Likewise.
(compile_dwarf_to_ax): Likewise.
(loclist_describe_location): Likewise.
* dwarf2read.c (dwarf2_per_cu_text_offset): New function.
(dwarf2_per_cu_objfile): Update comment.
Rafael Ávila de Espíndola [Tue, 13 Jul 2010 14:59:02 +0000 (14:59 +0000)]
2010-07-13 Rafael Espindola <espindola@google.com>
* fileread.cc (try_extra_search_path, find_file): Move to Input_file.
* fileread.h (Input_file): Add try_extra_search_path and find_file.
Ian Lance Taylor [Tue, 13 Jul 2010 12:04:03 +0000 (12:04 +0000)]
* output.h (Output_section_lookup_maps::add_merge_section):
Correct check of whether value was inserted.
(Output_section_lookup_maps::add_merge_input_section): Likewise.
(Output_section_lookup_maps::add_relaxed_input_section):
Likewise.
* arm.cc (Target_arm::got_section): Remove used local os.
* i386.cc (Target_i386::got_section): Likewise.
* x86_64.cc (Target_x86_64::got_section): Likewise.
* sparc.cc (Target_sparc::got_section): Likewise.
(Target_sparc::relocate): Remove unused local have_got_offset.
* powerpc.cc (Target_powerpc::relocate): Likewise.
Ian Lance Taylor [Tue, 13 Jul 2010 11:59:02 +0000 (11:59 +0000)]
* compressed_output.cc (zlib_decompress): Fix signature in
!HAVE_ZLIB_H case.
Ian Lance Taylor [Tue, 13 Jul 2010 07:56:08 +0000 (07:56 +0000)]
* archive.cc (Archive::include_member): Unlock an external member
of a thin archive. Don't bother to delete an object we know is
NULL.
gdbadmin [Tue, 13 Jul 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 13 Jul 2010 00:00:05 +0000 (00:00 +0000)]
daily update
H.J. Lu [Mon, 12 Jul 2010 21:13:24 +0000 (21:13 +0000)]
Re-indent elf32-i386.c.
2010-07-12 H.J. Lu <hongjiu.lu@intel.com>
* elf32-i386.c (elf_i386_check_relocs): Re-indent.
(elf_i386_relocate_section): Likewise.
H.J. Lu [Mon, 12 Jul 2010 20:36:01 +0000 (20:36 +0000)]
Restore fall through patch for O_multiply.
2010-07-12 H.J. Lu <hongjiu.lu@intel.com>
PR gas/11806
* config/tc-i386-intel.c (i386_intel_simplify): Restore fall
through patch for O_multiply.
Cary Coutant [Mon, 12 Jul 2010 17:59:58 +0000 (17:59 +0000)]
* compressed_output.cc (zlib_decompress): New function.
(get_uncompressed_size): New function.
(decompress_input_section): New function.
* compressed_output.h (get_uncompressed_size): New function.
(decompress_input_section): New function.
* dwarf_reader.cc (Sized_dwarf_line_info::Sized_dwarf_line_info)
Handle compressed debug sections.
* layout.cc (is_compressed_debug_section): New function.
(Layout::output_section_name): Map compressed section names to
canonical names.
* layout.h (is_compressed_debug_section): New function.
(is_debug_info_section): Recognize compressed debug sections.
* merge.cc: Include compressed_output.h.
(Output_merge_data::do_add_input_section): Handle compressed
debug sections.
(Output_merge_string::do_add_input_section): Handle compressed
debug sections.
* object.cc: Include compressed_output.h.
(Sized_relobj::Sized_relobj): Initialize new data members.
(build_compressed_section_map): New function.
(Sized_relobj::do_read_symbols): Handle compressed debug sections.
* object.h (Object::section_is_compressed): New method.
(Object::do_section_is_compressed): New method.
(Sized_relobj::Compressed_section_map): New type.
(Sized_relobj::do_section_is_compressed): New method.
(Sized_relobj::compressed_sections_): New data member.
* output.cc (Output_section::add_input_section): Handle compressed
debug sections.
* reloc.cc: Include compressed_output.h.
(Sized_relobj::write_sections): Handle compressed debug sections.
H.J. Lu [Mon, 12 Jul 2010 17:33:15 +0000 (17:33 +0000)]
Add is_ilp32_target/is_lp64_target.
2010-07-12 Ulrich Weigand <uweigand@de.ibm.com>
H.J. Lu <hongjiu.lu@intel.com>
* lib/gdb.exp (is_ilp32_target): New.
(is_lp64_target): Likewise.
* gdb.arch/amd64-byte.exp: Use is_lp64_target to check 64bit
target.
* gdb.arch/amd64-disp-step.exp: Likewise.
* gdb.arch/amd64-dword.exp: Likewise.
* gdb.arch/amd64-i386-address.exp: Likewise.
* gdb.arch/amd64-word.exp: Likewise.
* gdb.arch/i386-avx.exp: Use is_ilp32_target to check for 32bit
target.
* gdb.arch/i386-bp_permanent.exp: Likewise.
* gdb.arch/i386-byte.exp: Likewise.
* gdb.arch/i386-disp-step.exp: Likewise.
* gdb.arch/i386-gnu-cfi.exp: Likewise.
* gdb.arch/i386-prologue.exp: Likewise.
* gdb.arch/i386-size-overlap.exp: Likewise.
* gdb.arch/i386-size.exp: Likewise.
* gdb.arch/i386-sse.exp: Likewise.
* gdb.arch/i386-unwind.exp: Likewise.
* gdb.arch/i386-word.exp: Likewise.
* gdb.arch/ppc64-atomic-inst.exp: Use is_lp64_target to execute
test only when building 64-bit executables. Do not hard-code
-m64 option.
Jan Kratochvil [Mon, 12 Jul 2010 17:07:11 +0000 (17:07 +0000)]
gdb/
* dwarf2read.c (read_subrange_type): Call read_subrange_type.
* p-lang.c (pascal_printstr): Likewise.
gdbadmin [Mon, 12 Jul 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 12 Jul 2010 00:00:06 +0000 (00:00 +0000)]
daily update
H.J. Lu [Sun, 11 Jul 2010 15:37:21 +0000 (15:37 +0000)]
Fix a typo.
Kai Tietz [Sun, 11 Jul 2010 08:45:51 +0000 (08:45 +0000)]
2010-07-11 Kai Tietz <kai.tietz@onevision.com>
PR ld/11612
* config/obj-coff.c (obj_common_parse): Quote symbol-name.
2010-07-11 Kai Tietz <kai.tietz@onevision.com>
* gas/pe/aligncomm-b.d: Regenerated content dump.
* gas/pe/aligncomm-d,d: Regenerated content dump.
* gas/i386/i386.exp: Disable for mingw 64-bit the intel-got64 test.
gdbadmin [Sun, 11 Jul 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 11 Jul 2010 00:00:05 +0000 (00:00 +0000)]
daily update
Alan Modra [Sat, 10 Jul 2010 00:00:06 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 10 Jul 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Tom Tromey [Fri, 9 Jul 2010 20:29:56 +0000 (20:29 +0000)]
* python/py-prettyprint.c (gdbpy_get_display_hint): Don't use
'hint' if it is NULL.
Hui Zhu [Fri, 9 Jul 2010 02:39:58 +0000 (02:39 +0000)]
2010-07-04 Hui Zhu <teawater@gmail.com>
* source.c (print_source_lines_base): Add check for noprint.
Cary Coutant [Fri, 9 Jul 2010 01:34:31 +0000 (01:34 +0000)]
* resolve.cc (Symbol_table::resolve): Remember whether undef was
weak when resolving to a dynamic def.
(Symbol_table::should_override): Add adjust_dyndef flag; set it
for weak undef/dynamic def cases. Adjust callers.
* symtab.cc (Symbol::init_fields): Initialize undef_binding_set_ and
undef_binding_weak_.
(Symbol_table::sized_write_globals): Adjust symbol binding.
(Symbol_table::sized_write_symbol): Add binding parameter.
* symtab.h (Symbol::set_undef_binding): New method.
(Symbol::is_undef_binding_weak): New method.
(Symbol::undef_binding_set_, Symbol::undef_binding_weak_): New members.
(Symbol_table::should_override): Add new parameter.
(Symbol_table::sized_write_symbol): Add new parameter.
* testsuite/weak_undef_file1.cc: Add new test case.
* testsuite/weak_undef_file2.cc: Fix header comment.
* testsuite/weak_undef_test.cc: Add new test case.
gdbadmin [Fri, 9 Jul 2010 00:00:34 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 9 Jul 2010 00:00:05 +0000 (00:00 +0000)]
daily update
Richard Earnshaw [Thu, 8 Jul 2010 22:40:28 +0000 (22:40 +0000)]
2010-07-08 Tejas Belagod <tejas.belagod@arm.com>
gas/testsuite
* gas/arm/barrier.s: New file.
* gas/arm/barrier.d: New file.
* gas/arm/barrier-thumb.s: New file.
* gas/arm/barrier-thumb.d: New file.
* gas/arm/barrier-bad.s: New file.
* gas/arm/barrier-bad.d: New file.
* gas/arm/barrier-bad.l: New file.
* gas/arm/barrier-bad-thumb.s: New file.
* gas/arm/barrier-bad-thumb.d: New file.
* gas/arm/barrier-bad-thumb.l: New file.
gas/config
* tc-arm.c (OP_oBARRIER): Remove.
(OP_oBARRIER_I15): Add.
(po_barrier_or_imm): Add macro.
(parse_operands): Improve OP_oBARRIER_I15 operand parsing.
(do_barrier): Check correct immediate range.
(do_t_barrier): Likewise.
(barrier_opt_names): Add entries for more symbolic operands.
(insns): Replace OP_oBARRIER with OP_oBARRIER_I15 for barriers.
opcodes/
* arm-dis.c (print_insn_arm): Add cases for printing more
symbolic operands.
(print_insn_thumb32): Likewise.
Joel Brobecker [Thu, 8 Jul 2010 22:12:44 +0000 (22:12 +0000)]
Resync python-config.py with Python-2.7 version.
This is just a copy of the Python 2.7 version of python-config.py.
Tested with versions 2.5 and 2.6. It's nearly identical to the
previous version, except it's written in a more pythonic way,
so it should be fine for 2.4 as well.
gdb/ChangeLog:
* python/python-config.py: Resync with Python 2.7 version of this
script.
Joel Brobecker [Thu, 8 Jul 2010 15:41:56 +0000 (15:41 +0000)]
Fix typo in NEWS file (introduced in previous commit).
gdb/ChangeLog:
* NEWS: Fix typo in section name (s/GDB 7.1/GDB 7.2).
Nathan Sidwell [Thu, 8 Jul 2010 06:22:24 +0000 (06:22 +0000)]
* config/tc-arm.c (tc_gen_reloc): Add BFD_RELOC_ARM_T32_OFFSET_IMM
error message.
testsuite/
* gas/arm/reloc-bad.d: New.
* gas/arm/reloc-bad.s: New.
* gas/arm/reloc-bad.l: New.
Alan Modra [Thu, 8 Jul 2010 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Thu, 8 Jul 2010 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Kevin Buettner [Wed, 7 Jul 2010 23:22:43 +0000 (23:22 +0000)]
* gdb-if.c (sim_store_register): Add case for sim_rx_acc_regnum.
Doug Evans [Wed, 7 Jul 2010 18:49:51 +0000 (18:49 +0000)]
* lib/gdb.exp (gdb_test_list_exact): New function.
* gdb.base/default.exp (show convenience): Call it, add tests for
$_sdata = void, $_thread = 0.
Joel Brobecker [Wed, 7 Jul 2010 17:52:37 +0000 (17:52 +0000)]
* NEWS: Create a new section for the next release branch.
Rename the section of the current branch, now that it has
been cut.
gdbadmin [Wed, 7 Jul 2010 17:34:43 +0000 (17:34 +0000)]
Record GDB 7.2 branch creation. Bump version number to 7.2.50.
20100707-cvs.
Tom Tromey [Wed, 7 Jul 2010 17:26:38 +0000 (17:26 +0000)]
* dwarf2read.c (dwarf2_const_value) <DW_form_addr>: Create a
LOC_COMPUTED symbol.
* dwarf2loc.c (dwarf2_evaluate_loc_desc): Set new field.
(dwarf2_loc_desc_needs_frame): Likewise.
(compile_dwarf_to_ax) <DW_OP_addr>: Use offset.
* dwarf2expr.h (struct dwarf_expr_context) <offset>: New field.
* dwarf2expr.c (execute_stack_op) <DW_OP_addr>: Use offset.
* dwarf2-frame.c (execute_stack_op): Set 'offset' field. Add
'offset' argument.
(struct dwarf2_frame_cache) <text_offset>: New field.
(dwarf2_frame_cache): Set new field.
(dwarf2_frame_prev_register): Update.
(dwarf2_frame_sniffer): Update.
(dwarf2_frame_base_sniffer): Update.
(dwarf2_frame_find_fde): Add 'out_offset' argument.
Thiago Jung Bauermann [Wed, 7 Jul 2010 16:15:18 +0000 (16:15 +0000)]
2010-07-07 Sergio Durigan Junior <sergiodj@linux.vnet.ibm.com>
Thiago Jung Bauermann <bauerman@br.ibm.com>
Support for hw accelerated condition watchpoints in booke powerpc.
* breakpoint.c (fetch_watchpoint_value): Rename to fetch_subexp_value
and move to eval.c. Change callers.
(insert_bp_location): Pass watchpoint condition in
target_insert_watchpoint.
(remove_breakpoint_1) Pass watchpoint condition in
target_remove_watchpoint.
(watchpoint_locations_match): Call
target_can_accel_watchpoint_condition.
* eval.c: Include wrapper.h.
(fetch_subexp_value): Moved from breakpoint.c.
* ppc-linux-nat.c (ppc_linux_region_ok_for_hw_watchpoint):
Formatting fix.
(can_use_watchpoint_cond_accel): New function.
(calculate_dvc): Likewise.
(num_memory_accesses): Likewise.
(check_condition): Likewise.
(ppc_linux_can_accel_watchpoint_condition): Likewise
(ppc_linux_insert_watchpoint): Call can_use_watchpoint_cond_accel,
check_condition and calculate_dvc.
(ppc_linux_remove_watchpoint): Likewise.
(_initialize_ppc_linux_nat): Set to_can_accel_watchpoint_condition to
ppc_linux_can_accel_watchpoint_condition
* target.c (debug_to_insert_watchpoint): Add argument for watchpoint
condition.
(debug_to_remove_watchpoint): Likewise.
(debug_to_can_accel_watchpoint_condition): New function.
(update_current_target): Set to_can_accel_watchpoint_condition.
(setup_target_debug): Set to_can_accel_watchpoint_condition.
* target.h: Add opaque declaration for struct expression.
(struct target_ops) <to_insert_watchpoint>,
<to_remove_watchpoint>: Add new arguments to pass the watchpoint
<to_can_accel_watchpoint_condition>: New member.
condition. Update all callers and implementations.
(target_can_accel_watchpoint_condition): New macro.
* value.c (free_value_chain): New function.
* value.h (fetch_subexp_value): New prototype.
(free_value_chain): Likewise.
Joel Brobecker [Wed, 7 Jul 2010 16:14:04 +0000 (16:14 +0000)]
[PATCH] Unexpected EOF read from connection with GDB after inferior exits.
This is on GNU/Linux.
GDBserver does not exit properly when the inferior exits, as demonstrated
with any program using the procedure below:
% gdbserver-head :4444 simple_main
Process simple_main created; pid = 25681
Listening on port 4444
Then, in another terminal, start GDB, connect to GDBserver, and run
the program to completion:
% gdb-head simple_main
(gdb) tar rem :4444
(gdb) cont
Continuing.
Program exited normally.
Going back to the terminal where GDBserver is running, we see the following
output:
Child exited with status 0
readchar: Got EOF
Remote side has terminated connection. GDBserver will reopen the connection.
Listening on port 4444
The problem is that we're missing a call to mourn_inferior. As a result,
after we've handled the vCont packet, we fail to notice that there are
no process left to debug (target_running() returns true), and thus try
to continue reading from the remote socket. However, since GDB just
disconnected after having received the "exit with status 0" reply to the
vCont request, the read triggers the EOF exception.
gdb/gdbserver/ChangeLog:
* server.c (handle_v_cont): Call mourn_inferior if process
just exited.
(myresume): Likewise.
Ulrich Weigand [Wed, 7 Jul 2010 12:28:32 +0000 (12:28 +0000)]
* linux-nat.c (linux_nat_do_thread_registers): Use section size
from gdbarch_core_regset_sections also for .reg if present.
* amd64-linux-tdep.c (amd64_linux_regset_sections): Fix incorrect
section size for .reg.
* ppc-linux-tdep.c (ppc_linux_vsx_regset_sections): Likewise.
(ppc_linux_vmx_regset_sections): Likewise.
(ppc_linux_fp_regset_sections): Likewise.
(ppc64_linux_vsx_regset_sections): New variable.
(ppc64_linux_vmx_regset_sections): Likewise.
(ppc64_linux_fp_regset_sections): Likewise.
(ppc_linux_init_abi): Install core_regset_section lists appropriate
for current word size.
Alan Modra [Wed, 7 Jul 2010 00:00:07 +0000 (00:00 +0000)]
daily update
gdbadmin [Wed, 7 Jul 2010 00:00:04 +0000 (00:00 +0000)]
*** empty log message ***
Joel Brobecker [Tue, 6 Jul 2010 21:20:43 +0000 (21:20 +0000)]
Make server.c:myresume static.
I just happened to notice that this function was exclusively used in
server.c, and thus could be made static.
2010-07-06 Joel Brobecker <brobecker@adacore.com>
* server.c (myresume): Make static.
H.J. Lu [Tue, 6 Jul 2010 21:13:57 +0000 (21:13 +0000)]
Initialize prev_line.
2010-07-06 H.J. Lu <hongjiu.lu@intel.com>
* dwarf2.c (add_line_info): Initialize prev_line.
Tom Tromey [Tue, 6 Jul 2010 19:03:12 +0000 (19:03 +0000)]
* configure, config.in: Rebuild.
* configure.ac (HAVE_LIBPYTHON2_7): New define.
* python/python-internal.h: Handle HAVE_LIBPYTHON2_7.
Andreas Schwab [Tue, 6 Jul 2010 16:17:44 +0000 (16:17 +0000)]
* breakpoint.c (_initialize_breakpoint): Add "cl" as alias for
"clear".
Ulrich Weigand [Tue, 6 Jul 2010 12:56:24 +0000 (12:56 +0000)]
include/ChangeLog:
2010-07-06 Ken Werner <ken.werner@de.ibm.com>
* floatformat.h (floatformat_ieee_half_big): Add declaration.
(floatformat_ieee_half_little): Likewise.
libiberty/ChangeLog:
2010-07-06 Ken Werner <ken.werner@de.ibm.com>
* floatformat.c (floatformat_ieee_half_big): New variable.
(floatformat_ieee_half_little): Likewise.
gdb/ChangeLog:
2010-07-06 Ken Werner <ken.werner@de.ibm.com>
* gdbtypes.h (floatformats_ieee_half): Add declaration.
* gdbtypes.c (floatformats_ieee_half): New variable.
* doublest.c (floatformat_from_length): Set format to
gdbarch_half_format if length matches.
* gdbarch.sh (half_bit): New architecture method.
(half_format): Likewise.
* gdbarch.h: Regenerate.
* gdbarch.c: Likewise.
Alan Modra [Tue, 6 Jul 2010 09:29:47 +0000 (09:29 +0000)]
bfd/
* elf32-ppc.c (ppc_elf_relax_section): Insert branch around
trampolines only for .init and .fini sections.
ld/testsuite/
* ld-powerpc/relax.s: Add branch back to _start.
* ld-powerpc/relax.d: Update.
* ld-powerpc/relaxr.d: Update.
Alan Modra [Tue, 6 Jul 2010 09:24:05 +0000 (09:24 +0000)]
* readelf.c (uncompress_section_contents): Avoid gcc-4.6 warning.
Maciej W. Rozycki [Tue, 6 Jul 2010 00:12:42 +0000 (00:12 +0000)]
gas/
* config/tc-mips.c (mips_frob_file): Use symbol_same_p to match
symbols.
gas/testsuite/
* gas/mips/elf-rel27.d: New test for HI16/LO16 relocation
pairing.
* gas/mips/elf-rel27.s: Source for the new test.
* gas/mips/mips.exp: Create "mips16" architecture. Adjust
conditions involving negated properties throughout to require
"mips1" as appropriate. Run the new test.
(mips_arch_destroy): New procedure.
Maciej W. Rozycki [Tue, 6 Jul 2010 00:06:04 +0000 (00:06 +0000)]
* mips-dis.c (print_insn_mips): Correct branch instruction type
determination.
Maciej W. Rozycki [Tue, 6 Jul 2010 00:02:46 +0000 (00:02 +0000)]
gas/
* config/tc-mips.c (nops_for_insn_or_target): Replace
MIPS16_INSN_BRANCH with MIPS16_INSN_UNCOND_BRANCH and
MIPS16_INSN_COND_BRANCH.
include/opcode/
* mips.h (MIPS16_INSN_UNCOND_BRANCH): New macro.
(MIPS16_INSN_BRANCH): Rename to...
(MIPS16_INSN_COND_BRANCH): ... this.
opcodes/
* mips-dis.c (print_mips16_insn_arg): Remove branch instruction
type and delay slot determination.
(print_insn_mips16): Extend branch instruction type and delay
slot determination to cover all instructions.
* mips16-opc.c (BR): Remove macro.
(UBR, CBR): New macros.
(mips16_opcodes): Update branch annotation for "b", "beqz",
"bnez", "bteqz" and "btnez". Add branch annotation for "jalrc"
and "jrc".
Alan Modra [Tue, 6 Jul 2010 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Tue, 6 Jul 2010 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Maciej W. Rozycki [Mon, 5 Jul 2010 23:57:27 +0000 (23:57 +0000)]
* gas/mips/mips.exp (run_dump_test_arch): Check for the presence
of an architecture-specific test first and use it if found,
before falling back to the generic one.
Maciej W. Rozycki [Mon, 5 Jul 2010 23:55:24 +0000 (23:55 +0000)]
* gas/mips/mips4-fp.d, gas/mips/mips4-fp.s: Remove checks for
branch-likely instructions and place them...
* gas/mips/mips4-branch-likely.d, gas/mips/mips4-branch-likely.s:
... in this new test.
* gas/mips/mips4-fp.l: Update accordingly.
* gas/mips/mips4-branch-likely.l: New stderr output for the new
test.
* gas/mips/mips.exp (mips4-branch-likely): Run a dump test and
a list test with mips4-branch-likely similarly to mips4-fp.
Maciej W. Rozycki [Mon, 5 Jul 2010 23:46:21 +0000 (23:46 +0000)]
* gas/mips/beq.d, gas/mips/beq.s: Remove checks for
branch-likely instructions.
* gas/mips/bge.d, gas/mips/bge.s: Likewise.
* gas/mips/bgeu.d, gas/mips/bgeu.s: Likewise.
* gas/mips/blt.d, gas/mips/blt.s: Likewise.
* gas/mips/bltu.d, gas/mips/bltu.s: Likewise.
* gas/mips/branch-likely.d, gas/mips/branch-likely.s: New test,
collecting checks for branch-likely instructions removed from
the above.
* gas/mips/mips.exp: Run the new test and update the
constraints for the updated tests to include MIPS I.
Maciej W. Rozycki [Mon, 5 Jul 2010 23:38:01 +0000 (23:38 +0000)]
* gas/mips/mips4-fp.d: Reformat.
Maciej W. Rozycki [Mon, 5 Jul 2010 23:35:29 +0000 (23:35 +0000)]
* gas/mips/beq.d: Reformat.
* gas/mips/bge.d, gas/mips/bgeu.d: Likewise.
* gas/mips/blt.d, gas/mips/bltu.d: Likewise.
Maciej W. Rozycki [Mon, 5 Jul 2010 23:31:53 +0000 (23:31 +0000)]
* gas/mips/beq.d: Remove leftover symbols/relocs from the
change on 2009-02-06.
Jan Kratochvil [Mon, 5 Jul 2010 18:04:33 +0000 (18:04 +0000)]
gdb/
Fix re-run of PIE executable, PR shlibs/11776.
* solib-svr4.c (svr4_relocate_main_executable) <symfile_objfile>: Remove
the part of pre-set SYMFILE_OBJFILE->SECTION_OFFSETS.
gdb/testsuite/
Fix re-run of PIE executable, PR shlibs/11776.
* gdb.base/break-interp.exp (test_ld): Turn off "disable-randomization".
Remove $displacement_main to match the solib-svr4.c change. New "kill"
and re-"run" of the inferior.
Jan Kratochvil [Mon, 5 Jul 2010 18:02:56 +0000 (18:02 +0000)]
gdb/testsuite/
Cope with missing /usr/sbin/prelink.
* lib/prelink-support.exp (prelink_no):
<result == 1 && $output is "no such file or directory">: New.
(prelink_yes): Likewise. Return on failed prelink_no.
Jan Kratochvil [Mon, 5 Jul 2010 18:01:53 +0000 (18:01 +0000)]
gdb/testsuite/
* gdb.base/attach-pie-misread.exp: Load prelink-support.exp. Replace
build_executable by build_executable_own_libs. Replace "prelink -R"
execution by a call of prelink_yes. Comment why "prelink -r" needs no
change.
* gdb.base/break-interp.exp: Load prelink-support.exp. Rename calls of
copy to file_copy. Move setting opts --dynamic-linker and -rpath,
mkdir $dir and ldd its parsing and copying to lib/prelink-support.exp.
Replace build_executable by build_executable_own_libs's function
build_executable_own_libs.
(prelinkNO): Create new stub to call prelink_no.
(prelinkYES): Create new stub to call prelink_yes.
(test_attach): Rename calls of copy to file_copy.
(section_get, prelinkNO_run, prelinkNO, prelinkYES, symlink_resolve)
(copy): Move to ...
* lib/prelink-support.exp: ... a new file. Rename prelinkNO to
prelink_no, prelinkYES to prelink_yes, copy to file_copy.
* gdb.base/prelink.exp: Disable testcase also for is_remote and
skip_shlib_tests. Load prelink-support.exp. Replace gdb_compile with
special flags by gdb_compile_shlib. Replace second gdb_compile by
build_executable_own_libs. Replace "prelink -R" execution by a call of
prelink_yes. Replace "prelink -u" and second "prelink -R" execution by
a second call of prelink_yes. Replace restart commands by
clean_restart.
(prelink): Rename to ...
(seen displacement message): ... this test. Extend its expectation
strictness.
Jan Kratochvil [Mon, 5 Jul 2010 18:00:40 +0000 (18:00 +0000)]
gdb/
* auxv.c (memory_xfer_auxv): Update attach comment.
* solib-svr4.c (svr4_special_symbol_handling): Remove the call to
svr4_relocate_main_executable.
(svr4_solib_create_inferior_hook): Make the call to
svr4_relocate_main_executable unconditional.
gdb/testsuite/
* gdb.base/attach-pie-misread.exp, gdb.base/attach-pie-misread.c: New.
* gdb.base/break-interp.exp (reach, test_core, test_ld): Require each
displacement message exactly once.
Jan Kratochvil [Mon, 5 Jul 2010 17:58:56 +0000 (17:58 +0000)]
gdb/
* auxv.c (ld_so_xfer_auxv): Do not error on failed read of data_address.
Jan Kratochvil [Mon, 5 Jul 2010 17:57:50 +0000 (17:57 +0000)]
gdb/
Fix attaching to PIEs prelinked on the disk after the process was
started.
* solib-svr4.c (svr4_exec_displacement): New variable arch_size.
Verify it against bfd_get_arch_size. Try to match arbitrary
displacement for the phdrs comparison.
gdb/testsuite/
* gdb.base/break-interp.exp: Run $binpie with new value "ATTACH", new
code for it. New variable relink_args.
(prelinkYES): Call prelinkNO.
(test_attach): Accept new parameter relink_args. Re-prelink the binary
in such case. Move the core code to ...
(test_attach_gdb): ... a new function. Send GDB command "file".
Extend expected "Attaching to " string.
H.J. Lu [Mon, 5 Jul 2010 17:14:22 +0000 (17:14 +0000)]
Replace rdrnd with rdrand.
gas/testsuite/
2010-07-05 H.J. Lu <hongjiu.lu@intel.com>
AVX Programming Reference (June, 2010)
* gas/i386/rdrnd.s: Replace rdrnd with rdrand.
* gas/i386/rdrnd-intel.d: Likewise.
* gas/i386/rdrnd.d: Likewise.
* gas/i386/x86-64-rdrnd-intel.d: Likewise.
* gas/i386/x86-64-rdrnd.d: Likewise.
* gas/i386/x86-64-rdrnd.s: Likewise.
opcodes/
2010-07-05 H.J. Lu <hongjiu.lu@intel.com>
AVX Programming Reference (June, 2010)
* i386-dis.c (mod_table): Replace rdrnd with rdrand.
* i386-opc.tbl: Likewise.
* i386-tbl.h: Regenerated.
H.J. Lu [Mon, 5 Jul 2010 16:40:32 +0000 (16:40 +0000)]
Fix a typo in comments for CpuFSGSBase.
2010-07-05 H.J. Lu <hongjiu.lu@intel.com>
* i386-opc.h (CpuFSGSBase): Fix a typo in comments.
H.J. Lu [Mon, 5 Jul 2010 15:07:20 +0000 (15:07 +0000)]
Don't generate .debug_line section if it isn't empty.
binutils/testsuite/
2010-07-05 H.J. Lu <hongjiu.lu@intel.com>
PR gas/10531
PR gas/11789
* binutils-all/objdump.W: Remove bogus line debug info.
gas/
2010-07-05 Jim Wilson <wilson@codesourcery.com>
PR gas/10531
PR gas/11789
* dwarf2dbg.c (dwarf2_finish): Don't generate .debug_line section
if it isn't empty.
gas/testsuite/
2010-07-05 H.J. Lu <hongjiu.lu@intel.com>
PR gas/10531
PR gas/11789
* gas/i386/dw2-compress-1.d: Remove bogus line debug info.
* gas/elf/dwarf2-1.d: New.
* gas/elf/dwarf2-1.s: Likewise.
* gas/elf/dwarf2-2.d: Likewise.
* gas/elf/dwarf2-2.s: Likewise.
* gas/elf/dwarf2-3.d: Likewise.
* gas/elf/dwarf2-3.s: Likewise.
* gas/i386/debug1.d: Likewise.
* gas/i386/debug1.s: Likewise.
* gas/elf/elf.exp: Run dwarf2-1, dwarf2-2 and dwarf2-3.
* gas/i386/i386.exp: Run debug1 for both 32bit and 64bit.
Alan Modra [Mon, 5 Jul 2010 13:34:27 +0000 (13:34 +0000)]
* elf32-ppc.c: Formatting.
(ppc_elf_finish_dynamic_sections): Don't make plt_entry var static.
Jan Beulich [Mon, 5 Jul 2010 07:59:12 +0000 (07:59 +0000)]
Remove bogus bugzilla references.
Alan Modra [Mon, 5 Jul 2010 05:56:11 +0000 (05:56 +0000)]
* config/tc-moxie.c (md_apply_fix): Delete set but otherwise
unused var.
gdbadmin [Mon, 5 Jul 2010 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Mon, 5 Jul 2010 00:00:05 +0000 (00:00 +0000)]
daily update
H.J. Lu [Sun, 4 Jul 2010 16:25:48 +0000 (16:25 +0000)]
Add dw2-compress-1 for Linux/x86.
2010-07-04 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/dw2-compress-1.d: New.
* gas/i386/dw2-compress-1.s: Likewise.
* gas/i386/i386.exp: Run dw2-compress-1 for Linux.
H.J. Lu [Sun, 4 Jul 2010 14:35:53 +0000 (14:35 +0000)]
Remove CONFIG_OBJS, GENERIC_OBJS and OBJS.
2010-07-04 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (CONFIG_OBJS): Removed.
(GENERIC_OBJS): Likewise.
(OBJS): Likewise.
* Makefile.in: Regenerated.
Alan Modra [Sun, 4 Jul 2010 10:08:58 +0000 (10:08 +0000)]
missed from commit
gdbadmin [Sun, 4 Jul 2010 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 4 Jul 2010 00:00:04 +0000 (00:00 +0000)]
daily update