Commit Graph

41647 Commits

Author SHA1 Message Date
Elena Zannoni d8fe84e397 2003-11-05 Elena Zannoni <ezannoni@redhat.com>
* top.c (execute_command): Fix broken logic for command execution
       while inferior is running in async mode.
2003-11-05 23:50:12 +00:00
Mark Kettenis cbdfc7c029 * dwarf2-frame.c (execute_cfa_program): Mark register as
REG_SAVED_REG for DW_CFA_register opcode.
2003-11-05 23:32:17 +00:00
Alan Modra bbbd1a04e0 daily update 2003-11-05 23:00:05 +00:00
Mark Kettenis dac9410586 * amd64fbsd-tdep.c (amd64fbsd_sc_reg_offset): Adjust offset of
%rsp, %rip and %eflags to match ABI-change.
2003-11-05 22:54:46 +00:00
Jeff Johnston 85bf2b9128 2003-11-05 Jeff Johnston <jjohnstn@redhat.com>
* ia64-tdep.c (struct gdbarch_tdep): Remove os_ident field.
        (ia64_gdbarch_init): Don't bother calculating the os.
        Instead use the gdbarch_info struct and look at the osabi field.
        Also use gdbarch_list_lookup_by_info() to look for a
        candidate gdbarch.
2003-11-05 20:32:42 +00:00
Kevin Buettner cd31fb03d2 * frv-tdep.c (frv_register_byte): Delete.
(frv_extract_return_value, frv_store_return_value)
	(frv_extract_struct_value_address): Don't call frv_register_byte().
	Convert to non-deprecated form.
	(frv_gdbarch_init): Don't call set_gdbarch_deprecated_register_byte().
	Convert calls to set_gdbarch_deprecated_extract_return_value(),
	set_gdbarch_deprecated_store_return_value(), and
	set_gdbarch_deprecated_extract_struct_value_address() into
	non-deprecated forms.
2003-11-05 16:44:12 +00:00
Andrew Cagney 0a05698224 2003-11-05 Andrew Cagney <cagney@redhat.com>
* mips-tdep.c (mips_dump_tdep): Do not print
	PRINT_EXTRA_FRAME_INFO.
	* config/sparc/tm-sparc.h (DEPRECATED_PRINT_EXTRA_FRAME_INFO):
	Rename PRINT_EXTRA_FRAME_INFO.
	* mips-tdep.c (mips_print_extra_frame_info): Delete function.
	* config/mips/tm-mips.h (PRINT_EXTRA_FRAME_INFO): Delete macro.
	(mips_print_extra_frame_info): Delete declaration.
	* stack.c (frame_info): Use DEPRECATED_PRINT_EXTRA_FRAME_INFO.
2003-11-05 16:42:35 +00:00
Elena Zannoni 29e0a0623d 2003-11-05 Elena Zannoni <ezannoni@redhat.com>
* coffread.c (coff_symtab_read): Remove passing of info parameter
       to prim_record_minimal_symbol_and_info.
2003-11-05 15:30:35 +00:00
Elena Zannoni 8af580fccd 2003-11-05 Elena Zannoni <ezannoni@redhat.com>
* coffread.c (process_coff_symbol): Delete CXUX_TARGET macro use.
       (decode_base_type): Delete ifdeffed out code.
2003-11-05 15:27:31 +00:00
Alan Modra 8517fae7a5 * elf.c (_bfd_elf_rela_local_sym): Accept asection **, and return
updated section in case of merged section.
	* elf-bfd.h (_bfd_elf_rela_local_sym): Update declaration.
	* elf-hppa.h (elf_hppa_relocate_section): Adjust call.
	* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
	* elf32-arm.h (elf32_arm_relocate_section): Likewise.
	* elf32-avr.c (elf32_avr_relocate_section): Likewise.
	* elf32-cris.c (cris_elf_relocate_section): Likewise.
	* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
	* elf32-frv.c (elf32_frv_relocate_section): Likewise.
	* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
	* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
	* elf32-i370.c (i370_elf_relocate_section): Likewise.
	* elf32-i860.c (elf32_i860_relocate_section): Likewise.
	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
	* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
	* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
	* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
	* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
	* elf32-s390.c (elf_s390_relocate_section): Likewise.
	* elf32-sh.c (sh_elf_relocate_section): Likewise.
	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
	* elf32-v850.c (v850_elf_relocate_section) Likewise.
	* elf32-vax.c (elf_vax_relocate_section): Likewise.
	* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
	* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
	* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
	* elf64-s390.c (elf_s390_relocate_section): Likewise.
	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
	* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.

	* elf32-cris.c (cris_elf_relocate_section): Don't recalculate symbol
	section for reloc output.
	* elf32-i370.c (i370_elf_relocate_section): Likewise.
	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
	* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
	* elf32-vax.c (elf_vax_relocate_section): Likewise.
	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.

	* elf32-ppc.c (ppc_elf_relocate_section): Don't recalculate everything
	for R_PPC_RELAX32 reloc.  Don't bother checking ppc_elf_install_value
	return value.
	* elf64-ppc.c (ppc64_elf_relocate_section <R_PPC64_TOC>): Sanity check
	sec->id.
2003-11-05 13:17:09 +00:00
Alan Modra a2b0fe9d4d * elf32-d10v.c (extract_rel_addend, insert_rel_addend): New functions.
(elf32_d10v_relocate_section): Use them to handle -r reloc
	adjustments, and in place of _bfd_elf_rela_local_sym.
2003-11-05 01:23:55 +00:00
H.J. Lu e81a635e5a 2003-11-04 H.J. Lu <hongjiu.lu@intel.com>
* gas/m68k/mcf-mov3q.d: Support 64bit BFD.
2003-11-05 01:14:25 +00:00
gdbadmin f25fb29c1f *** empty log message *** 2003-11-05 00:00:32 +00:00
Alan Modra d3ec2be8f5 * cpu-iq2000.c (arch_info_struct): Warning fix. 2003-11-04 23:58:06 +00:00
Alan Modra 4fc8051d33 * elf32-hppa.c (ELIMINATE_COPY_RELOCS): Define.
(elf32_hppa_copy_indirect_symbol): Don't copy NON_GOT_REF on
	weakdefs.
	(elf32_hppa_check_relocs): Use ELIMINATE_COPY_RELOCS.
	(elf32_hppa_adjust_dynamic_symbol): Likewise.  Copy weakdef
	NON_GOT_REF.
	(allocate_dynrelocs): Use ELIMINATE_COPY_RELOCS and
	SYMBOL_CALLS_LOCAL.  Discard relocs for undef weak syms with
	non-default visibility.
	(elf32_hppa_relocate_section): Use ELIMINATE_COPY_RELOCS and
	SYMBOL_CALLS_LOCAL.
2003-11-04 23:52:58 +00:00
Alan Modra 4b83d61511 * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Only do
pe_dll_extra_pe_debug stuff when DLL_SUPPORT defined.
	(pr_sym): Move inside #ifdef DLL_SUPPORT.
2003-11-04 23:36:21 +00:00
Alan Modra 5f5c1f759d * config/tc-ppc.h (TC_FORCE_RELOCATION): Only define for ELF and XCOFF. 2003-11-04 23:35:54 +00:00
Alan Modra 2c07ab8a9e * emultempl/ppc64elf.em (gld${EMULATION_NAME}_new_vers_pattern): Zap
unused variable.
2003-11-04 23:11:23 +00:00
Alan Modra e0e97e2cfa * emulparams/elf32_i860.sh (TEXT_START_ADDR): Define. 2003-11-04 23:08:03 +00:00
Alan Modra 053a1efcad daily update 2003-11-04 23:00:06 +00:00
Andrew Cagney 507836c0f0 2003-11-04 Andrew Cagney <cagney@redhat.com>
* symtab.c (find_active_alias): Delete function.
	(lookup_block_symbol): Delete alias code.
	* stabsread.c (resolve_live_range): Delete function.
	(add_live_range): Delete function.
	(resolve_symbol_reference): Delete function.
	(define_symbol): Delete live range and alias code.
	(scan_file_globals): Delete alias code.
	* symtab.h (SYMBOL_RANGES): Delete macro.
	(struct range_list): Delete structure.
	(struct symbol): Delete field "ranges".
	(SYMBOL_ALIASES): Delete macro.
	(struct alias_list): Delete structure.
	(struct symbol): Delete field "aliases".
2003-11-04 22:22:31 +00:00
Michael Snyder 1083b3bca3 2003-11-04 Michael Snyder <msnyder@redhat.com>
* MAINTAINERS:	Remove myself as	owner of breakpoints and
        of sparc/solaris.
2003-11-04 20:01:16 +00:00
Alan Modra eac93a98e5 * aout-target.h, aoutf1.h, bfdio.c, bfdwin.c: Update copyright date.
* coff-apollo.c, coff-sparc.c, coff-w65.c, coff-we32k.c: Ditto.
	* coff-z8k.c, coffgen.c, cpu-frv.c, cpu-h8500.c, cpu-hppa.c: Ditto.
	* cpu-ia64-opc.c, cpu-m10300.c, cpu-mips.c, cpu-msp430.c: Ditto.
	* cpu-rs6000.c, cpu-z8k.c, efi-app-ia32.c, elf32-am33lin.c: Ditto.
	* gen-aout.c, hash.c, hp300hpux.c, init.c, mach-o.c: Ditto.
	* nlm-target.h, nlm.c, som.h, stabs.c, sysdep.h, xsym.h: Ditto.
2003-11-04 11:30:54 +00:00
Alan Modra 140fae3fce * elf-m10300.c (_bfd_mn10300_elf_create_got_section): Fix
"dereferencing type-punned pointer" warnings.
2003-11-04 10:45:54 +00:00
Alan Modra 0f867abe4a * aout-adobe.c (aout_adobe_set_section_contents): Constify location.
* aoutx.h (NAME(aout,set_section_contents)): Ditto.
	* bfd-in2.h: Regenerate.
	* binary.c (binary_set_section_contents): Ditto.
	* bout.c (b_out_set_section_contents): Ditto.
	* coff-tic54x.c (tic54x_set_section_contents): Ditto.
	* coffcode.h (coff_set_section_contents): Ditto.
	* ecoff.c (_bfd_ecoff_set_section_contents): Ditto.
	* elf-bfd.h (_bfd_elf_set_section_contents): Ditto.
	* elf.c (_bfd_elf_set_section_contents): Ditto.
	* elfxx-mips.c (_bfd_mips_elf_set_section_contents): Ditto.
	* elfxx-mips.h (_bfd_mips_elf_set_section_contents): Ditto.
	* i386msdos.c (msdos_set_section_contents): Ditto.
	* ieee.c (ieee_set_section_contents): Ditto.
	* ihex.c (ihex_set_section_contents): Ditto.
	* libaout.h (NAME(aout,set_section_contents)): Ditto.
	* libbfd-in.h (_bfd_nowrite_set_section_contents): Ditto.
	(_bfd_generic_set_section_contents): Ditto.
	* libbfd.h: Regenerate.
	* libbfd.c (_bfd_generic_set_section_contents): Ditto.
	* libecoff.h (_bfd_ecoff_set_section_contents): Ditto.
	* libnlm.h (nlmNAME(set_section_contents)): Ditto.
	(struct nlm_backend_data <nlm_mangle_relocs>): Ditto.
	* mmo.c (mmo_set_section_contents): Ditto.
	* nlm32-alpha.c (nlm_alpha_mangle_relocs): Ditto.
	* nlm32-i386.c (nlm_i386_mangle_relocs): Ditto.
	* nlm32-ppc.c (nlm_powerpc_mangle_relocs): Ditto.
	* nlm32-sparc.c (nlm_sparc_mangle_relocs): Ditto.
	* nlmcode.h (nlm_set_section_contents): Ditto.
	* oasys.c (oasys_set_section_contents): Ditto.
	* pdp11.c (NAME(aout,set_section_contents)): Ditto.
	* ppcboot.c (ppcboot_set_section_contents): Ditto.
	* srec.c (srec_set_section_contents): Ditto.
	* targets.c (BFD_JUMP_TABLE_WRITE <_bfd_set_section_contents>): Ditto.
	* tekhex.c (tekhex_set_section_contents): Ditto.
	(move_section_contents): Ditto.
	* versados.c (versados_set_section_contents): Ditto.
	* vms-misc.c (_bfd_save_vms_section): Ditto.
	* vms.c (vms_set_section_contents): Ditto.
	* vms.h (_bfd_save_vms_section): Ditto.
2003-11-04 10:41:52 +00:00
Alan Modra 63bc6f6c39 * elf64-ppc.c (ppc_size_one_stub): Size relbrlt. Accept info arg
rather than htab.
	(ppc64_elf_size_stubs): Adjust ppc_size_one_stub traversal.  Zero
	relbrlt size.
	(ppc64_elf_build_stubs): Allocate space for relbrlt.
2003-11-04 08:51:36 +00:00
Alan Modra e1918d2387 * bfd-in.h (_bfd_elf_tls_setup): Declare.
* bfd-in2.h: Regenerate.
	* elf-bfd.h (struct elf_link_tls_segment): Delete.
	(struct elf_link_hash_table): Add tls_sec and tls_size.
	* elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
	* elflink.c (_bfd_elf_tls_setup): New function.
	* elflink.h (struct elf_final_link_info): Remove first_tls_sec.
	(elf_bfd_final_link): Don't set first_tls_sec here.  Update code
	saving tls segment info, round segment size up.
	(elf_link_output_extsym): Adjust code using tls segment info.
	(elf_link_input_bfd): Likewise.
	* elf32-i386.c (dtpoff_base, tpoff): Likewise.
	* elf32-s390.c (dtpoff_base, tpoff): Likewise.
	* elf32-sh.c (dtpoff_base, tpoff): Likewise.
	* elf32-sparc.c (dtpoff_base, tpoff): Likewise.
	* elf64-s390.c (dtpoff_base, tpoff): Likewise.
	* elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
	* elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
	(elfNN_ia64_dtprel_base): Likewise.
	* elf64-alpha.c (alpha_get_dtprel_base): Likewise.
	(alpha_get_tprel_base): Likewise.
	(struct alpha_relax_info): Remove tls_segment.
	(elf64_alpha_relax_got_load): Adjust invocation of
	alpha_get_dtprel_base and alpha_get_tprel_base.
	(elf64_alpha_relax_tls_get_addr): Likewise.
	(elf64_alpha_relax_section): Likewise.
	(elf64_alpha_relocate_section): Likewise.
	(elf64_alpha_relax_find_tls_segment): Delete.
	* elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
	(ppc_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
	(ppc_elf_relocate_section): Adjust to use elf.tls_sec.
	* elf32-ppc.h (ppc_elf_tls_setup): Update.
	* elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
	(ppc64_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
	(ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
	(ppc64_elf_relocate_section): Likewise.
	* elf64-ppc.h (ppc64_elf_tls_setup): Update.

	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Call
	_bfd_elf_tls_setup.
2003-11-04 06:16:39 +00:00
gdbadmin 4d100af478 *** empty log message *** 2003-11-04 00:00:31 +00:00
Alan Modra 203b46ca20 daily update 2003-11-03 23:00:05 +00:00
Dave Brolley 0b01870bf4 2003-11-03 Dave Brolley <brolley@redhat.com>
* cache.c (address_interference): Check for higher priority requests
        in the same pipeline.
2003-11-03 18:29:57 +00:00
Kris Warkentin 6ef88553ef Added new SH4 testcases 2003-11-03 17:42:52 +00:00
Corinna Vinschen 474e5826dd * sh-tdep.c (sh_sh4_nofpu_register_name): New function.
(sh_sh4al_dsp_register_name): Ditto.
	(sh4_nofpu_show_regs): Ditto.
	(sh_gdbarch_init): Add cases for bfd_mach_sh4al_dsp, bfd_mach_sh4a,
	bfd_mach_sh4_nofpu and bfd_mach_sh4a_nofpu.
2003-11-03 17:08:23 +00:00
Andrew Cagney 2160782c82 * bcache.c: Include "gdb_assert.h".
(struct bcache): Add fields "expand_count" and
	"expand_hash_count".
	(expand_hash_table): Update the expand counts.
	(print_bcache_statistics): Use XCALLOC, not alloca.  Print stats
	on object sizes and hashes.
	* Makefile.in (bcache.o): Update dependencies.
2003-11-03 17:03:11 +00:00
Daniel Jacobowitz 6f2f2c9d16 * elf-bfd.h (struct elf_backend_data): Remove plt_header_size.
* elf-m10300.c (elf_backend_plt_header_size): Don't define.
	* elf32-arm.h (elf_backend_plt_header_size): Don't define.
	* elf32-cris.c (elf_backend_plt_header_size): Don't define.
	* elf32-i386.c (elf_backend_plt_header_size): Don't define.
	* elf32-mips.c (elf_backend_plt_header_size): Don't define.
	* elf32-ppc.c (elf_backend_plt_header_size): Don't define.
	* elf32-s390.c (elf_backend_plt_header_size): Don't define.
	* elf32-sh.c (elf_backend_plt_header_size): Don't define.
	* elf32-sparc.c (elf_backend_plt_header_size): Don't define.
	* elf64-alpha.c (elf_backend_plt_header_size): Don't define.
	* elf64-hppa.c (elf_backend_plt_header_size): Don't define.
	* elf64-mips.c (elf_backend_plt_header_size): Don't define.
	* elf64-ppc.c (elf_backend_plt_header_size): Don't define.
	* elf64-s390.c (elf_backend_plt_header_size): Don't define.
	* elf64-sh64.c (elf_backend_plt_header_size): Don't define.
	* elf64-sparc.c (elf_backend_plt_header_size): Don't define.
	* elf64-x86-64.c (elf_backend_plt_header_size): Don't define.
	* elfn32-mips.c (elf_backend_plt_header_size): Don't define.
	* elfxx-ia64.c (elf_backend_plt_header_size): Don't define.
	* elfxx-target.h (elf_backend_plt_header_size): Don't define
	or include in target initializer.
2003-11-03 15:17:40 +00:00
Daniel Jacobowitz eb4286fcfb * gas/arm/arm7t.d: Replace '-#' with '#-'.
* gas/arm/copro.d: Likewise.
	* gas/arm/fpa-mem.d: Likewise.
	* gas/arm/maverick.c: Likewise.
	* gas/arm/maverick.d: Likewise.
	* gas/arm/vfp1.d: Likewise.
	* gas/arm/vfp1xD.d: Likewise.
	* gas/arm/xscale.d: Likewise.
2003-11-03 14:47:37 +00:00
Daniel Jacobowitz 8e6446ff53 * arm-dis.c (print_arm_insn): Print "-" after "#". 2003-11-03 14:47:22 +00:00
Andrew Cagney 8530209598 2003-11-03 Andrew Cagney <cagney@redhat.com>
* section.c (bfd_set_section_contents): Make the "location" buffer
	constant.
	* bfd-in2.h: Re-generate.

Index: gdb/ChangeLog
2003-11-03  Andrew Cagney  <cagney@redhat.com>

	* exec.c (xfer_memory): Eliminate xfer_fn.
2003-11-03 14:44:08 +00:00
Joern Rennecke 794cd17b28 * interp.c (fsca_s, fsrra_s): New functions.
* gencode.c (tab): Add entries for fsca and fsrra.
	(expand_opcode): Allow variable length n / m fields.
2003-11-03 14:14:15 +00:00
gdbadmin d36d13b0e1 *** empty log message *** 2003-11-03 00:00:01 +00:00
Alan Modra 8211433f2c daily update 2003-11-02 23:00:05 +00:00
gdbadmin 100b6c20f1 *** empty log message *** 2003-11-02 00:00:06 +00:00
Alan Modra 9759a9ac06 daily update 2003-11-01 23:00:05 +00:00
Kevin Buettner 526eef8952 * frv-tdep.c (gdb_assert.h, sim-regno.h, gdb/sim-frv.h)
(opcodes/frv-desc.h): Include.
	(iacc0h_regnum, iacc0l_regnum): Define.
	(last_spr_regnum, frv_num_regs): Update.
	(new_variant): Don't supply default names for holes in the SPRs.
	Supply names for iacc0h_regnum and iacc0l_regnum.
	(frv_register_type): Use symbolic constants first_fpr_regnum and
	last_fpr_regnum instead of hardcoded constants 64 and 127.  Use
	builtin_type_int instead of builtin_type_int32.
	(frv_register_sim_regno): New function.
	(frv_gdbarch_init): Call set_gdbarch_register_sim_regno().
	* Makefile.in (gdb_sim_frv_h): Define.
	(frv-tdep.o): Update dependencies.
2003-11-01 01:42:48 +00:00
Kevin Buettner e4418cab6f * sim-frv.h: New file. 2003-11-01 01:33:25 +00:00
gdbadmin f51abb02cd *** empty log message *** 2003-11-01 00:00:02 +00:00
Andrew Cagney 9e815ec299 2003-10-31 Andrew Cagney <cagney@redhat.com>
* avr-tdep.c (avr_frame_this_id): Do not call
	deprecated_inside_entry_file.
	* m68hc11-tdep.c (m68hc11_frame_this_id): Ditto.
	* m32r-tdep.c (m32r_frame_this_id): Ditto.
	* d10v-tdep.c (d10v_frame_this_id): Ditto.
	* arm-tdep.c (arm_prologue_this_id): Ditto.
	* alpha-tdep.c (alpha_heuristic_frame_this_id): Ditto.
2003-10-31 23:47:17 +00:00
Alan Modra b1ace735e1 daily update 2003-10-31 23:00:05 +00:00
Jim Blandy e372db4988 * elfread.c (elf_symtab_read): Allocate correct number of tail
elements to sectinfo structure.  (Fix from Woody LaRue.)
2003-10-31 22:47:48 +00:00
Andrew Cagney e8bcf01f1b 2003-10-31 Andrew Cagney <cagney@redhat.com>
* stack.c (return_command): Use get_frame_type, instead of
	CALL_DUMMY_HAS_COMPLETED.
	* inferior.h (CALL_DUMMY_HAS_COMPLETED): Delete definition.
	* config/pa/tm-hppa.h (CALL_DUMMY_HAS_COMPLETED): Delete macro.
2003-10-31 22:38:22 +00:00
Mark Kettenis 4c05fe5325 * x86-64-linux-tdep.c (x86_64_linux_sc_reg_offset): Don't
explicitly specify size of array.
(x86_64_linux_init_abi): Use ARRAY_SIZE to initialize
TDEP->sc_num_regs.
2003-10-31 22:26:29 +00:00