Commit Graph

10396 Commits

Author SHA1 Message Date
Corinna Vinschen b9e2579c0f * flock.cc: Clarify a couple of comments.
(lf_setlock): Treat not being able to sync on a process as a potential
	deadlock situation.  Close process handle using CloseHandle.
2008-03-24 15:36:17 +00:00
Corinna Vinschen 7f25a29df4 * flock.cc: Fix typo in comment. 2008-03-24 15:12:24 +00:00
Corinna Vinschen a998dd7055 * fhandler.cc (fhandler_base::dup): Drop setting flags in the parent.
Implement advisory file locking.
	* cygheap.h (struct init_cygheap): Add inode_list member.
	* cygwin.din (lockf): Export.
	* dcrt0.cc (child_info_spawn::handle_spawn): Call
	fixup_lockf_after_exec.
	* dtable.h (class dtable): Add fhandler_disk_file as friend class.
	* fhandler.cc (fhandler_base::close): Call del_my_locks if node is set.
	(fhandler_base::fhandler_base): Initialize node to NULL.
	(fhandler_base::fixup_after_fork): Ditto.
	* fhandler.h (class fhandler_base): Add member node.
	* fhandler_disk_file.cc (fhandler_disk_file::lock): Delete.
	* flock.cc: Implement all advisory file locking here.
	(fhandler_disk_file::lock): Implement here.
	(flock): Call fcntl with F_FLOCK bit set.  Remove test main function.
	(lockf): New function.
	* fork.cc (frok::child): Call fixup_lockf_after_fork.
	* ntdll.h (DIRECTORY_ALL_ACCESS): Define.
	(struct _OBJECT_BASIC_INFORMATION): Define.
	(enum _EVENT_TYPE): Define.
	(NtCreateDirectoryObject): Declare.
	(NtCreateEvent): Declare.
	(NtCreateMutant): Declare.
	(NtOpenEvent): Declare.
	(NtOpenMutant): Declare.
	* include/cygwin/version.h: Bump API minor number.
2008-03-24 14:48:58 +00:00
Christopher Faylor 88f0dc31d1 * dtable.cc (handle_to_fn): Modify to return true if handle represents a cygwin
tty.
(dtable::init_std_file_from_handle): Detect when we've seen a cygwin pipe and
use it in overlapped mode by default.
(decode_tty): Make static.
2008-03-22 21:27:05 +00:00
Christopher Faylor 1ffe3e67b1 * dtable.cc: Define various device-related string constants as wide character
constants.
(dtable::init_std_file_from_handle): Reorganize pipe handling to try to catch
special tty case.
(build_fh_name_worker): Declare for common use.
(build_fh_name): Define char version.
(build_fh_name): Define (currently unused) UNICODE_STRING version.
(decode_tty): Detect if pipe is actually a cygwin tty, returning the tty name
in the buffer.
(handle_to_fn): Reorganize to use wide characters.
* dtable.h (build_fh_name): Declare (currently unused) UNICODE_STRING version.
* fhandler_tty.cc (fhandler_pty_master::setup): Use
fhandler_pipe::create_selectable to create a pipe with a given name.
* pipe.cc (pipe_handler): Make returned handle inheritable.
(fhandler_pipe::create_selectable): Take an optional name.  Use a standard
cygwin introducer for the name.
* path.cc (path_conv::check): Make first argument const.
* path.h (path_conv::check): Ditto for declaration.
(path_conv::path_conv): Ditto for UNICODE_STRING version.
2008-03-22 21:04:16 +00:00
Ian Lance Taylor b00c2ef98f * filenames.h: Add extern "C" when compiled with C++. 2008-03-21 23:40:18 +00:00
Ian Lance Taylor b916272a4b Copy this patch over from master gcc repository:
* configure.ac: Add support for --enable-gold.
	* Makefile.def: Add gold as a directory like ld.
	* configure, Makefile.in: Regenerate.
2008-03-21 15:42:41 +00:00
Chris Sutcliffe 138c2d5c15 2008-03-21 Danny Smith <dannysmith@users.sourceforge.net>
* include/math.h (float_t, double_t): Define.
2008-03-21 12:48:22 +00:00
Chris Sutcliffe cc4d68ec01 2008-01-19 Danny Smith <dannysmithusers.sourceforge.net
* inclue/wchar.h (fwide): Add prototype and guard inline definition.
        (mbsinit): Likewise.
2008-03-21 12:45:27 +00:00
Chris Sutcliffe 3656a6073c 2008-03-19 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/mprapi.h: Add guard for MprAdminAcceptReauthentication function
        and MPR_INTERFACE_3 structure since they are available only in Windows
        Server 2008
2008-03-20 02:56:49 +00:00
Chris Sutcliffe b6f8240fa0 2008-02-08 Danny Smith <dannysmith@users.sourceforge.net>
* mingwex/gdtoa/gdtoaimp.h (USE_LOCALE): Define.
        * mingwex/gdtoa/mingw_snprintf.c: [USE_LOCALE] Include locale.h.
        (x_sprintf): [USE_LOCALE] Use  *localeconv()->decimal_point.
2008-03-20 02:55:56 +00:00
Andreas Krebbel 197dffcbd6 2008-03-19 Andreas Krebbel <krebbel1@de.ibm.com>
* opcodes/s390-mkopc.c (s390_opcode_cpu_val): S390_OPCODE_Z10 added.
	(s390_cond_extensions): Reduced extensions to the compare related.
	(main): z10 cpu type option added.
	(expandConditionalJump): Renamed to ...
	(insertExpandedMnemonic): ... this.

	* opcodes/s390-opc.c: Re-group the operand format makros.
	(INSTR_RIE_RRPU, INSTR_RIE_RRP0, INSTR_RIE_RUPI,
	INSTR_RIE_R0PI, INSTR_RIE_RUPU, INSTR_RIE_R0PU, INSTR_RIE_R0IU,
	INSTR_RIE_R0I0, INSTR_RIE_R0UU, INSTR_RIE_R0U0,
	INSTR_RIE_RRUUU, INSTR_RIS_RURDI, INSTR_RIS_R0RDI, INSTR_RIS_RURDU,
	INSTR_RIS_R0RDU, INSTR_RRF_U0RR, INSTR_RRF_00RR, INSTR_RRS_RRRDU,
	INSTR_RRS_RRRD0, INSTR_RXY_URRD, INSTR_SIY_IRD, INSTR_SIL_RDI,
	INSTR_SIL_RDU): New instruction formats added.
	(MASK_RIE_RRPU, MASK_RIE_RRP0, MASK_RIE_RUPI, MASK_RIE_R0PI,
	MASK_RIE_RUPU, MASK_RIE_R0PU, MASK_RIE_R0IU, MASK_RIE_R0I0,
	MASK_RIE_R0UU, MASK_RIE_R0U0, MASK_RIE_RRUUU, MASK_RIS_RURDI,
	MASK_RIS_R0RDI, MASK_RIS_RURDU, MASK_RIS_R0RDU, MASK_RRF_U0RR,
	MASK_RRF_00RR, MASK_RRS_RRRDU, MASK_RRS_RRRD0, MASK_RXY_URRD,
	MASK_SIY_IRD, MASK_SIL_RDI, MASK_SIL_RDU): New instruction format
	masks added.
	(s390_opformats): New formats added "ris", "rrs", "sil".
	* opcodes/s390-opc.txt: Add the conditional jumps with the
	extensions removed from automatic expansion in s390-mkopc.c manually.
	(asi - trtre): Add new System z10 EC instructions.
	* include/opcode/s390.h (s390_opcode_cpu_val): S390_OPCODE_Z10 added.

2008-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/tc-s390.c (md_parse_option): z10 option added.

2008-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gas/s390/zarch-z10.d: New file.
	* gas/s390/zarch-z10.s: New file.
	* gas/s390/s390.exp: Run the z10 testcases.
2008-03-19 10:29:18 +00:00
Corinna Vinschen 00103b7f5e * include/sys/cygwin.h: Revert erroneous move of `#ifdef WINVER' to
another location.
2008-03-18 09:57:33 +00:00
Ralf Wildenhues 07f8aa8233 Fix ChangeLog date. 2008-03-18 06:20:40 +00:00
Ralf Wildenhues e30fd60fb5 * configure.ac: m4_include config/proginstall.m4.
* configure: Regenerate.
config/
        * proginstall.m4: New file, with fixed AC_PROG_INSTALL.
bfd/
        * aclocal.m4: Regenerate.
        * configure: Likewise.
        * Makefile.in: Likewise.
bfd/doc/
        * Makefile.in: Regenerate.
intl/
        * aclocal.m4: Regenerate.
        * configure: Likewise.
gas/
        * aclocal.m4: Regenerate.
        * configure: Likewise.
        * Makefile.in: Likewise.
        * doc/Makefile.in: Likewise.
ld/
        * aclocal.m4: Regenerate.
        * configure: Likewise.
        * Makefile.in: Likewise.
opcodes/
        * aclocal.m4: Regenerate.
        * configure: Likewise.
        * Makefile.in: Likewise.
binutils/
        * aclocal.m4: Regenerate.
        * configure: Likewise.
        * Makefile.in: Likewise.
        * doc/Makefile.in: Likewise.
gprof/
        * aclocal.m4: Regenerate.
        * configure: Likewise.
        * Makefile.in: Likewise.
2008-03-17 22:17:29 +00:00
Brian Dessent bff091bcfe * path.cc: Include malloc.h for alloca.
(is_symlink): Rewrite.  Just read the whole file in memory rather
	than by parts.  Account for an ITEMIDLIST if present, as well as
	the new style of Cygwin shortcut supporting targets > MAX_PATH.
2008-03-16 17:04:02 +00:00
Ralf Wildenhues 615d9a0696 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Backport from upstream Libtool:

	2007-10-12  Eric Blake  <ebb9@byu.net>

	Deal with Autoconf 2.62's semantic change in m4_append.
	* ltsugar.m4 (lt_append): Replace broken versions of
	m4_append.
	(lt_if_append_uniq): Don't require separator to be overquoted,
	and avoid broken m4_append.
	(lt_dict_add): Fix typo.
	* libtool.m4 (_LT_DECL): Don't overquote separator.
2008-03-16 06:49:28 +00:00
Corinna Vinschen d63c2da552 * fcntl.cc (fcntl_worker): Protect with a 'myfault'.
* path.cc (normalize_posix_path): Treat X:/ as Win32 path, too.

	* smallprint.cc (__wrn): New static function.
	(__small_vswprintf): New function to generate WCHAR strings.
	(__small_swprintf): Ditto.
	* winsup.h (__small_swprintf): Declare.
	(__small_vswprintf): Declare.
2008-03-14 20:43:28 +00:00
David Edelsohn 56f19ae0e9 * config.rpath: Add AIX 6 support. 2008-03-13 19:27:44 +00:00
Corinna Vinschen 7d5d232b50 * path.sgml: Remove documentation for old path API. Add documentation
for new path API.
	* security.sgml: New file to document cygwin_set_impersonation_token
	and cygwin_logon_user with only eight years of delay.
	* shared.sgml: Remove file.
	* include/sys/cygwin.h (cygwin32_attach_handle_to_fd): Move declaration
	into fully deprecated function block.
	(cygwin_logon_user): Move declaration down to declaration of
	cygwin_set_impersonation_token.
2008-03-13 15:18:10 +00:00
Paolo Bonzini 455b4f90fb 2008-03-13 Paolo Bonzini <bonzini@gnu.org>
* Makefile.def (stageprofile).  Remove -fprofile-generate
	from stage_libcflags.
	* Makefile.in: Regenerate.
2008-03-13 13:35:08 +00:00
Alan Modra fe389b5bfa include/elf/
* internal.h (Elf_Internal_Shdr): Change sh_link and sh_info from
	unsigned long to unsigned int.  Change sh_addralign to bfd_vma.
	Order struct as for external version.
bfd/
	* elf.c (_bfd_elf_make_section_from_shdr): Remove unnecessary cast.
	(_bfd_elf_assign_file_position_for_section): Simplify align.
	(_bfd_elf_init_reloc_shdr): Ensure shift expression wide enough
	for sh_addralign.
	(elf_fake_sections, swap_out_syms): Likewise.
	* elflink.c (bfd_elf_final_link): Likewise.
binutils/
	* readelf.c: Use %u throughout when printing sh_link or sh_info,
	%lu when printing sh_addralign.
	(process_version_sections): Use identical formats when printing
	all offset and sh_link fields.
2008-03-13 05:27:41 +00:00
Ben Elliston 6fd221264f * config.sub, config.guess: Update from upstream sources. 2008-03-12 23:45:14 +00:00
Corinna Vinschen 0f7ac147bd * syscalls.cc (rename): Just return with 0 if filenames are identical,
per POSIX.  Drop comment added in previous patch.
2008-03-12 18:54:24 +00:00
Corinna Vinschen 48726c8a06 * syscalls.cc (rename): Handle a special case of trying to rename a
mount point.
2008-03-12 18:46:10 +00:00
Corinna Vinschen a66789a0c0 * environ.h: Fix comment.
* winsup.h: Ditto.  Reflect the fact that CYG_MAX_PATH is deprecated.
2008-03-12 17:04:10 +00:00
Corinna Vinschen 495571e5fc * pipe.cc (fhandler_pipe::create_selectable): Use MAX_PATH instead of
CYG_MAX_PATH.
	* tty.cc (tty_list::init_session): Ditto.
	(tty::alive): Ditto.
	(tty::open_mutex): Ditto.
	(tty::create_inuse): Ditto.
	(tty::get_event): Ditto.
2008-03-12 16:55:42 +00:00
Corinna Vinschen 414dcf5f83 Fix typo. 2008-03-12 16:16:31 +00:00
Corinna Vinschen b0717aae02 * fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Disable
munging.  Convert all chars in the 0xf0xx area to it's ascii equivalent.
	* path.cc (normalize_posix_path): Don't treat "X:foo" as windows path,
	only "a:\foo".
	(tfx_chars): New transformation table for special DOS chars.
	(tfx_chars_managed): Ditto, plus transformation of uppercase ASCII
	chars.
	(transform_chars): New function.
	(get_nt_native_path): Make static.  Call transform_chars for all valid
	FS paths.  Get additional flag if file is managed or not.  Accommodate
	throughout.
	(getfileattr): Get additional flag if file is managed or not.
	Accommodate throughout.
	(path_conv::check): Disable special handling for trailing dots and
	spaces.
	(mount_item::build_win32): Disable code for managed paths.
	(mount_info::conv_to_posix_path): Ditto.
	* path.h (get_nt_native_path): Remove declaration.
2008-03-12 16:07:04 +00:00
Corinna Vinschen 31812fc0bc * fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Don't
copy filename twice in the non-managed case.
2008-03-12 15:04:06 +00:00
Corinna Vinschen 2b2b42cf59 * cygpath.cc (do_sysfolders): Use cygwin_conv_path.
(do_pathconv): Use cygwin_conv_path and cygwin_conv_path_list.
	* dumper.cc (main): Use cygwin_conv_path.  Allocate target path
	dynamically.
	* mkpasswd.c (current_user): Use cygwin_conv_path.
	(enum_users): Ditto.
	* ps.cc (NT_MAX_PATH): Define.
	(main): Use cygwin_conv_path.
	* regtool.cc (find_key): Ditto. Allocate target path dynamically.
	(cmd_save): Ditto.
2008-03-12 12:47:09 +00:00
Corinna Vinschen edab6053a2 * winsup.h (NT_MAX_PATH): Revert ill-advised change to 32767.
Accommodate change throughout.

	* cygwin.din (cygwin_conv_path): Export.
	(cygwin_conv_path_list): Export.
	(cygwin_create_path): Export.
	* dcrt0.cc (dll_crt0_1): Use cygwin_conv_path.
	* dtable.cc (handle_to_fn): Ditto.  Don't expect UNICODE_STRING being
	0-terminated.
	* environ.cc (env_plist_to_posix): New helper function.
	(env_plist_to_win32): Ditto.
	(env_path_to_posix): Ditto.
	(env_path_to_win32): Ditto.
	(return_MAX_PATH): Remove.
	(conv_envvars): Use new helper functions.  Drop removed members.
	(win_env::operator =): Accommodate removal of path length functions.
	(win_env::add_cache): Accommodate new env helper function API.
	(posify): Ditto.
	* environ.h (struct win_env): Ditto. Remove path length function
	pointers since they are unused.
	* path.cc (warn_msdos): Use cygwin_conv_path.
	(getfileattr): Use new tmp_pathbuf::u_get method.
	(fillout_mntent): Ditto.
	(symlink_info::check): Ditto.
	(path_conv::check): Use sizeof (WCHAR) instead of constant 2.
	(symlink_info::check_reparse_point): Ditto.
	(conv_path_list): Get max size of target string as argument.  Call
	cygwin_conv_path as helper function.
	(cygwin_conv_path): New function.
	(cygwin_create_path): New function.
	(cygwin_conv_to_win32_path): Just call cygwin_conv_path with size set
	to MAX_PATH.
	(cygwin_conv_to_full_win32_path): Ditto.
	(cygwin_conv_to_posix_path): Ditto.
	(cygwin_conv_to_full_posix_path): Ditto.
	(conv_path_list_buf_size): Add FIXME comment.
	(env_PATH_to_posix): Rename from env_win32_to_posix_path_list.
	Add size argument as required for env helper functions.
	(cygwin_win32_to_posix_path_list): Call conv_path_list with size set to
	MAX_PATH.
	(cygwin_posix_to_win32_path_list): Ditto.
	(cygwin_conv_path_list): New function.
	(cwdstuff::get): Fix length argument in call to sys_wcstombs.
	* spawn.cc (find_exec): Use cygwin_conv_path_list.
	* tls_pbuf.h (tmp_pathbuf::u_get: New method.
	* uinfo.cc (cygheap_user::ontherange): Allocate temporary path buffers
	using tmp_pathbuf.  Use cygwin_conv_path.
	* winf.cc (av::unshift): Use cygwin_conv_path.
	* include/cygwin/version.h: Bump API minor number.
	* include/sys/cygwin.h: Comment out old cygwin32_XXX API.
	Mark old path handling API as deprecated.
	(cygwin_conv_path_t): Typedef.  Define values.
	(cygwin_conv_path): Declare.
	(cygwin_create_path): Declare.
	(cygwin_conv_path_list): Declare.
2008-03-12 12:41:50 +00:00
Alan Modra 674310fb40 include/elf/
PR 5900
	* common.h (SHN_BAD): Delete.
	(SHN_LORESERVE .. SHN_HIRESERVE): Move to..
	* external.h: ..here.
	* internal.h (SHN_LORESERVE, SHN_HIRESERVE): Define.
	(SHN_LOPROC, SHN_HIPROC, SHN_LOOS, SHN_HIOS): Define.
	(SHN_ABS, SHN_COMMON, SHN_XINDEX, SHN_BAD): Define.
bfd/
	PR 5900
	* elf-bfd.h: Include elf/internal.h after elf/external.h.
	* elfcode.h (elf_swap_symbol_in): Map reserved shndx range.
	(elf_swap_symbol_out): Adjust SHN_XINDEX test.
	(elf_swap_ehdr_out): Mask SHN_LORESERVE and SHN_XINDEX to values
	seen in external structs.
	(valid_section_index_p): Delete.
	(elf_object_p): Don't increment section numbers over reserved range.
	Simplify test for valid sh_link, sh_info and e_shstrndx fields.
	(elf_write_shdrs_and_ehdr): Mask SHN_LORESERVE and SHN_XINDEX to values
	seen in external structs.  Don't increment section numbers over
	reserved range.
	* elf.c (bfd_elf_sym_name): Remove redundant tests on st_shndx.
	(bfd_section_from_shdr): Likewise.
	(group_signature): Range check before accessing elf_elfsections.
	(_bfd_elf_setup_sections): Likewise.
	(bfd_section_from_shdr): Likewise.
	(bfd_section_from_shdr): Don't increment section number over
	reserved sections.
	(assign_file_positions_for_non_load_sections): Likewise.
	(assign_file_positions_except_relocs): Likewise.
	(_bfd_elf_write_object_contents): Likewise.
	(assign_section_numbers): Likewise.  Adjust for changed SHN_*.
	(prep_headers): Delete unused variable.
	* elflink.c (bfd_elf_link_record_local_dynamic_symbol): Adjust
	for changed SHN_* values.
	(check_dynsym, elf_link_input_bfd): Likewise.
	(bfd_elf_final_link): Likewise.  Don't skip over reserved section
	range.
	(elf_fixup_link_order): Check that sh_link field is valid.
	* elf-hppa.h (elf_hppa_add_symbol_hook): Make "index" unsigned.
	* elf32-arm.c (elf32_arm_gc_mark_extra_sections): Range check before
	accesssing elf_elfsections.
	* elf32-avr.c (elf32_avr_size_stubs): Likewise.
	* elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
	* elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Likewise.
	* elf64-hppa.c (elf64_hppa_check_relocs): Adjust for changed
	SHN_* defines.  Test for SHN_BAD return from
	_bfd_elf_section_from_bfd_section
binutils/
	PR 5900
	* readelf.c (SECTION_HEADER_INDEX, SECTION_HEADER_NUM): Delete.
	Remove use throughout file.
	(SECTION_HEADER): Likewise.
	(dump_relocations): Don't adjust st_shndx for reserved range.
	(process_file_header): Mask SHN_XINDEX to values seen in external
	elf structs.  Simplify valid section index tests.
	(get_32bit_elf_symbols, get_64bit_elf_symbols): Mask SHN_XINDEX.
	Map reserved st_shndx to internal form.
	(process_section_groups): Test that group symbol st_shndx is in
	range, not just non-zero.  Delete reserved range check.
	(get_symbol_index_type): Mask "type" to 16 bits when printing PRC,
	OS or RSV.
gdb/
	PR 5900
	* elfread.c (elf_symtab_read): Make shndx an unsigned int.
	* mipsread.c: Include elf/internal.h.
	(read_alphacoff_dynamic_symtab): Map external reserved sym_shndx
	to internal range.
ld/testsuite/
	PR 5900
	* ld-elf/sec64k.exp: Update.
2008-03-12 08:36:58 +00:00
Alan Modra 93f73715d1 * elf/cr16c.h (SHN_CR16C_FCOMMON): Define using SHN_LORESERVE.
(SHN_CR16C_NCOMMON): Likewise.
	* elf/hppa.h (SHN_PARISC_ANSI_COMMON): Likewise.
	(SHN_PARISC_HUGE_COMMON): Likewise.
	* elf/ia64.h (SHN_IA_64_ANSI_COMMON): Likewise.
	(SHN_IA_64_VMS_SYMVEC): Define using SHN_LOOS.
	* elf/m32r.h (SHN_M32R_SCOMMON): Define using SHN_LORESERVE.
	* elf/mips.h (SHN_MIPS_ACOMMON, SHN_MIPS_TEXT): Likewise.
	(SHN_MIPS_DATA, SHN_MIPS_SCOMMON, SHN_MIPS_SUNDEFINED): Likewise.
	* elf/score.h (SHN_SCORE_TEXT, SHN_SCORE_DATA): Likewise.
	(SHN_SCORE_SCOMMON): Likewise.
	* elf/sparc.h (SHN_BEFORE, SHN_AFTER): Likewise.
	* elf/v850.h (SHN_V850_SCOMMON, SHN_V850_TCOMMON): Likewise.
	(SHN_V850_ZCOMMON): Likewise.
	* elf/x86-64.h (SHN_X86_64_LCOMMON): Likewise.
2008-03-11 23:21:08 +00:00
Jeff Johnston d84985f794 2008-03-11 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/rgetc.c (__srget_r): Invoke CHECK_INIT to ensure
        stdin gets resolved properly before refilling.
2008-03-11 19:13:30 +00:00
Jeff Johnston 88348faf5b 2008-03-11 Jeff Johnston <jjohnstn@redhat.com>
* libc/stdio/rgetc.c (__srget): Invoke CHECK_INIT to ensure
        stdin gets resolved properly before refilling.
2008-03-11 19:08:39 +00:00
Brian Dessent 5b7296f637 * cygcheck.cc (find_app_on_path): Make buffer SYMLINK_MAX + 1
chars.
2008-03-11 18:43:11 +00:00
Brian Dessent 60efa4e546 * cygcheck.cc (dirname): New static function.
(find_app_on_path): Use SYMLINK_MAX.  Resolve symlink relative
	to link's location.  Adjust to the fact that cygpath already
	normalizes its return value.
	* path.cc (rel_vconcat): Add cwd parameter, and use it instead
	of calling GetCurrentDirectory() if possible.  Rename throughout.
	(vcygpath): Rename from cygpath and accept cwd and va_list.  Pass
	cwd on to rel_vconcat().
	(cygpath_rel): New front end for vcygpath.
	(cygpath): Ditto.
	* path.h (cygpath_rel): Declare.
	(SYMLINK_MAX): Define to 4095.
2008-03-11 17:20:02 +00:00
Corinna Vinschen 0c4cb56009 * dlfcn.cc (get_full_path_of_dll): Allow paths up to PATH_MAX.
(dlopen): Call get_full_path_of_dll with path buffer allocate by
	tmp_pathbuf.
2008-03-11 13:35:55 +00:00
Corinna Vinschen 4855f6c517 * spawn.cc (find_exec): Use tmp_pathbuf to allocate path buffer. 2008-03-11 13:26:40 +00:00
Corinna Vinschen ab5d348d30 * dtable.cc (dtable::init_std_file_from_handle): Use tmp_pathbuf to
allocate path buffer.
	(handle_to_fn): Ditto.  Allocate fnbuf big enough to get long path
	names.
2008-03-11 13:17:52 +00:00
Corinna Vinschen 6c968f611b * path.cc (cwdstuff::set): Make sure drive_length is 0 for virtual
paths.  Add comments.
	* spawn.cc (spawn_guts): Don't allow to start a native Win32 application
	from a long path or a virtual path.  Print an error message to stderr.
2008-03-11 12:34:08 +00:00
Corinna Vinschen becf251f67 * environ.cc (parse_options): Use tmp_pathbuf to allocate buffer.
(regopt): Take tmp buffer as additional argument.
	(environ_init): Alllcate tmpbuf earlier.  Use as temporary buffer in
	call to regopt.
	* tls_pbuf.cc (tmp_pathbuf::c_get): Allocate one additional char.
	(tmp_pathbuf::w_get): Allocate one additional WCHAR.
	* winf.cc (av::unshift): Use tmp_pathbuf to allocate buffer.
2008-03-11 11:42:00 +00:00
Corinna Vinschen ff488124ff * syscalls.cc (sync): Use MAX_PATH rather than CYG_MAX_PATH. 2008-03-11 11:12:09 +00:00
Corinna Vinschen 949c0ec28c * fhandler.h (class fhandler_console): Add write_buf as pointer to
temporary buffer space.
	* fhandler_console.cc (CONVERT_LIMIT): Define as NT_MAX_PATH.  Add
	comment.
	(fhandler_console::write_normal): Use write_buf throughout.
	(fhandler_console::write): Use tmp_pathbuf to allocate write_buf.
2008-03-10 17:23:50 +00:00
Corinna Vinschen f37e220e86 * fhandler_console.cc (fhandler_console::write_normal): Don't print
chars marked as ERR chars.
2008-03-10 16:48:56 +00:00
Corinna Vinschen 3e148838af * fhandler.h (dev_console::con_to_str): Declare returning DWORD.
* fhandler_console.cc (dev_console::con_to_str): Return number of
	multibyte char bytes.
	(fhandler_console::read): Set nread to number of multibyte char bytes
	returned from con_to_str.
	(fhandler_console::write_normal): Reorder trunc buffer preocessing.
	Return after writing valid multibyte sequence out of trunc buffer.
	Change comments slightly.
2008-03-10 16:22:38 +00:00
Paul Brook 3461c83a05 2008-03-09 Paul Brook <paul@codesourcery.com>
bfd/
	* elf32-arm.c (elf32_arm_merge_eabi_attributes): Handle new
	Tag_VFP_arch values.

	binutils/
	* readelf.c (arm_attr_tag_VFP_arch): Add "VFPv3-D16".

	gas/
	* config/tc-arm.c (fpu_vfp_ext_d32): New vairable.
	(parse_vfp_reg_list, encode_arm_vfp_reg): Use it.
	(arm_option_cpu_value): Add vfpv3-d16, vfpv2 and vfpv3.
	(aeabi_set_public_attributes): Handle Tag_VFP_arch=VFPV3-D16.
	* doc/c-arm.texi: Document new ARM FPU variants.

	gas/testsuite/
	* gas/arm/vfpv3-d16-bad.d: New test.
	* gas/arm/vfpv3-d16-bad.l: New test.

	include/opcode/
	* arm.h (FPU_VFP_EXT_D32, FPU_VFP_V3D16, FPU_ARCH_VFP_V3D16): Define.
2008-03-09 13:23:29 +00:00
Brian Dessent 92108f4e26 * Makefile.in (install): Don't install the testsuite. 2008-03-09 09:41:42 +00:00
Brian Dessent 59fb00ae07 * Makefile.in: Add a 'check' target that builds and runs
testsuite.exe from path-testsuite.o and testsuite.o.
	* path.cc: Include testsuite.h.
	(struct mnt): Change to a mnt_t typedef and don't define
	mount_table when TESTSUITE is defined.
	(find2): Don't include when TESTSUITE is defined to avoid warning.
	(get_cygdrive0): Ditto.
	(get_cygdrive): Ditto.
	(read_mounts): Provide empty implementation when TESTSUITE is
	defined.
	(vconcat): Use the isslash macro.
	(unconvert_slashes): New helper to convert to backslashses.
	(rel_vconcat): Handle relative paths more gracefully.
	(cygpath): Skip a leading "./" sequence.  Avoid double-slashes.
	Normalize final output to backslashes and remove redundant path
	sequences.
	* testsuite.cc: New file implementing testsuite driver.
	* testsuite.h: New header implementing harness mount table and
	series of tests.
2008-03-09 04:10:10 +00:00