(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.
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.
* 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.
(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.
where appropriate, throughout. Remove unneeded exceptions.h, where
appropriate, throughout. Remove unneeded perprocess.h, where appropriate,
throughout.
static void.
(print_version): New function.
(longopts): Added longopts for all options.
(main): Accommodate changes in usage function and new version option.
* 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.
* 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.
* 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.
* 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.
* 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.
(usage) Standardize usage output. Accomodate new version option.
(print_version) New function.
(longopts) Accomodate new version option.
(opts) Ditto.
(main) Ditto.
* 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.
* 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.
* cygpath.cc (main): Add option l to support conversion to
Windows long file names. Refactured code for capital options.
Support of options from file for capital options.
(dowin): New function. Refactured from main.
(doit): Call long path conversion.
(get_long_name): New function.
(get_long_paths): New function.
(get_long_path_name_w32impl): New function. Reimplementation
of Windows API function GetLongPathName (only 98/Me/2000/XP or
higher).
(get_short_name): Call GetShortPathName only once.
(get_short_paths): Fix calculating buffer size.
* utils.sgml: Update cygpath section for l option.
INVALID_HANDLE_VALUE instead of NULL.
(get_logon_server_and_user_domain): Test for INVALID_HANDLE_VALUE
instead of NULL.
(create_token): Both of the above.