aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-02-092009-02-09 Tristan Gingold <gingold@adacore.com>Tristan Gingold7-172/+247
* NEWS: Mention feature match between objdump and readelf for dumping dwarf info. * doc/binutils.texi (objdump): Document -W/--dwarf improvments to objdump. * objdump.c (usage): Update documentation for -W/--dwarf. (enum option_values): Add OPTION_DWARF. (long_options): --dwarf can accept arguments. (dump_dwarf_section): Also check enabled field. (main): Option -W can accept arguments, code moved to dwarf.c and call dwarf_select_sections_all instead. * readelf.c (process_section_headers): Remove do_debug_lines_decoded. (parse_args): Move code to... * dwarf.c (dwarf_select_sections_by_letters, dwarf_select_sections_by_names): : ...here (new functions). (do_debug_lines_decoded): Remove and replaced by ... (FLAG_DEBUG_LINES_RAW, FLAG_DEBUG_LINES_DECODED): ... new macros. (display_debug_lines): Adjust for previous change. (dwarf_select_sections_all): New function. (debug_displays): Add initializer for enabled field. * dwarf.h (do_debug_lines_decoded): Remove. Add prototypes for the new functions. (struct dwarf_section_display): Add enabled field.
2009-02-09 * dwarf2read.c (dwarf2_build_psymtabs_hard): Move lowpc and highpcDaniel Jacobowitz1-21/+38
inside the loop. Only call addrmap_set_empty if the compilation unit had DW_AT_high_pc and DW_AT_low_pc. Update call to scan_partial_symbols. (scan_partial_symbols): Take NEED_PC argument and pass it along with LOWPC and HIGHPC. (add_partial_namespace): Take NEED_PC argument and pass it through. (add_partial_subprogram): Take NEED_PC argument. Update the addrmap if necessary.
2009-02-09*** empty log message ***gdbadmin1-1/+1
2009-02-08daily updateAlan Modra1-1/+1
2009-02-08 * elf64-hppa.c: Remove PARAMS macro. Replace PTR with void *. ConvertDave Anglin3-172/+148
functions to C90. * elf64-hppa.h: Likewise.
2009-02-08*** empty log message ***gdbadmin1-1/+1
2009-02-07 * dwarf2read.c (dwarf2_build_psymtabs_hard): Move lowpc and highpcDaniel Jacobowitz1-0/+12
inside the loop. Only call addrmap_set_empty if the compilation unit had DW_AT_high_pc and DW_AT_low_pc. Update call to scan_partial_symbols. (scan_partial_symbols): Take NEED_PC argument and pass it along with LOWPC and HIGHPC. (add_partial_namespace): Take NEED_PC argument and pass it through. (add_partial_subprogram): Take NEED_PC argument. Update the addrmap if necessary.
2009-02-07 * NEWS: Mention inspecting extra signal information, $_siginfo,Pedro Alves2-0/+13
and the qXfer:siginfo:read and qXfer:siginfo:write packets.
2009-02-07 * linux-nat.c (PTRACE_SETSIGINFO): Define if PTRACE_GETSIGINFOPedro Alves2-1/+7
isn't defined.
2009-02-07*** empty log message ***Eli Zaretskii1-0/+7
2009-02-07(Basic Python): Fix change from 2009-02-04.Eli Zaretskii1-20/+21
(Commands In Python): Fix COMMAND_* constants in last change. Use @kbd for interactive input. Add cross-references and index entries.
2009-02-07 * object.cc (Sized_relobj::do_layout): Make info message startIan Lance Taylor2-1/+6
with lower case letter.
2009-02-07 * binary.cc: Fix file comment.Ian Lance Taylor2-1/+3
2009-02-07daily updateAlan Modra1-1/+1
2009-02-07*** empty log message ***gdbadmin1-1/+1
2009-02-06 * options.h (enum Incremental_disposition): Define.Ian Lance Taylor3-4/+96
(class General_options): Add new options: --incremental, --incremental_changed, --incremental_unchanged, --incremental_unknown. Add incremental_disposition_ and implicit_incremental_ fields. (General_options::incremental_disposition): New function. (class Position_dependent_options): Add incremental_disposition option. (Position_dependent_options::copy_from_options): Set incremental dispositions. * options.cc (General_options::parse_incremental_changed): New function. (General_options::parse_incremental_unchanged): New function. (General_options::parse_incremental_unknown): New function. (General_options::General_options): Initialize new fields incremental_disposition_ and implicit_incremental_. (General_options::finalize): Check for uasge of --incremental-* without --incremental.
2009-02-06 * i386.h: Add comment regarding sse* insns and prefixes.Doug Evans2-0/+9
2009-02-06 * amd64-linux-nat.c (compat_int_t, compat_uptr_t, compat_time_t)Pedro Alves4-2/+317
(compat_timer_t, compat_clock_t, struct compat_timeval) (compat_sigval_t, compat_siginfo_t): New types. (cpt_si_pid, cpt_si_uid, cpt_si_timerid, cpt_si_overrun) (cpt_si_status, cpt_si_utime, cpt_si_stime, cpt_si_ptr) (cpt_si_addr, cpt_si_band, cpt_si_fd): New defines. (compat_siginfo_from_siginfo, siginfo_from_compat_siginfo) (amd64_linux_siginfo_fixup): New. * linux-nat.c (linux_nat_siginfo_fixup): New. (siginfo_fixup): New. (linux_xfer_siginfo): Use siginfo_fixup to convert between the siginfo layout expected by ptrace and the siginfo layout of the inferior. (linux_nat_set_siginfo_fixup): New. * linux-nat.h (linux_nat_set_siginfo_fixup): Declare.
2009-02-062009-02-06 Pedro Alves <pedro@codesourcery.com>Pedro Alves28-29/+962
gdb/ * target.h (enum target_object): Add new TARGET_OBJECT_SIGNAL_INFO. * infrun.c (siginfo_value_read, siginfo_value_write): New. (siginfo_value_funcs): New. (siginfo_make_value): New. (_initialize_infrun): Create the $_siginfo convenience variable. * gdbtypes.h (append_composite_type_field_aligned): Declare. * gdbtypes.c (append_composite_type_field): Rename to... (append_composite_type_field_aligned): ... this. Add ALIGNMENT argument. Handle it. (append_composite_type_field): Rewrite on top of append_composite_type_field_aligned. * value.h (internalvar_make_value): New typedef. (struct internalvar) <make_value>: New field. (create_internalvar_type_lazy): Declare. * value.c (create_internalvar): Clear make_value. (create_internalvar_type_lazy): New. (value_of_internalvar): If make_value is set use it. (preserve_values): Skip internal variables that don't have a value. * gdbarch.sh (get_siginfo_type): New. * gdbarch.h, gdbarch.c: Regenerate. * linux-tdep.h, linux-tdep.c: New. * amd64-linux-tdep.c: Include "linux-tdep.h". (amd64_linux_init_abi): Register linux_get_siginfo_type and linux_get_siginfo_mapper. * i386-linux-tdep.c: Include "linux-tdep.h". (i386_linux_init_abi): Register linux_get_siginfo_type and linux_get_siginfo_mapper. * arm-linux-tdep.c: Include "linux-tdep.h". (i386_linux_init_abi): Register linux_get_siginfo_type and linux_get_siginfo_mapper. * linux-nat.c (linux_xfer_siginfo): New. (linux_nat_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO. * remote.c (PACKET_qXfer_siginfo_read) (PACKET_qXfer_siginfo_write): New. (feature remote_protocol_features): Add "qXfer:siginfo:read" and "qXfer:siginfo:write" features. (remote_xfer_partial): Handle TARGET_OBJECT_SIGNAL_INFO. (_initialize_remote): Add "set/show remote read-siginfo-object" and "set/show remote write-siginfo-object" commands. * Makefile.in (ALL_TARGET_OBS): Add linux-tdep.o. (HFILES_NO_SRCDIR): Add linux-tdep.h. (ALLDEPFILES): Add linux-tdep.c. * configure.tgt (arm*-*-linux* | arm*-*-uclinux*) (i[34567]86-*-linux*, x86_64-*-linux*): Add linux-tdep.o to gdb_target_obs. 2009-02-06 Pedro Alves <pedro@codesourcery.com> gdb/gdbserver/ * server.c (handle_query): Report qXfer:siginfo:read and qXfer:siginfo:write as supported and handle them. * target.h (struct target_ops) <qxfer_siginfo>: New field. * linux-low.c (linux_xfer_siginfo): New. (linux_target_ops): Set it. 2009-02-06 Pedro Alves <pedro@codesourcery.com> gdb/doc/ * gdb.texinfo (Signals): Document $_siginfo. (Convenience Variables): Mention $_siginfo. (Remote Configuration): Document qXfer:siginfo:read, qXfer:siginfo:write packets, and the read-siginfo-object, write-siginfo-object commands. 2009-02-06 Pedro Alves <pedro@codesourcery.com> gdb/testsuite/ * gdb.base/siginfo-obj.c, gdb.base/siginfo-obj.exp: New.
2009-02-06gdb/Pedro Alves7-5/+278
2009-02-06 Jim Blandy <jimb@codesourcery.com> Daniel Jacobowitz <dan@codesourcery.com> Vladimir Prus <vladimir@codesourcery.com> Pedro Alves <pedro@codesourcery.com> * defs.h (enum lval_type): New value: lval_computed. * value.h (struct lval_funcs): New type. (allocate_computed_value, value_computed_funcs) (value_computed_closure): New declarations. * value.c (struct value): Add a structure to the location union for computed lvalues, containing 'funcs' and 'closure' members. (allocate_computed_value, value_computed_funcs) (value_computed_closure): New functions. (value_free): For computed lvalues, call the closure's 'free_closure' function before freeing the value itself. (value_copy): If we're copying an lval_computed value, call the closure's 'copy_closure' function. (set_value_component_location): If the original value is a computed lvalue, then call the closure's 'copy_closure' function. (value_of_internalvar): If an internal variable's value is a computed lvalue, make retrieving its value produce an equivalent computed lvalue. * valops.c (value_fetch_lazy): Unlazy computed lvalues by calling their read function. (value_assign): Assign to computed lvalues by calling their write function. gdb/doc/ 2009-02-06 Pedro Alves <pedro@codesourcery.com> * gdbint.texinfo (Values): New chapter.
2009-02-06 * linux-nat.c (linux_nat_wait): Adjust.Pedro Alves28-168/+239
(linux_nat_pid_to_str): Adjust. Remove call to thread_db_init. * linux-nat.h (thread_db_init): Delete declaration. * linux-thread-db.c (target_beneath): Delete. (thread_db_init): Delete. (thread_db_detach): Use find_target_beneath. (thread_db_wait): Adjust interface. Use find_target_beneath. (thread_db_mourn_inferior): Use find_target_beneath. (thread_db_can_async_p, thread_db_is_async_p, thread_db_async) (thread_db_async_mask): Delete. (thread_db_pid_to_str): Adjust interface. Use find_target_beneath. (thread_db_get_thread_local_address): Adjust interface. Use find_target_beneath. (init_thread_db_ops): Delete references to delete functions. * target.c (update_current_target): Don't inherit or default to_wait. Don't inherit to_pid_to_str and to_get_thread_local_address. (target_translate_tls_address): Look for a pushed target that implements to_get_thread_local_address, and use it instead of checking for target_get_thread_local_address_p. (target_wait, target_pid_to_str): Reimplement as functions. (dummy_pid_to_str): New. (init_dummy_target): Register it. (debug_to_wait): Delete. * target.h (struct target_ops): Make to_wait, to_pid_to_str and to_get_thread_local_address accept a pointer to struct target_ops. (target_wait): Delete macro, and declare as function. (target_pid_to_str): Likewise. (target_get_thread_local_address) (target_get_thread_local_address_p): Delete. (noprocess): Add NORETURN and ATTR_NORETURN tags. * inf-ptrace.c (inf_ptrace_wait): Adjust. (inf_ptrace_pid_to_str): New. (inf_ptrace_target): Use inf_ptrace_pid_to_str. * aix-thread.c (aix_thread_wait, aix_thread_pid_to_str): Adjust. * bsd-kvm.c (bsd_kvm_pid_to_str): Adjust. * bsd-uthread.c (bsd_uthread_wait, bsd_uthread_pid_to_str): Adjust. * corelow.c (core_pid_to_str): Adjust. * darwin-nat.c (darwin_wait, darwin_pid_to_str): Adjust. * dec-thread.c (dec_thread_wait, dec_thread_pid_to_str): Adjust. * gnu-nat.c (gnu_wait, gnu_pid_to_str): Adjust. * go32-nat.c (go32_wait, go32_pid_to_str): Adjust. * hpux-thread.c (hpux_thread_wait): Adjust. * inf-ttrace.c (inf_ttrace_wait, inf_ttrace_pid_to_str): Adjust. * monitor.c (monitor_wait, monitor_pid_to_str): Adjust. * nto-procfs.c (procfs_wait, procfs_pid_to_str): Adjust. * procfs.c (procfs_pid_to_str): Adjust. * remote-m32r-sdi.c (m32r_wait, m32r_pid_to_str): Adjust. * remote-mips.c (mips_wait): Adjust. * remote-sim.c (gdbsim_wait, gdbsim_pid_to_str): Adjust. * remote.c (remote_wait, remote_pid_to_str) (remote_get_thread_local_address): Adjust. * rs6000-nat.c (rs6000_wait): Adjust. * sol-thread.c (procfs_pid_to_str): Adjust declaration. (sol_thread_wait, solaris_pid_to_str): Adjust. * spu-linux-nat.c (spu_child_wait): Adjust. * windows-nat.c (windows_wait, windows_pid_to_str): Adjust.
2009-02-06gdb/Thiago Jung Bauermann17-20/+943
2009-02-06 Tom Tromey <tromey@redhat.com> * Makefile.in (SUBDIR_PYTHON_OBS): Add python-cmd.o. (SUBDIR_PYTHON_SRCS): Add python-cmd.c. (python-cmd.o): New target. * cli/cli-decode.c (set_cmd_completer): Add self parameter to completer prototype. (add_cmd): Initialize destroyer member of cmd_list_element. Use make_symbol_completion_list_fn as completer. (delete_cmd): Call destroyer if one is set. * cli/cli-decode.h (cmd_list_element): Add cmd parameter to completer member. Add destroyer member. (set_cmd_completer): Add self parameter to completer prototype. * command.h (set_cmd_completer): Add cmd parameter to completer prototype. * completer.c (noop_completer, filename_completer, location_completer, expression_completer, command_completer): Adapt to new completer prototype. (complete_line_internal): Pass new parameter to completer function. * completer.h (noop_completer, filename_completer, location_completer, expression_completer, command_completer): Adapt prototypes to new completer prototype. * interps.c (interpreter_completer): Adapt to new completer prototype. * python/python-cmd.c: New file. * python/python-internal.h (gdbpy_initialize_commands): Add prototype. (gdbpy_doc_cst): Add forward declaration. * python/python.c (gdbpy_doc_cst): Declare. (_initialize_python): Call gdbpy_initialize_commands. Initialize gdbpy_doc_cst. * symtab.c (make_symbol_completion_list_fn): New function. * symtab.h (make_symbol_completion_list_fn): Add prototype. gdb/doc/ 2009-02-06 Tom Tromey <tromey@redhat.com> * gdb.texinfo (Python API): Add entry for Commands In Python. (Commands In Python): New node. gdb/testsuite/ 2009-02-06 Thiago Jung Bauermann <bauerman@br.ibm.com> * gdb.python/python-cmd.exp: New file.
2009-02-062009-02-06 Chris Demetriou <cgd@google.com>Chris Demetriou8-67/+100
* gold.h (gold_undefined_symbol): Change to take only a Symbol pointer and to report location as the file name associated with the symbol. (gold_undefined_symbol_at_location): New function to replace the old gold_undefined_symbol functionality. * target-reloc.h (relocate_section): Update to use gold_undefined_symbol_at_location. * symtab.cc (Symbol_table::warn_about_undefined_dynobj_symbol): Call gold_undefined_symbol function rather than gold_error. * errors.h (Errors::undefined_symbol): Take location as a string, rather than calculating it from a relocation. * errors.cc (Errors::fatal): Print "fatal error:" before the formatted message. (Errors::error, Errors::error_at_location): Print "error: " before the formatted message. (Errors::undefined_symbol): Take location as a string, rather than calculating it from a relocation. (gold_undefined_symbol_at_location): New function akin to old gold_undefined_symbol, calculates location from relocation. (gold_undefined_symbol): Change to take only a Symbol pointer and to report location as the file name associated with the symbol. * testsuite/debug_msg.sh: Update for changed error messages. * testsuite/undef_symbol.sh: Likewise.
2009-02-06 * lib/ld-lib.exp (check_gc_sections_available): Return 0 forJoseph Myers2-1/+7
*-*-mingw*.
2009-02-06 * elfxx-mips.c (_bfd_mips_elf_section_processing): Remove specialJoseph Myers2-5/+12
.sbss handling.
2009-02-06 PR 9814Nick Clifton2-4/+30
* config/tc-arm.c (MODE_RECORDED): New define. (output_inst): Record the thumb_mode in the current frag. (arm_handle_align): Ignore the MODE_RECORDED bit in tc_frag_data. (arm_init_frag): Only set the tc_frag_data field if it has not already been set.
2009-02-06* gas/mips/beq.d: Make no assumptions about the symbols used asNick Clifton14-105/+129
branch targets in the disassembly, or the names of the relocs produced. * gas/mips/bge.d: Likewise. * gas/mips/bgeu.d: Likewise. * gas/mips/blt.d: Likewise. * gas/mips/bltu.d: Likewise. * gas/mips/mips32-sf32.d: Likewise. * gas/mips/mips1-fp.d: Likewise. * gas/mips/branch-misc-1.d: Skip for the mips-ecoff target. * gas/mips/branch-misc-2-64.d: Likewise. * gas/mips/branch-misc-2.d: Likewise. * gas/mips/branch-misc-2pic-64.d: Likewise. * gas/mips/branch-misc-2pic.d: Likewise. * gas/mips/branch-swap.d: Likewise.
2009-02-06 * gas/elf/symtab.d: But do not run the test for the Alpha or HPPANick Clifton2-0/+8
ports.
2009-02-06Updated Vietnamese translation.Nick Clifton2-1355/+1639
2009-02-062009-02-06 Tristan Gingold <gingold@adacore.com>Tristan Gingold2-1/+5
* gdb.arch/i386-sse.c (main): Replace call to puts by an nop asm.
2009-02-06 * target.c (target_get_osdata): Check for equal or higher thanPedro Alves2-4/+12
process_stratum, not dummy_stratum.
2009-02-06gas/testsuite/Peter Bergner7-3/+31
* gas/ppc/booke.s ("dcbt", "dcbtst"): New tests. * gas/ppc/booke.d: Likewise. * gas/ppc/power4_32.s: Likewise. * gas/ppc/power4_32.d: Likewise. opcodes/ * ppc-opc.c: Update copyright year. (powerpc_opcodes) <"dcbt", "dcbtst">: Deprecate the Embedded operand ordering for POWER4 and later and use the correct Server ordering.
2009-02-06 * remote.c (extended_remote_can_run): Delete.Pedro Alves3-17/+12
(init_remote_ops): Don't register it. * target.c (target_get_osdata): Don't check for target_can_run. Instead any target that has already been pushed, otherwise fallback to the default run target..
2009-02-06 * target.c (target_create_inferior, target_detach)Pedro Alves2-59/+27
(target_mourn_inferior, target_attach, target_close): Do target debug output. (debug_to_attach, debug_to_detach, debug_to_create_inferior) (debug_to_mourn_inferior, debug_to_close): Delete. (setup_target_debug): Adjust.
2009-02-06daily updateAlan Modra1-1/+1
2009-02-06*** empty log message ***gdbadmin1-1/+1
2009-02-05 * target.h (target_stopped_data_address_p): Delete declaration,Pedro Alves3-20/+6
and don't define as macro. * target.c (target_stopped_data_address_p): Delete.
2009-02-052009-02-05 Catherine Moore <clm@codesourcery.com>Joseph Myers2-0/+5
* gas/elf/elf.exp: Really run the symtab test.
2009-02-05 * ld-arm/arm-elf.exp (armeabitests): Restore thumb2-b-interwork.Joseph Myers2-1/+7
2009-02-05 * emulparams/m68kelf.sh: Add newline at end of file.Joseph Myers2-1/+5
2009-02-05gdb/Thiago Jung Bauermann6-0/+86
2009-02-05 Thiago Jung Bauermann <bauerman@br.ibm.com> Tom Tromey <tromey@redhat.com> * python/python-utils.c (target_string_to_unicode): New function. * python/python-internal.h (target_string_to_unicode): New prototype. * python/python-value.c (valpy_string): New function. (value_object_methods): Add `string' entry. gdb/doc/ 2009-02-05 Tom Tromey <tromey@redhat.com> * gdb.texinfo (Values From Inferior): Document Value.string.
2009-02-05 * target.h (target_tid_to_str): Delete.Pedro Alves4-11/+15
* thread.c (print_thread_info, thread_apply_all_command) (thread_apply_command, thread_command, do_captured_thread_select): Use target_pid_to_str instead of target_tid_to_str. * linux-fork.c (delete_fork_command): Likewise.
2009-02-05 * frame.c (has_stack_frames): Make public.Pedro Alves4-53/+39
(get_prev_frame): Don't allow a NULL this_frame anymore. * frame.h (has_stack_frames): Declare. * varobj.c (find_frame_addr_in_frame_chain): Don't ever pass NULL to get_prev_frame, instead start at get_current_frame. (varobj_create): Check has_stack_frames before getting any frame; eliminate one usage of deprecated_safe_get_selected_frame.
2009-02-05gdb/Thiago Jung Bauermann4-31/+65
2009-02-05 Tom Tromey <tromey@redhat.com> Thiago Jung Bauermann <bauerman@br.ibm.com> * python/python.c (GdbMethods): Move to bottom of file. (get_parameter, execute_gdb_command, gdbpy_write, gdbpy_flush): Remove forward declarations. (eval_python_from_control_command): Fix error checking of function PyRun_SimpleString. Fix error string. (python_command): Likewise. (execute_gdb_command): Added from_tty argument. gdb/doc/ 2009-02-05 Tom Tromey <tromey@redhat.com> * gdb.texinfo (Basic Python): Document execute's from_tty argument.
2009-02-05* Makefile.tpl (stage_last): Define $r and $s before usingAndreas Schwab3-4/+14
$(RECURSE_FLAGS_TO_PASS). * Makefile.in: Regenerate
2009-02-052009-02-05 Tristan Gingold <gingold@adacore.com>Tristan Gingold5-13/+36
* gdb.base/sigbpt.exp: Detect which signal is received when a NULL pointer is dereferenced and use this signal name in regexp. * gdb.base/signull.exp: Ditto. * gdb.base/sigbpt.c (main): Catch SIGBUS too. * gdb.base/signull.c (main): Ditto.
2009-02-052009-02-05 Thiago Jung Bauermann <bauerman@br.ibm.com>Thiago Jung Bauermann15-63/+328
* language.h (language_dfn): Add la_get_string member. (LA_GET_STRING): New macro. (default_get_string): New prototype. * language.c (default_get_string): New function. (unknown_language_defn, auto_language_defn, local_language_defn): Use default_get_string for la_get_string. * c-lang.c (c_get_string): New function. (c_language_defn, cplus_language_defn, asm_language_defn): Use c_get_string for la_get_string. (minimal_language_defn): Likewise * ada-lang.c (ada_language_defn): Likewise. * f-lang.c (f_language_defn): Use default_get_string for la_get_string. * jv-lang.c (java_language_defn): Likewise. * m2-lang.c (m2_language_defn): Likewise. * objc-lang.c (objc_language_defn): Likewise. * p-lang.c (p_language_defn): Likewise. * scm-lang.c (scm_language_defn): Likewise. * typeprint.c (type_to_string): New function. * value.h (type_to_string): New prototype. * valprint.c (val_print_string): Factor out code for reading string from the inferior into its own function. Put 2 spaces after period in comments. (read_string): New function. * valprint.h (read_string): New prototype.
2009-02-052009-01-07 Pierre Muller <muller@ics.u-strasbg.fr>Tom Tromey3-21/+35
Tom Tromey <tromey@redhat.com> PR breakpoints/8079: * breakpoint.c (print_one_breakpoint): Use exp_string field to display expression of watchpoints. (mention): Likewise. (watch_command_1): Remove trailing whitespace from expression. * printcmd.c (struct display) <exp_string>: New field. (display_command): Set exp_string. (free_display): Free exp_string. (clear_displays): Use free_display. (do_one_display): Print exp_string. (display_info): Likewise.
2009-02-05*** empty log message ***gdbadmin1-1/+1
2009-02-05daily updateAlan Modra1-1/+1