733b554b20* cygpath.cc (do_pathconv): when -p option is given, generate wide path without long path prefixing. * wide_path.h (wide_path::wide_path): Allow extra bool parameter to specify whether or not performing Windows long path prefixing.
Corinna Vinschen
2013-06-26 13:10:35 +0000
bce06a5f2f[AArch64, ILP32] 3/6 Support for ELF32 relocs and refactor reloc handling
Yufeng Zhang
2013-06-26 10:47:06 +0000
aa688bddb4include/opcode/ * mips.h: Fix comment for "1": it is now STYPE rather than SHAMT. Use "source" rather than "destination" for microMIPS "G".
Richard Sandiford
2013-06-26 07:04:57 +0000
c2fff7408ebfd/ * elfxx-mips.h (_bfd_mips_elf_insn32): New prototype. * elfxx-mips.c (mips_elf_link_hash_table): Add insn32 member. (STUB_MOVE32_MICROMIPS, STUB_JALR32_MICROMIPS): New macros. (MICROMIPS_INSN32_FUNCTION_STUB_NORMAL_SIZE): Likewise. (MICROMIPS_INSN32_FUNCTION_STUB_BIG_SIZE): Likewise. (micromips_insn32_o32_exec_plt0_entry): New variable. (micromips_insn32_o32_exec_plt_entry): Likewise. (_bfd_mips_elf_adjust_dynamic_symbol): Handle insn32 mode. (mips_elf_estimate_stub_size): Likewise. (_bfd_mips_elf_size_dynamic_sections): Likewise. (_bfd_mips_elf_finish_dynamic_symbol): Likewise. (mips_finish_exec_plt): Likewise. (_bfd_mips_elf_relax_section): Likewise. (_bfd_mips_elf_insn32): New function. (_bfd_mips_elf_get_synthetic_symtab): Handle insn32 PLT.
Maciej W. Rozycki
2013-06-25 18:02:34 +0000
15b1ed6dc7* aarch64/crt0.S (GEN_DWORD): New macro definition. (PTR_REG): Ditto. (PTR_SIZE): Ditto. (PTR_LOG_SIZE): Ditto. (start): Use GEN_DWORD to replace the .dword of HeapBase, __bss_start__, __bss_end__, FUNCTION(_fini), env and CommandLine; when __ILP32__ is defined, set the stack base to the top end of the 32-bit address space if the returned value from the Angel API call is larger than or equal to 4 GiB. Also carry out sanity check on the heap base; abort if the base is larger than or equal to 4 GiB. Use other new macros in the instructions that processes the argv arrays. (StackBase): New lable; replace __stack_base__. (__stack_base__): Set with StackBase or StackBase + 4.
Corinna Vinschen
2013-06-25 12:06:15 +0000
c024ce1422bfd/ * elfxx-mips.h (_bfd_mips_elf_get_synthetic_symtab): New prototype. * elf32-mips.c (elf_backend_plt_sym_val): Remove macro. (bfd_elf32_get_synthetic_symtab): New macro. * elfxx-mips.c (plt_entry): New structure. (mips_elf_link_hash_entry): Add use_plt_entry member. (mips_elf_link_hash_table): Rename plt_entry_size member to plt_mips_entry_size. Add plt_comp_entry_size, plt_mips_offset, plt_comp_offset, plt_got_index entries and plt_header_is_comp members. (STUB_LW_MICROMIPS, STUB_MOVE_MICROMIPS): New macros. (STUB_LUI_MICROMIPS, STUB_JALR_MICROMIPS): Likewise. (STUB_ORI_MICROMIPS, STUB_LI16U_MICROMIPS): Likewise. (STUB_LI16S_MICROMIPS): Likewise. (MICROMIPS_FUNCTION_STUB_NORMAL_SIZE): Likewise. (MICROMIPS_FUNCTION_STUB_BIG_SIZE): Likewise. (micromips_o32_exec_plt0_entry): New variable. (mips16_o32_exec_plt_entry): Likewise. (micromips_o32_exec_plt_entry): Likewise. (mips_elf_link_hash_newfunc): Initialize use_plt_entry. (mips_elf_output_extsym): Update to use gotplt_union's plist member rather than offset. (mips_elf_gotplt_index): Likewise. Remove the VxWorks restriction. Use MIPS_ELF_GOT_SIZE to calculate GOT address. (mips_elf_count_got_symbols): Update to use gotplt_union's plist member rather than offset. (mips_elf_calculate_relocation): Handle MIPS16/microMIPS PLT entries. (_bfd_mips_elf_create_dynamic_sections): Don't set PLT sizes here. (mips_elf_make_plt_record): New function. (_bfd_mips_elf_check_relocs): Update comment. Record occurences of JAL relocations that might need a PLT entry. (_bfd_mips_elf_adjust_dynamic_symbol): Update to use gotplt_union's plist member rather than offset. Set individual PLT entry sizes here. Handle MIPS16/microMIPS PLT entries. Don't set the symbol's value in the symbol table for PLT references here. Don't set the PLT or PLT GOT section sizes here. (mips_elf_estimate_stub_size): Handle microMIPS stubs. (mips_elf_allocate_lazy_stub): Likewise. (mips_elf_lay_out_lazy_stubs): Likewise. Define a _MIPS_STUBS_ magic symbol. (mips_elf_set_plt_sym_value): New function. (_bfd_mips_elf_size_dynamic_sections): Set PLT header size and PLT and PLT GOT section sizes here. Set the symbol values in the symbol table for PLT references here. Handle microMIPS annotation of the _PROCEDURE_LINKAGE_TABLE_ magic symbol. (_bfd_mips_elf_finish_dynamic_symbol): Update to use gotplt_union's plist member rather than offset. Handle MIPS16/microMIPS PLT entries. Handle microMIPS stubs. (_bfd_mips_vxworks_finish_dynamic_symbol): Update to use gotplt_union's plist member rather than offset. Use MIPS_ELF_GOT_SIZE to calculate GOT address. (mips_finish_exec_plt): Handle microMIPS PLT. Return status. (_bfd_mips_elf_finish_dynamic_sections): Handle result from mips_finish_exec_plt. (_bfd_mips_elf_link_hash_table_create): Update to use gotplt_union's plist member rather than offset. (_bfd_mips_elf_get_synthetic_symtab): New function.
Maciej W. Rozycki
2013-06-24 23:55:45 +0000
37ee5b49af* spawn.cc (child_info_spawn::worker): Eliminate call to newargv.set() in favor of conglomerated newargv.setup(). Let newargv.setup() decide when to call dup_all(). Only set argc and argv for cygwin processes. (av::setup): Rename from av::fixup. Accept argc and argv parameters. Fill out argv and argc here. Duplicate whole argv structure when this is a Cygwin executable. * winf.cc (linebuf::fromargv): Don't bother duplicating argv elements since they will never be used. * winf.h (av::set): Delete. (av::setup): Rename from av::fixup. Add two parameters. (av::replace0_maybe): Assign calloced to 1 rather than 'true' for clarity. (av::dup_maybe): Delete. (av::dup_all): Set calloced to show that we have duplicated all of the arguments in the list.
Christopher Faylor
2013-06-19 16:00:43 +0000
82c19d335a* acconfig.h (_UNBUF_STREAM_OPT): Undefine. * newlib.hin (_UNBUF_STREAM_OPT): Undefine. * configure.in (--enable-newlib-unbuf-stream-opt): New option. * configure: Regenerate. * libc/stdio/vfprintf.c (_VFPRINTF_R): Don't do optimization on unbuffered stream files. * libc/stdio/vfwprintf.c (_VFWPRINTF_R): Likewise. * README: Add description about the option. * newlib.hin (_UNBUF_STREAM_OPT): Undefine. * configure.in (--enable-newlib-unbuf-stream-opt): New option. * configure: Regenerate. * libc/stdio/vfprintf.c (_VFPRINTF_R): Don't do optimization on unbuffered stream files. * libc/stdio/vfwprintf.c (_VFWPRINTF_R): Likewise. * README: Add description about the option.
Corinna Vinschen
2013-06-19 15:58:50 +0000
c1d6d05470* nlsfuncs.cc (__collate_range_cmp): Convert input to wchar_t and call wcscoll since all calling functions are using wide chars. Explain in preceeding comment.
Corinna Vinschen
2013-06-19 15:24:48 +0000
9e8cf6ebbd* spawn.cc (child_info_spawn::worker): Eliminate wascygexec.
Christopher Faylor
2013-06-19 14:39:00 +0000
92d098c9caaarch64: Revert AArch64 ifunc changes.
Will Newton
2013-06-19 10:30:56 +0000
f2407e2210* faq-using.xml (faq.using.multiple-copies): Modernize to reflect installation separation since Cygwin 1.7. (faq.using.third-party.multiple-copies): Ditto.
Corinna Vinschen
2013-06-19 08:42:48 +0000
9a52d79f10* dcrt0.cc (child_info_fork::alloc_stack): Don't subtract 4096 from stack pointer since getstack() already does that.
Christopher Faylor
2013-06-19 05:06:35 +0000
0b527c249c2013-06-17 Catherine Moore <clm@codesourcery.com> Maciej W. Rozycki <macro@codesourcery.com> Chao-Ying Fu <fu@mips.com>
Catherine Moore
2013-06-17 22:59:10 +0000
f4ddbb8ebf* times.cc (GetSystemTimePreciseAsFileTime): Add comment to declaration. (__to_clock_t): Remove a debug_printf. (times): Align syscall_printf to debug output of other system calls.
Corinna Vinschen
2013-06-17 08:33:41 +0000
2e72b72fcc* cygwinenv.xml: Fix link to FAQ.
Corinna Vinschen
2013-06-17 08:29:34 +0000
7584fa98d4* autoload.cc (GetSystemTimePreciseAsFileTime): Define. * times.cc (GetSystemTimePreciseAsFileTime): Temporarily declare here to workaround missing definition in 32 bit w32api headers. (get_system_time): New always inline function to call either GetSystemTimePreciseAsFileTime or GetSystemTimeAsFileTime on a per OS basis. Call throughout instead of GetSystemTimeAsFileTime. * wincap.h (wincaps::has_precise_system_time): New element. * wincap.cc: Implement above element throughout.
Corinna Vinschen
2013-06-14 15:41:17 +0000
0ff057d5a5Streamline time/times functionality. Remove last remains of former Windows 9x compatibility. * fhandler_disk_file.cc (fhandler_base::fstat_helper): Drop now unneeded casts in calls to_timestruc_t. (fhandler_base::utimens_fs): Ditto for timespec_to_filetime. * fhandler_proc.cc (format_proc_stat): Ditto for to_time_t. * hires.h (class hires_ms): Remove unused member initime_ns. Remove declarations for timeGetTime_ns and prime. (hires_ms::uptime): Remove. * posix_ipc.cc (ipc_cond_timedwait): Ditto for timespec_to_filetime. * fhandler_registry.cc (fhandler_registry::fstat): Add cast. * resource.cc (fill_rusage): Call NtQueryInformationProcess rather than GetProcessTimes to deal with LARGE_INTEGER rather than FILETIME. * times.cc: Simplify time handling. Throughout, use LARGE_INTEGER rather than FILETIME to simplify computations. Throughout use {u}int64_t rather than {unsigned} long long. Drop unneeded casts since NSPERSEC is 64 bit anyway. (systime_ns): Remove. (times): Call NtQuerySystemInformation to fetch boot time. Call NtQueryInformationProcess rather than GetProcessTimes to deal with LARGE_INTEGER rather than FILETIME. Call GetSystemTimeAsFileTime. (totimeval): Use constant 1000000 as in other functions. (time_t_to_filetime): Remove. (to_time_t): Change return type to time_t. (time_as_timestruc_t): Rename filetime to systime. (time): Ditto. Add cast. (hires_ns::nsecs): Fix return type cast. (hires_ms::timeGetTime_ns): Remove. (hires_ns::prime): Remove. (hires_ms::nsecs): Drop call to prime. Call GetSystemTimeAsFileTime directly. Subtract FACTOR here since it's the only function needing to do so. (minperiod): Cosmetically change to ULONG. (hires_ns::resolution): Fix return type cast. (hires_ms::resolution): Simplify, rely on NtQueryTimerResolution. * winsup.h: Align time related prototypes to above changes.
Corinna Vinschen
2013-06-14 09:09:41 +0000
ba763af559* net.cc (gen_old_if_name): New function to generate short interface names for old pre-1.7 applications. (get_ifs): Call gen_old_if_name for said old applications.
Corinna Vinschen
2013-06-13 19:37:14 +0000
f06d6d2886* posix.sgml (fcntl, flock, lockf): Point to implementation notes.
Corinna Vinschen
2013-06-13 12:50:28 +0000
0b8722c2db* path.cc (normalize_posix_path): Fix long-standing problem which allows to access files via ".." using an invalid POSIX path.
Corinna Vinschen
2013-06-12 17:45:42 +0000
e9c0122ec0* libc/stdlib/gdtoa-gethex.c (__hexdig): Constify. (hexdig_init): Remove. (__hexdig_fun): New function. hexdig_init, added __hexdig_fun (gethex): Call __get_hexdig macro rather than hexdig. * libc/stdlib/gdtoa-hexnan.c (hexnan): Constify fpi argument. Call __get_hexdig macro rather than hexdig. * libc/stdlib/ldtoa.c: Throughout constify functions arguments where required by constifying the following arrays. (ezero): Constify. (eone): Constify. (ermsg): Constify. (etens): Constify. (emtens): Constify. (nan113): Constify. (nan64): Constify. (nan53): Constify. (nan24): Constify. * libc/stdlib/mprec.h (__get_hexdig): Define. (gethex): Constify args in declaration where appropriate. (hexnan): Ditto. (hexdig_init): Remove declaration. (__hexdig_fun): Declare. * libc/stdlib/strtod.c (fpi): Constify. (fpinan): Constify.
Corinna Vinschen
2013-06-10 15:27:43 +0000
d7e4267f45clarify entry
Christopher Faylor
2013-06-08 16:55:29 +0000
62003f180a* exceptions.cc (try_to_debug): Don't use yield() when waiting for another process. (sigpacket::setup_handler): Fix long-standing problem where loop could exit with lock held.
Christopher Faylor
2013-06-08 16:54:41 +0000
1952976a1b* miscfuncs.cc (yield): Revert (after researching) to calling SleepEx with 0. We don't want to actually sleep when calling this function.
Christopher Faylor
2013-06-08 16:39:52 +0000
1eaf9215cbrevert accidentally checked in files
Christopher Faylor
2013-06-08 14:42:44 +0000
5d35299e51* cygwait.cc (cygwait): Remove lock around sig retrieval since this code is essentially guarded by thread-specific signal_arrived. * exceptions.cc (_cygtls::handle_SIGCONT): Simplify. Eliminate lock/unlock since code is guarded by signal_arrived.
Christopher Faylor
2013-06-08 14:38:20 +0000
ebf488e1abgas/ 2013-06-08 Catherine Moore <clm@codesourcery.com>
Richard Sandiford
2013-06-08 10:22:55 +0000
0d284dd0c1aarch64: Add support for GNU indirect functions.
Will Newton
2013-06-07 18:57:00 +0000
da6461a4d5* exceptions.cc (_cygtls::handle_SIGCONT): Reinstate previous behavior but make sure that yield() isn't called when signal stack is locked.
Christopher Faylor
2013-06-07 17:09:56 +0000
000e74dfd5* fhandler_disk_file.cc (fhandler_disk_file::pread): Skip to non-atomic code if mandatory locking is used on this descriptor. Explain why. (fhandler_disk_file::pwrite): Ditto. * posix.sgml (std-notes): Extend description of file locking.
Corinna Vinschen
2013-06-07 08:28:25 +0000
fc316f3a8e* mips.h (ELF_ST_SET_MIPS_PIC): Clear any STO_MIPS16 setting.
Maciej W. Rozycki
2013-06-06 22:09:07 +0000
b3f0fb6baa* exceptions.cc (_cygtls::handle_SIGCONT): Simplify loop waiting for sig_handle_tty_stop to wake up. Make sure to unlock before calling yield to avoid starvation of sig_handle_tty_stop. Add comments. * miscfuncs.cc (yield): Explain why yield should never be called under _cygtls::lock conditions. Call SleepEx with 1ms timeout. Explain why.
Corinna Vinschen
2013-06-06 15:29:41 +0000
925e1c8157* libc/machine/arm/strcmp.S: Use local labels.
Corinna Vinschen
2013-06-05 09:41:21 +0000
c0096b6069* Makefile.in: Add rule to rebuild Makefile if Makefile.in changes. Include Makefile.dep last. (Makefile.dep): Run xidepend within source dir. Temporarily drop faq.xml from dependencies. * xidepend: Fix creating base filename to accommodate VPATH.
Corinna Vinschen
2013-06-04 11:50:41 +0000
a0238d7084* new-features.xml (ov-new1.7.19): Align mandatory locking text to today's changes.
Corinna Vinschen
2013-06-04 11:14:34 +0000
edd73646f3* fhandler.cc (fhandler_base::lock): Move to flock.cc. (fhandler_base::fixup_after_exec): Reset mandatory_locking. * fhandler.h (class fhandler_base): Add mandatory_locking status flag. Add mandatory_locking accessor methods. Accommodate change throughout. (fhandler_base::mand_lock): Declare. (class fhandler_disk_file): Drop in favor of new status flag. * (fhandler_disk_file::fcntl): Call need_fork_fixup if mandatory_locking flag gets set. * flock.cc (fhandler_base::lock): Define here. (flock): Handle mandatory_locking. (lockf): Ditto. (fhandler_base::mand_lock): Define.
Corinna Vinschen
2013-06-04 10:24:43 +0000
ca1dd3a9b52013-06-03 Joey Ye <joey.ye@arm.com>
Richard Earnshaw
2013-06-03 14:02:10 +0000
a24ad2c346* autoload.cc (CancelSynchronousIo): Define. * fcntl.cc (fcntl64): Drop handling of locking commands. * fhandler.h (class fhandler_disk_file): Add mandatory_locking. (fhandler_disk_file::fcntl): Declare. (fhandler_disk_file::mand_lock): Declare. * fhandler_disk_file.cc (fhandler_disk_file::fhandler_disk_file): Initialize mandatory_locking. (fhandler_disk_file::fcntl): New method. Handle F_LCK_MANDATORY and locking commands. (fhandler_disk_file::dup): Duplicate mandatory_locking. Fix a bug when duplicating prw_handle failed. (fhandler_disk_file::fixup_after_fork): Reset mandatory_locking. * flock.cc (fhandler_disk_file::lock): Add comment. (struct lock_parms): New struct to pass parameters to blocking_lock_thr thread function. (blocking_lock_thr): New thread function. (fhandler_disk_file::mand_lock): New methof implementing mandatory locking with Windows semantics. * ntdll.h (NtLockFile): Declare. (NtUnlockFile): Declare. * include/fcntl.h: Fix a comment. (F_LCK_MANDATORY): Define. Add lengthy comment to explain.
Corinna Vinschen
2013-06-02 10:22:14 +0000
fa35814af1* exceptions.cc (exception::handle): Resurrect accidentally lost patch from 2009-07-22: Set si_addr according to POSIX for SIGSEGV.
Corinna Vinschen
2013-06-02 09:11:09 +0000
01ab5147dd* gas/config/tc-avr.c: Change ISA for devices with USB support to AVR_ISA_XMEGAU
Denis Chertykov
2013-06-01 07:14:44 +0000
9fccd63bc3* include/cygwin/if.h: Include cygwin/socket.h rather than sys/socket.h to avoid circular dependency resulting in bogus compile time warnings.
Corinna Vinschen
2013-05-31 08:40:35 +0000
d15bce48e72013-05-30 Jeff Johnston <jjohnstn@redhat.com>
Jeff Johnston
2013-05-30 22:44:41 +0000
6d28d61df02013-05-30 Jeff Johnston <jjohnstn@redhat.com>
Jeff Johnston
2013-05-30 22:44:04 +0000
ac1f751fef2013-05-30 Paul Brook <paul@codesourcery.com>
Catherine Moore
2013-05-30 20:27:21 +0000
a83263b981* configure.in (--enable-newlib-nano-malloc): New option. * configure: Regenerated. * libc/configure.in (--enable-newlib-nano-malloc): New option. * libc/configure: Regenerated. * libc/stdlib/Makefile.am (NEWLIB_NANO_MALLOC): Use. * libc/stdlib/Makefile.in: Regenerated. * libc/stdlib/nano-mallocr.c: New file, implementing nano version malloc family functions.
Corinna Vinschen
2013-05-29 12:37:59 +0000
6b6cafe933Correct the relocation names for R_AARCH64_TLSDESC_LD_PREL19 and R_AARCH64_TLSDESC_ADR_PAGE21.
Yufeng Zhang
2013-05-28 16:39:51 +0000
b09e6ec935* fhandler_procsys.cc (fhandler_procsys::read): Just call fhandler_base::raw_read from here. Drop comment. (fhandler_procsys::write): Drop comment.
Corinna Vinschen
2013-05-28 15:07:01 +0000
ef05ad03f2* libc/macine/arm/strcpy.S: Explicitly set build attributes when building for thumb1 targets.
Richard Earnshaw
2013-05-28 12:43:48 +0000
27a21b38c0* dll_init.cc (dll_list::topsort): Fix early-return condition to accommodate process with all runtime loaded DLLs already dlclosed at fork time. * gendef (_sigfe_maybe): Fix code handling early return if we don't have a tls, broken on 2013-05-21.
Corinna Vinschen
2013-05-27 19:31:04 +0000
10ce3cd70a* Makefile.in (DEFS): Unused, remove. (COMPILE.cc): Move -mno-use-libstdc-wrappers flag from here... ($(TEST_DLL_NAME)): ...to here since it's a link time flag.
Corinna Vinschen
2013-05-24 21:12:16 +0000
1a5dfe8ae0* environ.cc (win_env::add_cache): Set the Windows environment variable using wide chars to make sure native chars don't get scrambled. * environ.h (build_env): Fix formatting in declaration. * pinfo.cc (pinfo::status_exit): Handle STATUS_NO_MEMORY. Explain why.
Corinna Vinschen
2013-05-24 13:32:10 +0000