Corinna Vinschen [Fri, 13 Feb 2009 12:19:25 +0000 (12:19 +0000)]
* posix.sgml: Move interfaces deprecated in SUSv4 to deprecated
interfaces section. Move interfaces added in SUSv4 to SUSv4
section or, if unimplemented, add them to the unimplemented interfaces
section.
Corinna Vinschen [Fri, 13 Feb 2009 11:33:32 +0000 (11:33 +0000)]
* posix.sgml: Merge SUSv3 and SUSv4 section into a single SUSv4 section.
Move Solaris calls now in SUSv4 to SUSv4 section. Rename unimplemented
section to refer to SUSv4. Add note about missing interfaces.
Move wcstod and wcstof from unimplemented to SUSv4 section.
* fhandler_floppy.cc (fhandler_dev_floppy::open): Fix format. Add
code to allow to read disk and CD/DVD devices in full length. Explain
why.
(fhandler_dev_floppy::raw_read): Add current position to debug output.
* include/sys/sched.h: New stub file to override newlib file with
clashing definitions.
* fhandler_proc.cc (proc_tab): Add entry for mounts symlink.
(format_proc_mounts): New function to implement mounts symlink.
* fhandler_process.cc (process_tab): Add entry for mounts file.
(format_process_mounts): New function to implement mounts file.
Nick Clifton [Tue, 3 Feb 2009 14:36:47 +0000 (14:36 +0000)]
M68K TLS support.
ld/testsuite/
* ld-m68k/got-multigot-12-13-14-34-35-ok.d: Update.
* ld-m68k/got-multigot-14-ok.d: Update.
* ld-m68k/m68k-got.exp: Update.
* ld-m68k/got-negative-12-13-14-34-ok.d: Update.
* ld-m68k/got-negative-14-ok.d: Update.
* ld-m68k/tls-gd-1.d, ld-m68k/tls-gd-2.d: New tests.
* ld-m68k/tls-gd-ie-1.d, ld-m68k/tls-ie-1.d: New tests.
* ld-m68k/tls-ld-1.d, ld-m68k/tls-ld-2.d: New tests.
* ld-m68k/tls-ld-1.s, ld-m68k/tls-ld-2.s, ld-m68k/tls-le-1.s:
New test sources.
* ld-m68k/tls-no-1.s, ld-m68k/tls-gd-ie-1.s, ld-m68k/tls-gd-1.s:
New test sources.
* ld-m68k/tls-gd-2.s, ld-m68k/tls-ie-1.s: New test sources.
* ld-m68k/m68k.exp: Run new tests.
(merge isa-a isa-a:nodiv): Fix.
gas/testsuite/
* gas/m68k/tls-gd-3.d, gas/m68k/tls-gd-3.s: New test.
* gas/m68k/all.exp: Run it.
gas/
* config/m68k-parse.h (enum pic_relocation): Add values for TLS
relocations.
* config/m68k-parse.y (yylex): Parse TLS relocations.
* config/tc-m68k.c (m68k_elf_cons): New static function.
(md_pseudo_table): Use it.
(get_reloc_code, tc_m68k_fix_adjustable, tc_gen_reloc): Handle TLS
relocations.
(md_apply_fix): Fix to set thread local flag.
(m68k_elf_suffix): New static function; helper for m68k_elf_cons.
include/elf/
* m68k.h: Map TLS relocations to numbers.
bfd/
* bfd-in2.h: Regenerate.
* elf32-m68k.c: Handle 2-slot GOT entries. Rename variables and
fields from n_entries to n_slots where appropriate, update comments.
(HOWTO): Add TLS relocations.
(reloc_map): Map BFD_RELOC_68K_TLS_* to R_68K_TLS_*.
(enum elf_m68k_got_offset_size): New enum.
(struct elf_m68k_got_entry.type): Move field to ...
(struct elf_m68k_got_entry_key): ... here. Update all uses.
(elf_m68k_reloc_got_type, elf_m68k_reloc_got_offset_size): New static
functions.
(elf_m68k_reloc_got_n_entries, elf_m68k_reloc_tls_p): New static
functions.
(struct elf_m68k_got): merge rel_8o_n_entries and rel_8o_16o_n_entries
fields into n_entries array. Update comments.
(elf_m68k_init_got): Simplify, update all uses.
(elf_m68k_init_got_entry_key): Handle R_68K_TLS_LDM32 reloc, update.
(ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT): Adjust to handle 2-slot
GOT entries; update name, update all uses.
(ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): Ditto.
(elf_m68k_get_got_entry): Update.
(elf_m68k_update_got_entry_type): Rewrite to handle TLS GOT entries,
simplify.
(elf_m68k_remove_got_entry_type): Simplify.
(elf_m68k_add_entry_to_got, elf_m68k_can_merge_gots_1): Update.
(elf_m68k_can_merge_gots): Update.
(elf_m68k_merge_gots_1, elf_m68k_merge_gots): Update.
(struct elf_m68k_finalize_got_offsets_arg): Rewrite to handle 2-slot
GOT entries, simplify.
(elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Same.
(struct elf_m68k_partition_multi_got_arg): Add slots_relas_diff
field, remove obsoleted local_n_entries field.
(elf_m68k_partition_multi_got_2): New static function.
(elf_m68k_partition_multi_got_1, elf_m68k_partition_multi_got): Use it;
update.
(elf_m68k_remove_got_entry_type): Update.
(elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
(elf_m68k_check_relocs): Handle TLS relocations. Remove unnecessary
update of sgot->size and srelgot->size.
(elf_m68k_gc_sweep_hook): Update.
(elf_m68k_install_rela, dtpoff_base, tpoff): New static functions.
(elf_m68k_relocate_section, elf_m68k_finish_dynamic_symbol): Handle
TLS relocations.
* reloc.c (BFD_RELOC_68K_TLS_*): Declare TLS relocations.
* libbfd.h (bfd_reloc_code_real_names): Add BFD_RELOC_68K_TLS_*.
Doug Evans [Mon, 2 Feb 2009 23:18:05 +0000 (23:18 +0000)]
* config/tcl.m4 (SC_PATH_TCLCONFIG): Don't exit 0 if tclconfig fails.
(SC_PATH_TKCONFIG): Don't exit 0 if tkconfig fails.
(SC_LOAD_TCLCONFIG): Quote all uses of TCL_BIN_DIR, it may contain
"# no Tcl configs found".
(SC_LOAD_TKCONFIG): Similarily for TK_BIN_DIR.
* gdb/configure.ac (gdbkt): Check both no_tcl/no_tk first, before
doing any further tcl/tk configury. Don't configure gdbtk if
tcl or tk check fails.
* gdb/aclocal.m4: Regenerate.
* gdb/configure: Regenerate.
* gdb/gdbtk/plugins/aclocal.m4: Regenerate.
* gdb/gdbtk/plugins/configure: Regenerate.
Corinna Vinschen [Thu, 29 Jan 2009 20:32:08 +0000 (20:32 +0000)]
* fhandler_disk_file.cc (fhandler_disk_file::readdir): Fix inode number
evaluation for faked "." entry.
* mount.cc (fs_info::update): Move setting of is_cdrom after checking
for caseinsensitivity. Recognize UDF in is_cdrom case and set
caseinsensitive flag according to UDF brokenness determined by OS.
Add comment to explain why.
* mount.h (class fs_info): Add is_udf status flag.
* path.cc (symlink_info::check): Add workaround for UDF bug in
terms of casesensitivity on certain OSes.
* wincap.h (wincaps::has_broken_udf): New element.
(wincaps::has_broken_udf): New element
Doug Evans [Thu, 29 Jan 2009 00:29:53 +0000 (00:29 +0000)]
* opcode/i386.h: Add multiple inclusion protection.
(EAX_REG_NUM,ECX_REG_NUM,EDX_REGNUM,EBX_REG_NUM,ESI_REG_NUM)
(EDI_REG_NUM): New macros.
(MODRM_MOD_FIELD,MODRM_REG_FIELD,MODRM_RM_FIELD): New macros.
(SIB_SCALE_FIELD,SIB_INDEX_FIELD,SIB_BASE_FIELD): New macros.
(REG_PREFIX_P): New macro.
* amd64-tdep.h (amd64_displaced_step_copy_insn): Declare.
(amd64_displaced_step_fixup): Declare.
* amd64-tdep.c: #include opcode/i386.h, dis-asm.h.
(amd64_arch_regmap): Move out of amd64_analyze_stack_align
and make static global.
(amd64_arch_regmap_len): New static global.
(amd64_arch_reg_to_regnum): New function.
(struct amd64_insn): New struct.
(struct displaced_step_closure): New struct.
(onebyte_has_modrm,twobyte_has_modrm): New static globals.
(rex_prefix_p,skip_prefixes)
(amd64_insn_length_fprintf,amd64_insn_length_init_dis)
(amd64_insn_length,amd64_get_unused_input_int_reg)
(amd64_get_insn_details,fixup_riprel,fixup_displaced_copy)
(amd64_displaced_step_copy_insn)
(amd64_absolute_jmp_p,amd64_absolute_call_p,amd64_ret_p)
(amd64_call_p,amd64_breakpoint_p,amd64_syscall_p)
(amd64_displaced_step_fixup): New functions.
* amd64-linux-tdep.c: #include arch-utils.h.
(amd64_linux_init_abi): Install displaced stepping support.
* gdb.arch/amd64-disp-step.S: New file.
* gdb.arch/amd64-disp-step.exp: New file.
* gdb.arch/i386-disp-step.S: New file.
* gdb.arch/i386-disp-step.exp: New file.
* fhandler.cc (fhandler_base::wait_overlapped): Set bytes to -1 on EINTR or
real error.
(fhandler_base::write_overlapped): Assume that bytes_written will contain
proper error value.
* pipe.cc (fhandler_pipe::fhandler_pipe): Set uninterruptible_io since signals
are handled by pipe functions now.
Corinna Vinschen [Mon, 26 Jan 2009 13:42:37 +0000 (13:42 +0000)]
* shared.cc (shared_name): New function for WCHAR names.
(open_shared): Take name parameter as WCHAR. Accommodate throughout.
* shared_info.h ((CURR_SHARED_MAGIC): Redefine.
(shared_name): Add declaration for function taking a WCHAR name.
(open_shared): Change declaration according to above change.
* pinfo.cc (pinfo::init) : Accommodate above change.
Corinna Vinschen [Mon, 26 Jan 2009 13:20:46 +0000 (13:20 +0000)]
* grp.cc (getgrgid_r): Simplify code by using stpcpy.
(getgrnam_r): Ditto.
* passwd.cc (getpwuid_r32): Simplify code by using stpcpy.
(getpwnam_r): Ditto.
Jeff Johnston [Thu, 22 Jan 2009 00:02:35 +0000 (00:02 +0000)]
2009-01-21 Richard Earnshaw <rearnsha@arm.com>
* libc/machine/arm/arm_asm.h: New file.
* libc/machine/arm/strlen.c: New file.
* libc/machine/arm/strcpy.c: New file.
* libc/machine/arm/strcmp.c: New file.
* libc/machine/arm/Makefile.am: Add new string routines.
* client.cc (allow_server): Remove variable.
(client_request_get_version::client_request_get_version): Drop checking
allow_server.
utils/ChangeLog:
* passwd.c: Remove CYGWIN=server requirement from usage text.
doc/ChangeLog:
* cygserver.sgml: Remove the "How to use the Cygserver services"
section.
* cygwinenv.sgml: Move "(no)server" to the removed options section.
* faq-programming.xml: Remove CYGWIN=server requirement for running
the Cygwin testsuite.
* ntsec.sgml: Ditto for using `passwd -R'.
Corinna Vinschen [Tue, 20 Jan 2009 17:22:11 +0000 (17:22 +0000)]
* devices.h (FH_PROCESSFD): New device type.
* dtable.cc (build_fh_pc): Add case for FH_PROCESSFD.
* fhandler.h (class fhandler_virtual): Drop bufalloc member.
* fhandler_virtual.h: New header.
* fhandler_proc.cc: Remove types proc_type_t and proc_tab_t in favor
of types virt_type_t and virt_tab_t from fhandler_virtual.h.
Change prototypes of format_XXX functions accordingly.
(proc_tab): Drop size member info.
(fhandler_proc::fill_filebuf): Don't allocate filebuf here. Allocate
it in the format_XXX functions.
* fhandler_process.cc: Reorganize global process content data into a
new struct virt_tab_t. Accommodate throughout.
(format_process_winexename): New function.
(format_process_winpid): New function.
(format_process_exename): New function.
(format_process_root): New function.
(format_process_cwd): New function.
(format_process_cmdline): New function.
(format_process_ppid): New function.
(format_process_uid): New function.
(format_process_pgid): New function.
(format_process_sid): New function.
(format_process_gid): New function.
(format_process_ctty): New function.
(format_process_fd): New function.
* fhandler_procnet.cc (fhandler_procnet::fill_filebuf): Don't use
bufalloc.
* fhandler_registry.cc (fhandler_registry::fill_filebuf): Define
bufalloc locally.
* fhandler_virtual.cc (fhandler_virtual::fhandler_virtual): Drop
initialization of bufalloc.
(fhandler_virtual::dup): Drop copying bufalloc.
Corinna Vinschen [Tue, 20 Jan 2009 12:40:31 +0000 (12:40 +0000)]
* thread.h (struct pthread_rwlock::RWLOCK_READER): Add counter n.
* thread.cc (pthread_rwlock::rdlock): If a thread already owns a
read lock, just count the number of locks for it, per SUSv4.
(pthread_rwlock::tryrdlock): Ditto.
(pthread_rwlock::unlock): If a thread has more than one concurrent
read locks, just count down.
Corinna Vinschen [Tue, 20 Jan 2009 11:16:59 +0000 (11:16 +0000)]
* autoload.cc (WSAIoctl): Reintroduce.
(WSASendMsg): Define.
* fhandler.h (class fhandler_socket): Change definition of recv_internal
and send_internal to take WSAMSG pointer as parameter.
* fhandler_socket.cc (WSAID_WSARECVMSG): Define.
(LPFN_WSARECVMSG): Define.
(WSASendMsg): Declare.
(get_ext_funcptr): New function to fetch address of WSARecvMsg.
(fhandler_socket::recv_internal): Take just a LPWSAMSG parameter.
Change code accordingly. If control information is requested,
fetch address of WSARecvMsg and use that instead of WSARecvFrom.
(fhandler_socket::recvfrom): Change return type to ssize_t as
declared in fhandler.h. Accommodate changes to recv_internal.
(fhandler_socket::recvmsg): Ditto. Make sure that control information
is only requested if system, address family, and socket type support it.
(fhandler_socket::send_internal): Take just a LPWSAMSG parameter
and the flags. Change code accordingly. If control information is
provided, use WSASendMsg instead of WSASendTo.
(fhandler_socket::sendto): Drop useless comment. Accommodate changes
to send_internal.
(fhandler_socket::sendmsg): Ditto. Make sure that control information
is only provided if system, address family, and socket type support it.
* wincap.h (wincaps::has_recvmsg): New element.
(wincaps::has_sendmsg): New element
* wincap.cc: Implement above elements throughout.
* include/cygwin/socket.h (CMSG_ALIGN): Phrase in terms of alignment
of type struct cmsghdr.
Jeff Johnston [Mon, 19 Jan 2009 22:02:06 +0000 (22:02 +0000)]
2009-01-19 Neal H. Walfield <neal@gnu.org>
* libc/include/stdint.h (INT64_C, UINT64_C, INTMAX_C, UINTMAX_C)
[__have_long64 && __have_longlong64]: Use L and UL, not LL and ULL.
* libc/include/inttypes.h (__PRI64, __SCN64, __PRIMAX, __SCNMAX,
__PRIPTR, __SCNPTR) [__have_long64 && __have_longlong64]: Use l,
not ll.
Corinna Vinschen [Sat, 17 Jan 2009 11:59:16 +0000 (11:59 +0000)]
* Makefile.in: Fix copyright date.
* cygcheck.cc (scan_registry): Take additional parameter and add code
to avoid recursion in Wow6432Node subkey. Rename variable cygnus to
cygwin. Scan for "Cygwin" instead of for "cygnus" substring.
(dump_sysinfo): Drop unused calls to scan_registry. Drop scanning
HKEY_CURRENT_CONFIG.
Corinna Vinschen [Sat, 17 Jan 2009 10:16:42 +0000 (10:16 +0000)]
* fhandler_proc.cc: Reorganize global proc content data into a new
struct proc_tab_t. Accommodate throughout.
(format_proc_version): New function.
(format_proc_loadavg): New function.
(format_proc_self): New function.
* resource.cc (getrlimit): Return correct rlim_max value for
RLIMIT_NOFILE.
Corinna Vinschen [Fri, 16 Jan 2009 12:10:02 +0000 (12:10 +0000)]
* cygcheck.cc (dump_sysinfo): Raise size of osname. Add Windows 7
and Windows 2008 R2 as recognized OSes. Update products array to
the latest documented list.
Andrew Stubbs [Thu, 15 Jan 2009 18:00:49 +0000 (18:00 +0000)]
2009-01-15 Andrew Stubbs <ams@codesourcery.com>
Julian Brown <julian@codesourcery.com>
bfd/
* elf-bfd.h (NUM_KNOWN_OBJ_ATTRIBUTES): Set to 71 to include all known
ARM attributes in ABI 2.07.
* elf32-arm.c (get_secondary_compatible_arch): New function.
(set_secondary_compatible_arch): New function.
(tag_cpu_arch_combine): New function.
(elf32_arm_copy_one_eabi_other_attribute): Delete function.
(elf32_arm_copy_eabi_other_attribute_list): Delete function.
(elf32_arm_merge_eabi_attributes): Rename order_312 to order_021 to
make it fit with order_01243.
Add support for Tag_also_compatible_with,
Tag_CPU_unaligned_access, Tag_T2EE_use, Tag_Virtualization_use,
Tag_MPextension_use, Tag_nodefaults and Tag_conformance.
Improve/tidy up support for Tag_CPU_raw_name, Tag_CPU_name,
Tag_CPU_arch, Tag_ABI_HardFP_use, Tag_VFP_HP_extension,
Tag_ABI_FP_denormal, Tag_ABI_PCS_GOT_use, Tag_ABI_align8_needed,
Tag_VFP_arch and Tag_ABI_FP_16bit_format.
Rework the way unknown attributes are handled.
Defer errors until all attributes have been processed.
gas/
* config/tc-arm.c (cpu_arch): Change ARM_ARCH_V6M to 11.
include/elf/
* arm.h (TAG_CPU_ARCH_V6_M, TAG_CPU_ARCH_V6S_M): New defines.
(MAX_TAG_CPU_ARCH, TAG_CPU_ARCH_V4T_PLUS_V6_M): New defines.
(Tag_NEON_arch): Rename to Tag_Advanced_SIMD_arch to match ARM ABI
version 2.07.
(Tag_undefined39, Tag_nodefaults): New enum values.
(Tag_also_compatible_with, Tag_T2EE_use): Likewise.
(Tag_conformance, Tag_Virtualization_use): Likewise.
(Tag_undefined69, Tag_MPextension_use): Likewise.
Nick Clifton [Thu, 15 Jan 2009 12:42:52 +0000 (12:42 +0000)]
* include/elf/ia64.h (SHT_IA_64_VMS_DISPLAY_NAME_INFO,
EF_IA_64_ARCHVER_1): New macros. Minor reformatting.
* bfd/Makefile.am (BFD32_BACKENDS): Add new object vmsutil.lo
(BFD32_BACKENDS_CFILES): Add new file vmsutil.c
(vmsutil.lo): Add dependency rule
* bfd/Makefile.in: Regenerate
* bfd/config.bfd (ia64*-*-*vms*): Add case.
* bfd/configure.in (bfd_elf64_ia64_vms_vec): Add case.
* bfd/configure: Regenerate
* bfd/vmsutil.[ch]: New files
* bfd/elf-bfd.h (struct bfd_elf_special_section): Change type of
attr to bfd_vma.
* bfd/elfxx-ia64.c (elfNN_vms_post_process_headers,
elfNN_vms_section_processing, elfNN_vms_final_write_processing,
elfNN_vms_close_and_cleanup, elfNN_vms_section_from_shdr,
elfNN_vms_object_p): New functions
* bfd/targets.c (bfd_elf64_ia64_vms_vec): New target.
* gas/configure.tgt(ia64-*-*vms*): New target.
* gas/dwarf2dbg.h (dwarf2_loc_mark_labels): Make extern.
* gas/tc.h (md_number_to_chars): Declare iff undefined.
* gas/config/obj-elf.c (obj_elf_change_section): Change type of
arg attr to bfd_vma.
(obj_elf_parse_section_letters): Return a bfd_vma. Change type of
variables attr, md_attr to bfd_vma.
(obj_elf_section_word): Likewise.
(obj_elf_section): Change type of variable attr to bfd_vma
* gas/config/obj-elf.h (obj_elf_change_section): Change type of
arg attr to bfd_vma
* gas/config/tc-ia64.c (bfdver.h,time.h): Include.
(ia64_elf_section_letter): Now returns a bfd_vma.
Handle VMS specific attributes.
(ia64_elf_section_flags): Arg attr now a bfd_vma.
(ia64_init): Don't turn on dependency checking for VMS.
(ia64_target_format): Check for VMS flag bit.
(do_alias): Hande decc$ functions.
(get_vms_time): New function.
(ia64_vms_note): New function.
* gas/config/tc-ia64.h (ia64_elf_section_letter): Now returns a bfd_vma.
(ia64_elf_section_flags): Arg attr now a bfd_vma.
(tc_init_after_args): Define for VMS.
* gas/config/tc-alpha.c (alpha_elf_section_letter): Return a bfd_vma.
(alpha_elf_section_flags): Change type of arg attr to bfd_vma.
* gas/config/tc-alpha.h: Likewise.
* gas/config/tc-i386.c (x86_64_section_letter): Return a bfd_vma.
(x86_64_section_word): Return a bfd_vma.
* gas/config/tc-i386.h: Likewise.
* gas/config/tc-ip2k.c (ip2k_elf_section_flags): Change type of arg
attr to bfd_vma.
* gas/config/tc-ip2k.h: Likewise.
* gas/config/tc-mep.c (mep_elf_section_letter): Return a bfd_vma.
(mep_elf_section_flags): Change type of arg attr to bfd_vma.
* gas/config/tc-mep.h: Likewise.
* gas/config/tc-ppc.c (ppc_section_letter): Return a bfd_vma.
(ppc_section_word): Return a bfd_vma.
(ppc_section_flags): Change type of arg attr to bfd_vma.
* gas/config/tc-ppc.h: Likewise.
* gas/config/te-vms.h (DWARF2_DIR_SHOULD_END_WITH_SEPARATOR,
DWAR2_FILE_TIME_NAME, DWARF2_FILE_SIZE_NAME, DWARF2_FILEN_NAME):
New file with new macros
* gas/dwarf2dbg.c (get_filenum, out_file_list): Default and call new
macros.
Cary Coutant [Thu, 15 Jan 2009 01:28:14 +0000 (01:28 +0000)]
* plugin-api.h (LDPS_BAD_HANDLE): New constant.
(ld_plugin_get_input_file): New typedef.
(ld_plugin_release_input_file): New typedef.
(LDPT_GET_INPUT_FILE, LDPT_RELEASE_INPUT_FILE): New constants.
(struct ld_plugin_tv): Add two new fields.
Corinna Vinschen [Mon, 12 Jan 2009 15:51:23 +0000 (15:51 +0000)]
* syscalls.cc (enum bin_status): New type.
(try_to_bin): Return bin_status. Rename win32_path to pc. Rename h
to fh. Rename fh to tmp_fh. Add code to set delete dispostion and
more code to replace file moved to bin by another, temporary file.
Add comments to explain why.
(unlink_nt): Replace move_to_bin with bin_stat. Only set bin_stat
to move_to_bin for non-remote files. As a last resort, call try_to_bin
if setting delete-on-close failed. Only re-set R/O DOS attribute
and only close handle if it's still valid.
Corinna Vinschen [Sun, 11 Jan 2009 16:13:11 +0000 (16:13 +0000)]
* errno.cc (errmap): Set errno to ENOENT instead of ENOSHARE throughout.
* path.cc (path_conv::check): Set to and check for ENOENT instead of
ENOSHARE.
* ntdll.h: Reorder NT status flags. Fix a case difference. Add
STATUS_CANNOT_DELETE flag.
* syscalls.cc (unlink_nt): Change initial NtOpenFile to request
FILE_SHARE_DELETE sharing mode. Change comment accordingly.
If setting delete disposition failed with STATUS_CANNOT_DELETE, try
to delete using delete-on-close. Explain why.
Rearrange setting R/O DOS attribute after trying to delete. Simplify
comment.
* fhandler_disk_file.cc (fhandler_disk_file::link): Only add .exe if
original file has .exe as well.
* path.cc (path_conv::is_binary): Only recognize Windows 32 and 64 bit
apps as binaries.
Remove unneeded header files from source files throughout. Update copyrights
where appropriate.
* globals.cc: New file for generic global variables.
* mkglobals_h: New file to generate globals.h.
* mkstatic: New Script used to build a (currently non-working) static
libcygwin_s.a.
* Makefile.in: Add unused rule to build a non-working libcygwin_s.a.
(DLL_OFILES): Add globals.o. Make all objects rely on globals.h.
(globals.h): New target. Generate globals.h.
* cygtls.h: Honor new CYGTLS_HANDLE define to control when the HANDLE operator
is allowed in _cygtls.
* dcrt0.cc: Move most globals to globals.cc.
* init.cc: Ditto.
* environ.cc (strip_title_path): Remove now-unneeded extern.
* fhandler_serial.cc (fhandler_serial::open): Ditto.
* pinfo.cc: Ditto.
(commune_process): Ditto.
* shared.cc: Ditto.
* glob.cc: Ditto.
* strace.cc: Ditto.
* exceptions.cc: Define CYGTLS_HANDLE before including winsup.h.
* path.cc (stat_suffixes): Move here.
* security.h: Add forward class path_conv declaration.
* smallprint.cc (__small_vsprintf): Make a true c++ function.
(__small_sprintf): Ditto.
(small_printf): Ditto.
(console_printf): Ditto.
(__small_vswprintf): Ditto.
(__small_swprintf): Ditto.
* spawn.cc (spawn_guts): Remove _stdcall decoration in favor of regparm.
(hExeced): Move to globals.cc
* strfuncs.cc (current_codepage): Ditto.
(active_codepage): Ditto.
* sync.cc (lock_process::locker): Move here from dcrt0.cc.
* syscalls.cc (stat_suffixes): Move to path.cc.
* tty.cc (tty::create_master): Uncapitalize fatal warning for consistency.
* winsup.h: Include globals.h to declare most of the grab bag list of globals
which were previously defined here.
* mount.h: Move USER_* defines back to shared_info.h.
* speclib: Force temporary directory cleanup.