Commit Graph

3350 Commits

Author SHA1 Message Date
Marek Michalkiewicz ab72c934da 2002-05-28 Marek Michalkiewicz <marekm@amelek.gda.pl>
* configure.in (noconfigdirs): Don't compile libiberty, libstdcxx
	and libgcj for AVR.
2002-05-28 20:06:27 +00:00
Nick Clifton de6b156083 Add DLX target 2002-05-28 17:56:42 +00:00
Corinna Vinschen 6c5e0401d4 * ps.cc (usage): Fix typo. 2002-05-28 14:59:36 +00:00
Corinna Vinschen 7ea70e9970 * security.cc (set_security_attribute): Call getegid32() instead of
getegid().
	* include/cygwin/grp.h: Declare getegid32().
2002-05-28 14:58:13 +00:00
Corinna Vinschen 5719640581 Change internal gid datatype from __gid16_t to __gid32_t
throughout.
	* cygwin.din: Export new symbols chown32, fchown32, getegid32,
	getgid32, getgrgid32, getgrnam32, getgroups32, initgroups32, lchown32,
	setgid32, setegid32, getgrent32.
	* grp.cc (grp32togrp16): New static function.
	(getgrgid32): New function.
	(getgrnam32): Ditto.
	(getgrent32): Ditto.
	(getgroups32): Change name of internal function from getgroups.
	(getgroups32): New function.
	(initgroups32): Ditto.
	* syscalls.cc (chown32): Ditto.
	(lchown32): Ditto.
	(fchown32): Ditto.
	(setegid32): Ditto.
	(setgid32): Ditto.
	* uinfo.cc (getgid32): Ditto.
	(getegid32): Ditto.
	* include/cygwin/grp.h: Remove declaration of getgrgid() and getgrnam().
	Declare getgrgid32() and getgrnam32() instead.  Declare getgid32().
2002-05-28 14:10:55 +00:00
Nick Clifton f542ad4e14 Add DLX target 2002-05-28 14:08:26 +00:00
Earnie Boyd d4cf003fa0 * include/w32api.h: Increment version to 1.5
* Makefile.in: Ditto.
2002-05-28 13:24:26 +00:00
Earnie Boyd 0c6190694d Merging MinGW changes 2002-05-28 13:20:28 +00:00
Earnie Boyd 4ad1e6fedb Merging MinGW changes 2002-05-28 13:13:45 +00:00
Christopher Faylor ad39fa8cb0 * ps.cc (prog_name): New global variable.
(longopts): Ditto.
(opts): Ditto.
(usage): New function.
(print_version): New function.
(main): Accomodate longopts and new --help, --version options.
2002-05-28 03:38:36 +00:00
Christopher Faylor 0c12979b72 * autoload.cc (noload): Properly mask low order word for determining number of
bytes to pop.
2002-05-28 02:09:15 +00:00
Christopher Faylor 57e2ae682c * fhandler_disk_file.cc (fhandler_disk_file::fstat): Minor logic cleanup. 2002-05-28 02:00:55 +00:00
Christopher Faylor 2402700d07 * autoload.cc (LoadFuncEx): Define via new LoadFuncEx2 macro.
(LoadFuncEx2): Adapted from LoadFuncEx.  Provides control of return value for
nonexistent function.
(NtQueryObject): Declare.
(IsDebuggerPresent): Declare via LoadFuncEx2 and always return true if not
available.
* debug.h (being_debugged): Just rely on IsDebuggerPresent return value.
* dtable.cc (handle_to_fn): New function.
(dtable::init_std_file_from_handle): Attempt to derive std handle's name via
handle_to_fn.
(dtable::build_fhandler_from_name): Fill in what we can in path_conv structure
when given a handle and path doesn't exist.
* fhandler.cc (fhandler_base::open): Don't set the file pointer here.  Use
pc->exists () to determine if file exists rather than calling GetFileAttributes
again.
* fhandler.h (fhandler_base::exec_state_isknown): New method.
(fhandler_base::fstat_helper): Add extra arguments to declaration.
(fhandler_base::fstat_by_handle): Declare new method.
(fhandler_base::fstat_by_name): Declare new method.
* fhandler_disk_file (num_entries): Make __stdcall.
(fhandler_base::fstat_by_handle): Define new method.
(fhandler_base::fstat_by_name): Define new method.
(fhandler_base:fstat): Call fstat_by_{handle,name} as appropriate.
(fhandler_disk_file::fstat_helper): Accept extra arguments for filling out stat
structure.  Move handle or name specific stuff to new methods above.
(fhandler_disk_file::open): Use real_path->exists rather than calling
GetFileAttributes again.
* ntdll.h (FILE_NAME_INFORMATION): Define new structure.
(OBJECT_INFORMATION_CLASS): Partially define new enum.
(OBJECT_NAME_INFORMATION): Define new structure.
(NtQueryInformationFile): New declaration.
(NtQueryObject): New declaration.
* path.cc (path_conv::fillin): Define new method.
* path.h (path_conv::fillin): Declare new method.
(path_conv::drive_thpe): Rename from 'get_drive_type'.
(path_conv::volser): Declare new method.
(path_conv::volname): Declare new method.
(path_conv::root_dir): Declare new method.
* syscalls.cc (fstat64): Send real path_conv to fstat as second argument.
2002-05-28 01:55:40 +00:00
Corinna Vinschen 74b2f73ea4 * security.cc (lsa2str): New function.
(get_priv_list): Call lsa2str instead of sys_wcstombs.
2002-05-27 11:58:49 +00:00
Corinna Vinschen 75bf293153 * syscalls.cc (seteuid): Do not take allow_ntsec into account.
Attempt to use an existing or new token even when the uid
	matches orig_uid, but the gid is not in the process token.
	Major reorganization after several incremental changes.
	(setegid): Do not take allow_ntsec into account. Minor
	reorganization after several incremental changes.
2002-05-27 11:48:15 +00:00
Danny Smith 31be924314 2002-05-27 Ren� M�ller Fonseca <fonseca@users.sourceforge.net>
* include/winreg.h: (RegConnectRegistry[AW]): Replace
	LP[W]STR with LPC[W]STR.
	(REG_QWORD, REG_QWORD_LITTLE_ENDIAN): Add defines.
	Clean up whitespace.
2002-05-27 09:44:17 +00:00
Danny Smith a440dc9527 2002-05-27 Rick Rankin <rick_rankin@yahoo.com>
* include/winnls.h: Add #define for LOCALE_RETURN_NUMBER.
2002-05-27 08:49:26 +00:00
Christopher Faylor 918a268c80 * debug.h (being_debugged): New macro.
* dtable.cc (dtable::extend): Use new macro.
* exceptions.cc (try_to_debug): Ditto.
* strace.cc (strace::hello): Only output debugging info when we think we're
being debugged.
2002-05-27 02:25:28 +00:00
Christopher Faylor 0cfbfc249f * winsup.h: Remove duplicate declarations of malloc_lock and malloc_unlock. 2002-05-27 02:09:19 +00:00
Christopher Faylor 149965f73c update comment 2002-05-27 02:06:16 +00:00
Christopher Faylor d73f9745f1 * strace.cc (attach_process): Don't tell process to start stracing here.
(proc_child): Do it here, instead, after first debug event.  This should work
around inexplicable races with DebugActiveProcess.
(dostrace): Pass any pid argument to proc_child.
2002-05-27 01:49:08 +00:00
Alan Modra 40a4eb7300 * ia64.h: Use #include "" instead of <> for local header files.
* sparc.h: Likewise.
2002-05-25 12:53:48 +00:00
Christopher Faylor d7b4a30001 Remove unneeded sync.h, where appropriate, throughout. Remove unneeded heap.h,
where appropriate, throughout.  Remove unneeded exceptions.h, where
appropriate, throughout.  Remove unneeded perprocess.h, where appropriate,
throughout.
2002-05-25 02:22:50 +00:00
Jeff Johnston d29587b478 2002-05-24 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/string.h: Add strnlen and strerror_r prototypes.
        * libc/string/Makefile.am: Add strnlen.c and strerror_r.c support.
        * libc/string/Makefile.in: Regenerated.
        * libc/string/strerror_r.c: New file.
        * libc/string/strnlen.c: New file.
        * libc/sys/linux/Makefile.am: Add rename.c.
        * libc/sys/linux/Makefile.in: Regenerated.
        * libc/sys/linux/rename.c: New file to override default rename.
2002-05-24 23:44:39 +00:00
Christopher Faylor 8b3e5e2d6e Fix typos. 2002-05-24 21:11:43 +00:00
Thomas Fitzsimmons 9a29238544 * libc/sys/linux/sys/cdefs.h: Add __weak_reference macros.
* libc/sys/linux/sys/time.h: Add conversion macros.
	* libc/sys/linux/sys/types.h: Add FD_ macros.  Include <bits/types.h>.
	* libc/sys/linux/ids.c: Add setresuid and syslog syscalls.
	* libc/sys/linux/gethostname.c: New file.
	* libc/sys/linux/seteuid.c: New file.
	* libc/sys/linux/sysctl.c: New file.
2002-05-24 18:50:29 +00:00
Corinna Vinschen 908f9b653b * security.cc (create_token): Call __sec_user() instead of
sec_user() to remove dependence on allow_ntsec. Verify that
	the returned sd is non-null.
2002-05-24 14:44:05 +00:00
Corinna Vinschen f1b53fa94c * setfacl.c (usage): Standardize usage output. Change return type to
static void.
        (print_version): New function.
        (longopts): Added longopts for all options.
        (main): Accommodate changes in usage function and new version option.
2002-05-24 14:40:14 +00:00
Robert Collins a6247be998 2002-05-25 Robert Collins <rbtcollins@hotmail.com>
* gmon.c (fake_sbrk): Correctly return -1 on failed malloc's.
2002-05-24 14:24:33 +00:00
Christopher Faylor ff93854697 * dtable.cc (dtable::build_fhandler_from_name): Just pass posix path along to
set_name via return_and_clear_normalized_path.
(dtable::build_fhandler): New method with const char * argument.
(dtable::reset_unix_path_name): Eliminate.
(dtable::dup_worker): Use correct build_fhandler method.
* mmap.cc (mmap_record::alloc_fh): Ditto.
* dtable.h (dtable::build_fhandler): New method.
(dtable::reset_unix_path_name): Eliminate.
* fhandler.cc (fhandler_base::set_name): Assume that unix_name has already been
cmalloced.
(fhandler_base::reset_unix_path_name): Eliminate.
(fhandler_base::~fhandler_base): Coercion for cfree.
* fhandler.h (fhandler_base::unix_path_name): Make const char *.
(fhandler_base::win32_path_name): Ditto.
(fhandler_base::reset_unix_path_name): Eliminate.
* fhandler_disk_file.cc (fhandler_cygdrive::set_drives): Accommodate const char
*ness of win32_path_name.
* fhandler_socket.cc (fhandler_socket::fstat): Accommodate new set_name
requirements.
* path.cc (path_conv::return_and_clear_normalized_path): New method.
(path_conv::clear_normalized_path): Eliminate.
(path_conv::~path_conv): Ditto.
(path_conv::check): Accommodate new build_fhandler method.
* path.h (path_conv::~path_conv): Eliminate.
(path_conv::clear_normalized_path): Ditto.
(path_conv::return_and_clear_normalized_path): Declare new method.
2002-05-24 05:44:10 +00:00
Jeff Johnston 7a364eb364 2002-05-23 Jeff Johnston <jjohnstn@redhat.com>
* libc/string/Makefile.am: Add support for strsep.c.
        * libc/string/Makefile.in: Regenerated.
        * libc/string/strsep.c: New file.
        * libc/string/strtok.c: Change to call __strtok_r service routine.
        * libc/string/strtok_r.c: Add __strtok_r routine which takes
        additional flag parameter regarding whether to skip leading delimeters.
        Change strtok_r to call __strtok_r.
2002-05-24 00:13:57 +00:00
Andrew Cagney bb2b4dedc6 * sim-d10v.h: Delete file. Moved to include/gdb/.
* sim-d10v.h: New file.  Moved from include/sim-d10v.h.

* Makefile.in (INCLUDE): Add "gdb/sim-d10v.h".
* interp.c: Include "gdb/sim-d10v.h" instead of "sim-d10v.h".

* d10v-tdep.c: Include "gdb/sim-d10v.h" instead of "sim-d10v.h".
* Makefile.in (sim_d10v_h): Update definition.
2002-05-24 00:12:18 +00:00
Jeff Johnston 164ee5b054 2002-05-23 Gareth Pearce <tilps@hotmail.com>
* libc/stdio/Makefile.am: Modify to add setbuffer.c and setlinebuf.c.
        * libc/stdio/Makefile.in: Regenerated.
        * libc/stdio/setbuffer.c: New file.
        * libc/stdio/setlinebuf.c: New file.
2002-05-23 22:05:54 +00:00
Christopher Faylor b4bb31ad55 * path.cc (path_conv::check): Make sure any trailing path component is part of
potential normalized posix path.
2002-05-23 20:01:46 +00:00
Jeff Johnston f6b2b56722 2002-05-23 Jeff Johnston <jjohnstn@redhat.com>
* libc/sys/linux/Makefile.am: Add resource.c.
        * libc/sys/linux/Makefile.in: Regenerated.
        * libc/sys/linux/resource.c: New file.
        * libc/sys/linux/time.c: Add settimeofday, getitimer, and setitimer.
        * libc/sys/linux/machine/i386/Makefile.am: Remove syscalls.c.
        * libc/sys/linux/machine/i386/Makefile.in: Regenerated.
        * libc/sys/linux/machine/i386/syscalls.c: Removed as functions
        are now found in libc/sys/linux/resource.c.
2002-05-23 19:52:46 +00:00
Jeff Johnston afe5651795 2002-05-23 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/string.h (bcmp, bcopy, bzero): Change prototypes
        to use void * pointers and comply with Single Unix spec.
        * libc/string/bcmp.c: Change to use void * instead of char *.
        * libc/string/bcopy.c: Ditto.
        * libc/string/bzero.c: Ditto.
2002-05-23 18:46:04 +00:00
Jakub Jelinek 7078175474 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
for symbols from SHF_TLS section.
	(_bfd_elf_print_private_bfd_data): Add PT_TLS.
	(elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
	(map_sections_to_segments): Build PT_TLS segment if necessary.
	(assign_file_positions_for_segments): Likewise.
	(get_program_header_size): Account for PT_TLS segment.
	(swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
	SEC_THREAD_LOCAL sections to STT_TLS.
	* reloc.c: Add 386 and IA-64 TLS relocs.
	* section.c (SEC_THREAD_LOCAL): Define.
	(SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
	Remove.
	* elflink.h (elf_link_add_object_symbols): Support .tcommon.
	(size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
	unconditionally.
	(struct elf_final_link_info): Add first_tls_sec.
	(elf_bfd_final_link): Set first_tls_sec.
	Compute elf_hash_table (info)->tls_segment.
	(elf_link_output_extsym): Handle STT_TLS symbols.
	(elf_link_input_bfd): Likewise.
	* syms.c (BSF_THREAD_LOCAL): Define.
	* bfd-in2.h: Rebuilt.
	* libbfd.h: Rebuilt.
	* elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
	elf_i386_mkobject, elf_i386_object_p): New functions.
	(elf_howto_table): Add TLS relocs.
	(elf_i386_reloc_type_lookup): Support TLS relocs.
	(elf_i386_info_to_howto_rel): Likewise.
	(struct elf_i386_link_hash_entry): Add tls_type.
	(struct elf_i386_obj_tdata): New.
	(elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
	New macros.
	(struct elf_i386_link_hash_table): Add tls_ldm_got.
	(link_hash_newfunc): Clear tls_type.
	(elf_i386_check_relocs): Support TLS relocs.
	(elf_i386_gc_sweep_hook): Likewise.
	(allocate_dynrelocs): Likewise.
	(elf_i386_size_dynamic_sections): Likewise.
	(elf_i386_relocate_section): Likewise.
	(elf_i386_finish_dynamic_symbol): Likewise.
	(bfd_elf32_mkobject, elf_backend_object_p): Define.
	* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
	dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
	want_tprel, want_dtpmod, want_dtprel.
	(elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
	(ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
	R_IA64_LTOFF_TPREL22.
	(elf_code_to_howto_index): Add TLS relocs.
	(elfNN_ia64_check_relocs): Support TLS relocs.
	(allocate_global_data_got): Account for TLS .got data.
	(allocate_dynrel_entries): Account for TLS dynamic relocations.
	(elfNN_ia64_install_value): Supprt TLS relocs.
	(set_got_entry): Support TLS relocs.
	(elfNN_ia64_relocate_section): Likewise.

	* config/obj-elf.c (elf_common): Renamed from obj_elf_common.
	(obj_elf_common): Call elf_common.
	(obj_elf_tls_common): New function.
	(elf_pseudo_tab): Support .tls_common.
	(special_sections): Add .tdata and .tbss.
	(obj_elf_change_section): Set SEC_THREAD_LOCAL for SHF_TLS
	sections.
	(obj_elf_parse_section_letters): Support T in section flags (SHF_TLS).
	(obj_elf_parse_section_letters): Include T in error message.
	* config/tc-ppc.c (ppc_section_letter): Likewise.
	* config/tc-alpha.c (alpha_elf_section_letter): Likewise.
	(tc_gen_reloc): Handle SEC_THREAD_LOCAL the same way as
	SEC_MERGE.
	* config/tc-sparc.c (md_apply_fix3): Likewise.
	* config/tc-i386.c (tc_i386_fix_adjustable): Add TLS relocs.
	Define them if not BFD_ASSEMBLER.
	(lex_got): Support @TLSGD, @TLSLDM, @GOTTPOFF, @TPOFF, @DTPOFF
	and @NTPOFF.
	(md_apply_fix3): Add TLS relocs.
	* config/tc-ia64.c (enum reloc_func): Add FUNC_DTP_MODULE,
	FUNC_DTP_RELATIVE, FUNC_TP_RELATIVE, FUNC_LT_DTP_MODULE,
	FUNC_LT_DTP_RELATIVE, FUNC_LT_TP_RELATIVE.
	(pseudo_func): Support @dtpmod(), @dtprel() and @tprel().
	(ia64_elf_section_letter): Include T in error message.
	(md_begin): Support TLS operators.
	(md_operand): Likewise.
	(ia64_gen_real_reloc_type): Support TLS relocs.
	* testsuite/gas/i386/tlspic.s: New file.
	* testsuite/gas/i386/tlsd.s: New file.
	* testsuite/gas/i386/tlsnopic.s: New file.
	* testsuite/gas/i386/tlsd.d: New file.
	* testsuite/gas/i386/tlsnopic.d: New file.
	* testsuite/gas/i386/tlspic.d: New file.
	* testsuite/gas/i386/i386.exp: Add tlsd, tlsnopic and tlspic tests.
	* testsuite/gas/ia64/tls.s: New file.
	* testsuite/gas/ia64/tls.d: New file.
	* testsuite/gas/ia64/ia64.exp: Add tls test.
	* write.c (adjust_reloc_syms): Don't change symbols in
	SEC_THREAD_LOCAL sections to STT_SECTION + addend.

	* elf/common.h (PT_TLS, SHF_TLS, STT_TLS, DF_STATIC_TLS): Define.
	* elf/ia64.h (R_IA64_LTOFF_TPREL22): Renamed from R_IA64_LTOFF_TP22.
	* elf/i386.h: Add TLS relocs.

	* scripttempl/elf.sc: Add .rel{,a}.t{bss,data}, .tdata and .tbss.
	* ldlang.c (lang_add_section): Set SEC_THREAD_LOCAL for
	output section if necessary.  Handle .tbss.
	(lang_size_sections): Clear _raw_size for .tbss section
	(it allocates space in PT_TLS segment only).
	* ldwrite.c (build_link_order): Build link order for .tbss too.

	* readelf.c (get_segment_type): Add PT_TLS.
	(get_elf_section_flags): Add SHF_TLS.
	(get_dynamic_flags): Optimize.  Add DF_STATIC_TLS.
	(process_dynamic_segment): Use puts instead of printf.
	(get_symbol_type): Support STT_TLS.
	* objdump.c (dump_section_header): Remove SEC_CONSTRUCTOR_TEXT,
	SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS.
	Add SEC_THREAD_LOCAL.
2002-05-23 13:12:52 +00:00
Corinna Vinschen 82d178a405 * getfacl.c (usage): Standardize usage output. Change return type to
static void.
	(print_version): New function.
	(longopts): Added longopts for all options.
	(main): Accommodate new help and version options.
2002-05-23 10:56:57 +00:00
Christopher Faylor b2f338e9a9 * smallprint.c (__small_vsprintf): Implement '%o' after all these years. 2002-05-23 06:00:49 +00:00
Christopher Faylor ff7b1ed927 fix typo. 2002-05-23 04:48:03 +00:00
Christopher Faylor 8704ad9da9 * mount.cc (version) New global variable.
(usage) Standardize usage output.  Accomodate new version option.
(print_version) New function.
(longopts) Accomodate new version option.
(opts) Ditto.
(main) Ditto.
2002-05-23 04:19:07 +00:00
Christopher Faylor fc240f584b * fhandler.h (fhandler_virtual::exists): Eliminate path argument.
(fhandler_proc::exists): Ditto.
(fhandler_registry::exists): Ditto.
(fhandler_process::exists): Ditto.
* fhandler_proc.cc (fhandler_proc::exists): Ditto.  Use built-in name.
* fhandler_process.cc (fhandler_process::exists): Ditto.
(fstat): Ditto.
* fhandler_registry.cc (fhandler_registry::exists): Ditto.
(fhandler_registry::fstat): Ditto.
* fhandler_virtual.cc (fhandler_virtual::opendir): Ditto.
* path.cc (path_conv::check): Ditto.  Add debugging.
* syscalls.cc (dup): Always call dup2 for error handling.
2002-05-22 22:09:58 +00:00
DJ Delorie 41dc939161 * acinclude.m4: Allow for PWDCMD to override hardcoded pwd. 2002-05-22 21:06:53 +00:00
Jeff Johnston 7736feb276 2002-05-22 Jeff Johnston <jjohnstn@redhat.com>
* libc/sys/linux/shm_open.c: New file.
        * libc/sys/linux/shm_unlink.c: Ditto.
        * libc/sys/linux/Makefile.am: Add support for shm_open.c and
        shm_unlink.c.
        * libc/sys/linux/Makefile.in: Regenerated.
        * libc/sys/linux/sys/types.h: Add some additional checks to see
        if clock_t or time_t is already defined.
2002-05-22 20:26:28 +00:00
Jason Thorpe 613251a46d * config.guess: Update to 2002-05-22 version.
* config.sub: Likewise.
2002-05-22 18:36:13 +00:00
Jeff Johnston 19f111bd75 2002-05-22 Jeff Johnston <jjohnstn@redhat.com>
* Makefile.am: Don't pass $toollibdir down directly in
        AM_MAKEFLAGS as it causes all multilibs to use the same toollibdir.
        Pass it under the name: top_toollibdir.
        * Makefile.in: Regenerated.
2002-05-22 18:25:12 +00:00
Corinna Vinschen 1d2b71d6a3 * include/cygwin/types.h: Revert previous patch. 2002-05-22 12:47:54 +00:00
Corinna Vinschen c811b1ee20 * libc/include/sys/types.h: Revert previous patch. 2002-05-22 12:34:12 +00:00
Corinna Vinschen 2b43ad332f * libc/include/sys/types.h: Include cygwin/types.h always under
Cygwin, not only if _POSIX_THREADS is defined.
2002-05-22 11:39:07 +00:00
Corinna Vinschen 36f86a5537 * include/cygwin/types.h: Define pthread stuff only if _POSIX_THREADS
is defined.
2002-05-22 10:33:39 +00:00