Commit Graph

3311 Commits

Author SHA1 Message Date
Christopher Faylor 5f25e1d11a * cygheap.h (cygheap_user::winname): New field.
* cygheap.cc (cygheap_user::set_name): Clear winname when name changes.
* uinfo.cc (cygheap_user::env_logsrv): Avoid calculating server when Windows
user == SYSTEM.
(cygheap_user::env_domain): Set winname here too.
(cygheap_user::env_userprofile): Eliminate superfluous tests.
(cygheap_user::env_name): Seed winname by calling env_domain().
2002-06-16 05:26:14 +00:00
Christopher Faylor 5c8bce24b3 * spawn.cc (spawn_guts): Revert removal of ciresrv.moreinfo->uid = ILLEGAL_UID. 2002-06-16 04:25:54 +00:00
Andrew Cagney 40a95e4b23 * sim-arm.h (enum sim_arm_regs): Rename sim_arm_regnum. 2002-06-15 22:49:38 +00:00
Christopher Faylor 6ea3e429df * child_info.h (child_proc_info): Declare as base class.
(spawn_info): Declare as alias of child_proc_info to aid debugging.
(fork_info): Ditto.
* cygheap.cc (cygheap_fixup_in_child): Use child_proc_info global rather than
parameter.
* cygheap.h (cygheap_fixup_in_child): Reflect above change in declaration.
* dcrt0.cc (_dll_crt0): Move 'si' definition here.  Assign child_proc_info.
(dll_crt0_1): Accommodate cygheap_fixup_in_child and *_info changes.
* environ.cc (spenv::retrieve): Make regparm.
* environ.h (environ_init): Ditto.
(win_env::add_cache): Ditto.
(build_env): Ditto.
(getwinenv): Ditto.
* fork.cc (sync_with_parent): Use fork_info global.
(fork_child): Ditto.
2002-06-15 21:59:32 +00:00
Earnie Boyd 5ae611458b * include/_mingw.h: Increment to version 2.1.
* Makefile.in: Ditto.
2002-06-15 15:56:58 +00:00
Earnie Boyd 00f55bc3a9 * Makefile.in (conf_prefix): New variable.
(dist_prefix): Ditto. Conditionally set to $(conf_prefix).
	(bindist): Use dist_prefix.
2002-06-15 14:06:21 +00:00
Thomas Fitzsimmons ece3c72f16 * libc/sys/linux/sys/errno.h (EFTYPE): Add macro. 2002-06-15 02:08:12 +00:00
Christopher Faylor cff111a6bf * uinfo.cc (cygheap_user::ontherange): Don't set HOMEDRIVE or HOMEPATH unless
one or the other is specified.
2002-06-15 01:17:45 +00:00
Christopher Faylor 6d171b4482 * cygheap.h (cygheap_user::userprofile_env_buf): New static member.
* environ.cc (build_env): Add debugging statement.
(spenvs): Switch functions for USERDOMAIN and USERNAME.
* spawn.cc (spawn_guts): Move environment initialization prior to
cygheap_setup_for_child or environment info will never be copied to child.
2002-06-14 21:46:19 +00:00
Thomas Fitzsimmons b56d7e7937 * libc/argz: New directory.
* libc/argz/*: New files.
	* libc/argz/argz_add.c: New file.
	* libc/argz/argz_add_sep.c: New file.
	* libc/argz/argz_append.c: New file.
	* libc/argz/argz_count.c: New file.
	* libc/argz/argz_create.c: New file.
	* libc/argz/argz_create_sep.c: New file.
	* libc/argz/argz_delete.c: New file.
	* libc/argz/argz_extract.c: New file.
	* libc/argz/argz_insert.c: New file.
	* libc/argz/argz_next.c: New file.
	* libc/argz/argz_replace.c: New file.
	* libc/argz/argz_stringify.c: New file.
	* libc/argz/buf_findstr.c: New file.
	* libc/argz/envz_add.c: New file.
	* libc/argz/envz_entry.c: New file.
	* libc/argz/envz_get.c: New file.
	* libc/argz/envz_merge.c: New file.
	* libc/argz/envz_remove.c: New file.
	* libc/argz/envz_strip.c: New file.
	* libc/include/argz.h: New file.
	* libc/include/envz.h: New file.
	* Makefile.am (LIBC_OBJECTLISTS): Add
	libc/argz/objectlist.awk.in.
	* libc/Makefile.am (SUBDIRS): Add argz.
	(SUBLIBS): Add argz/libargz.la.
	* libc/configure.in (AC_OUTPUT): Add argz/Makefile.
	* libc/include/errno.h: Add error_t typedef.
2002-06-14 20:51:09 +00:00
Christopher Faylor a77d35f7d2 * cygheap.h (cygheap_user): Add static members to hold home{drive,path} info.
* uinfo.cc (cygheap_user::ontherange): Use static class members for local HOME*
storage.
2002-06-14 20:36:42 +00:00
Christopher Faylor 9a771b2961 * cygheap.cc (cygheap_user::set_logsrv): Remove.
(cygheap_user::set_domain): Ditto.
* cygheap.h (cygheap_user::set_logsrv): Remove declaration.
(cygheap_user::set_domain): Ditto.
(cygheap_user::env_domain): Declare new method.
(cygheap_user::env_name): Ditto.
* environ.cc (spenvs): Add two environment variables.
* spawn.cc (spawn_guts): Call build_env after RevertToSelf.  Always set
ciresrv.mount_h.
(cygheap_user::ontherange): Recalculate homedrive/homepath if they are empty.
Use env_logsrv to get logon server.
(cygheap_user::env_logsrv): Calculate server name here rather than relying on
it having been previously calculated.
(cygheap_user::env_domain): Ditto for domain name.
(cygheap-user::env_name): New method.
* syscalls.cc (seteuid32): Do not get or set the environment.  Do not call
LookupAccountSid nor internal_getlogin.  Set cygheap->user name and sid from
the passwd entry.
* uinfo.cc (uinfo_init): Only call internal_getlogin when starting from a non
Cygwin process and use the values returned in user.
(internal_getlogin): Simplify to case where starting from a non Cygwin process.
Store return values in user and return void.  Do not set the Windows default
environment.
* dcrt0.cc (dll_crt0_1): Call uinfo_init only when needed.  Do not set
myself->uid nor reset user.sid.
* spawn.cc (spawn_guts): Get the sid from cygheap->user.  Always
RevertToSelf().  Don't set uid in impersonated case.
* cygheap.cc (cygheap_user::set_sid): Do not set orig_sig.
(cygheap_user::set_orig_sid): New.
* cygheap.h: Declare cygheap_user::set_sid.
* winsup.h: Add argument to uinfo_init().
2002-06-14 18:01:21 +00:00
Corinna Vinschen 470e8c460d * environ.cc (build_env): If realloc moves envblock, move s with it. 2002-06-14 14:08:07 +00:00
Earnie Boyd ced1e577b7 * include/w32api.h: Change to version 2.0 to reflect the change
in the license.
	* README: Renamed.
	* README.w32api: Renamed from README.  Modified license to remove
	the restriction of notifying the author based on the fact that the
	author is unreachable at the notified address.
	* Makefile.in (VERSION): Change to 2.0.
2002-06-14 13:46:12 +00:00
Earnie Boyd 687da29f13 * Makefile.in (bindist): Correct the MinGW distribution. 2002-06-14 12:36:26 +00:00
Corinna Vinschen 93b0828bfc Add pthread calls 2002-06-14 11:33:30 +00:00
Corinna Vinschen 94a23f4860 * passwd.c: Rearrange includes to avoid unnecessary warnings.
(GetPW): Add parameter to (dis)allow printing of Windows username.
	Use defines instead of numerical constants where possible.
	Try avoiding impersonation problem.  Rearrange to print Windows
	username only if it's different from Cygwin username.
	(ChangePW): Use defines instead of numerical constants where possible.
	(main): Call GetPW with additional parameter.  Change error text.

	* passwd.c (GetPW): Handle case of user-edited /etc/passwd
	with cygwin_internal (CW_EXTRACT_DOMAIN_AND_USER, ...).
2002-06-14 11:31:33 +00:00
Earnie Boyd d61bc7aad8 * include/wingdi.h (GetEnhMetaFileBits): Correct typo. 2002-06-14 10:29:28 +00:00
Jeff Johnston d062d3ddec 2002-06-13 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/stdlib.h: Add _Exit prototype.
        * libc/stdlib/Makefile.am: Add _Exit.c support.
        * libc/stdlib/Makefile.in: Ditto.
        * libc/stdlib/_Exit.c: New file.
2002-06-13 23:24:03 +00:00
Jeff Johnston 5cf8f50a53 Fix typo. 2002-06-13 23:06:29 +00:00
Jeff Johnston a47e66ae3a 2002-06-13 Stephen L. Moshier <steve@moshier.net>
* libm/math/e_pow.c (__ieee754_pow): Fix case whereby
        x is close to -1.0 and y is very large to use ax (absolute value)
        instead of x.
        * libm/math/ef_pow.c (__ieee754_powf): Ditto.
2002-06-13 23:03:01 +00:00
Earnie Boyd 04229a06ac * include/wingdi.h: (GetEnhMetaFileBits): Define prototype. 2002-06-13 18:29:37 +00:00
Joern Rennecke 13f7d71fee * libc/machine/sh/strcpy.S (strcpy, __SHMEDIA__ code):
Fix clobbering bytes before destination if src and dst have same
	non-zero misalignment.
2002-06-13 18:25:19 +00:00
Christopher Faylor 7bbed70832 fix typo 2002-06-13 17:28:50 +00:00
Christopher Faylor 39be53dc4c * winver.rc: Add more words to copyright. 2002-06-13 17:28:11 +00:00
Corinna Vinschen 0e6d80e4fa * cygheap.cc (cygheap_user::set_name): Revert previous change.
* environ.cc (spenv::retrieve): Check return value of call to
	cygheap->user.*from_cygheap().
2002-06-13 16:30:18 +00:00
Joern Rennecke 1f1fb4210d * libc/machine/sh/memset.S (memset, __SHMEDIA__ code):
Fixed bug in writing end of set region.
2002-06-13 14:53:17 +00:00
Earnie Boyd bb1085295a * include/winuser.h (MOUSEHOOKSTRUCT): Define structure. 2002-06-13 11:35:30 +00:00
Corinna Vinschen 5682a6dd3d * cygheap.cc (cygheap_user::set_name): Remove setting homedrive and
homepath to NULL.
	(cygheap_user::set_logsrv):  Fix free'ing of plogsrv.
	* cygheap.h (cygheap_user::cygheap_user): Initialize homedrive and
	homepath to NULL.
2002-06-13 11:35:11 +00:00
Danny Smith dc8971488e * include/_mingw.h: Increment version to 2.0.
* Makefile.in: Ditto.
	Merge in mingwex branch.
2002-06-13 10:20:48 +00:00
Christopher Faylor 5f74ae83e5 * security.cc (get_logon_server): Use strcasematch rather than strcasecmp. 2002-06-13 05:30:49 +00:00
Christopher Faylor 4863867ab9 * path.cc (chdir): Minor cleanup. 2002-06-13 03:04:50 +00:00
Christopher Faylor 12a2ef4462 * environ.cc (build_env): Correctly fill out windows environment block with
win32 paths rather than posix paths.
2002-06-13 01:28:51 +00:00
Danny Smith b89a2aac33 2002-06-13 John K. Hohm <jhohm@acm.org>
* include/comcat.h: New file.
2002-06-13 00:13:34 +00:00
Andrew Cagney 65826b61a9 Add the file include/gdb/sim-arm.h defining an enum that specifies the
register numbering used by the GDB<->SIM interface.
2002-06-12 21:19:42 +00:00
Christopher Faylor 325268e1c1 Add dumper.exe words from Egor Duda. 2002-06-12 16:06:10 +00:00
DJ Delorie 2e1c9cc889 * Makefile.in (CFLAGS_FOR_TARGET): Add -O2. 2002-06-12 15:04:45 +00:00
Christopher Faylor da086d020c * cygheap.cc (cygheap_user::set_name): Set homedrive and homepath to NULL on
user name change.
(cygheap_user::set_logsrv): Allocate enough space for leading \\ so that we can
put this in the environment, if needed.
* cygheap.h (homebodies): New enum.
(cygheap_user::homedrive): New field.
(cygheap_user::homepath): Ditto.
(cygheap_user::env_logsrv): New method.
(cygheap_user::env_homepath): New method.
(cygheap_user::env_homedrive): New method.
(cygheap_user::env_userprofile): New method.
(cygheap_user::ontherange): New method.
* environ.cc (envsize): Eliminate debugging argument.
(environ_init): Assume that envc counts number of elments not total size.
(spenv): New class.
(spenvs): New array, renamed from forced_winenv_vars, using spenv.
(spenv::retrieve): New method.
(build_env): Rename from 'winenv' -- one stop shopping for building new
environment blocks for both windows and "unix".
* environ.h (build_env: Declare.
(winenv): Delete declaration.
(envsize): Ditto.
* spawn.cc (spawn_guts): Use build_env to build windows and cygwin environment
blocks.
* uinfo.cc (internal_getlogin): Eliminate environment manipulation.  Default to
info from GetUserName if it exists.  Move HOMEPATH and HOMEDRIVE stuff
elsewhere.  Move HOME setting elsewhere.  Only set HOME environment variable in
processes that are not parented by a cygwin process.
(cygheap_user::ontherange): Define new method.
(cygheap_user::env_logsrv): Ditto.
(cygheap_user::env_homepath): Ditto.
(cygheap_user::env_homedrive): Ditto.
(cygheap_user::env_userprofile): Ditto.
2002-06-12 05:13:54 +00:00
Christopher Faylor 09c95bb14f fix comment 2002-06-11 23:30:48 +00:00
Christopher Faylor 077d8b23c8 * spawn.cc (spawn_guts): More hToken removal cleanup. 2002-06-11 16:06:16 +00:00
Nick Clifton 2fbf4a7f36 Import latest version of texi2pod.pl from FSF GCC sources. 2002-06-11 15:34:33 +00:00
Martin Schwidefsky ec43b44bb6 Revoke adding mh-s390xpic. Doesn't make any sense because it is not
referenced from anywhere.
2002-06-11 13:34:24 +00:00
Martin Schwidefsky 30b212134b 2002-06-11 Martin Schwidefsky <schwidefsky@de.ibm.com>
* mh-s390xpic: New file.
2002-06-11 09:46:38 +00:00
Christopher Faylor b2e8018f08 * libc/include/process.h: Remove cygwin-only sexec* declarations. Fix spawnve
declaration.
2002-06-11 02:26:43 +00:00
Christopher Faylor d5377829a8 * spawn.cc (spawn_guts): Define sec_attribs and call sec_user_nih() only once. 2002-06-11 02:22:02 +00:00
Christopher Faylor 380aaf2d2c * Makefile.in: Ensure that -MD gets added to CFLAGS regardless of CFLAGS
command-line setting.
* cygwin.din: Export sexec* functions as function which returns ENOSYS
(i.e., sexec* is deprecated).
* dtable.cc (dtable::vfork_child_dup): Ensure that impersonation is restored
even on failure.
* exec.cc: Throughout, remove references to sexec* and _spawnve.
* pinfo.h: Remove _spawnve declaration.
* spawn.cc: Rename _spawnve to spawnve and use throughout.
(spawn_guts): Eliminate hToken argument and processing of same.  Just perform
special actions if impersonating.
(spawnve): Rename from _spawnve.
2002-06-11 02:08:00 +00:00
Christopher Faylor 85a238e1e8 revert erroneous checkin 2002-06-10 19:59:19 +00:00
Christopher Faylor b01cbd5de2 * include/sys/strace.h (strace): Avoid use of constructor. 2002-06-10 19:58:21 +00:00
Christopher Faylor fe4283af7a * dcrt0.cc (dll_crt0_1): Initialize wincap and check for sanity before running
global ctors.
* wincap.h (wincap): Eliminate constructor.  Default is to zero memory, anyway.
* wincap.cc (wincap): Copy this on fork to avoid initialization in forked
processes.
2002-06-10 17:08:09 +00:00
Corinna Vinschen 3d78e129b7 * fhandler.h (fhandler_socket::fixup_after_fork): Revert patch from
2002-06-04.
	* fhandler_socket.cc (fhandler_socket::fixup_after_fork): Ditto.
	(fhandler_socket::dup): Ditto.
	* net.cc (fdsock): Make sockets explicitely noninheritable on NT.
2002-06-10 11:07:44 +00:00