Corinna Vinschen [Sun, 22 Oct 2006 14:57:43 +0000 (14:57 +0000)]
* external.cc (cygwin_internal): Use security_descriptor::copy method.
* sec_helper.cc (security_descriptor::malloc): Use own free method.
Set type.
(security_descriptor::realloc): Handle the case that psd has been
allocated using LocalAlloc. Set type.
(security_descriptor::free): Ditto.
* security.cc (get_nt_attribute): Remove.
(get_reg_security): Remove.
(get_nt_object_security): Use GetSecurityInfo which handles all
securable objects.
(get_nt_object_attribute): Remove.
(get_object_attribute): Call get_nt_object_security instead of
get_nt_object_attribute.
(get_file_attribute): Ditto.
(check_registry_access): Call get_nt_object_security instead of
get_reg_security.
* security.h (cygpsid::operator PSID): Make method const, not the
result.
(class security_descriptor): Add type member. Accomodate throughout.
(security_descriptor::copy): New method.
(security_descriptor::operator PSECURITY_DESCRIPTOR *): New operator.
Corinna Vinschen [Sun, 22 Oct 2006 09:38:47 +0000 (09:38 +0000)]
* fhandler.cc (fhandler_base::fhaccess): Check if opening registry
actually created a handle. This handles the registry root dir.
* fhandler_registry.cc (fhandler_registry::open): Set io_handle in
case of opening one of the predefined registry keys.
Corinna Vinschen [Sat, 21 Oct 2006 17:19:29 +0000 (17:19 +0000)]
* regtool.cc (key_type): Drop.
(REG_AUTO): Define.
(value_type): Replace key_type. Use REG_xxx values directly.
Accomodate change throughout.
(longopts): Add --dword, --dword-le, --none, --qword and --hex options.
(opts): Add -d, -D, -n, -Q and -x options.
(types): Array to convert REG_xxx into strings.
(hex): New variable to keep value of --hex option.
(usage): Accomodate new options. Print only the necessary by default.
Only be verbose in case of -h/--help option.
(cmd_list): Use key separator from -K option when printing.
Print value type when verbose option is given. Handle so far not
handled REG_xxx types.
(cmd_set): Avoid SEGV due to missing argument. Handle so far not
handled REG_xxx types.
(cmd_get): Handle --binary option type agnostic. Handle so far not
handled REG_xxx types.
(main): Handle new options.
Corinna Vinschen [Sat, 21 Oct 2006 11:05:32 +0000 (11:05 +0000)]
* fhandler.cc (fhandler_base::fhaccess): Call check_registry_access
for registry keys/values if ntsec is on.
* security.cc (check_access): New static function derived from
check_file_access, but object type agnostic.
(check_file_access): Only do file specific stuff. Call check_access.
(check_registry_access): New access check function for registry keys/
values.
* security.h (check_registry_access): Declare.
Corinna Vinschen [Sat, 21 Oct 2006 10:58:35 +0000 (10:58 +0000)]
* fhandler_registry.cc (fhandler_registry::fstat): Set restrictive
permission and ownership if key can't be opened for reading security.
(open_key): If opening key fails, retry opening with backup intent.
Corinna Vinschen [Thu, 19 Oct 2006 10:01:03 +0000 (10:01 +0000)]
* fhandler.h (fhandler_base::set_name): Make virtual.
(class fhandler_registry): Add wow64 and prefix_len members.
Declare set_name method.
* fhandler_proc.cc (PROC_REGISTRY32): Define.
(PROC_REGISTRY64): Define.
(proc_listing): Add "registry32" and "registry64" elements.
(proc_fhandlers): Add corresponding FH_REGISTRY values.
* fhandler_registry.cc (registry_len): Drop static value in favor of
class member prefix_len. Use preifx_len instead of registry_len
throughout.
(fhandler_registry::set_name): Define. Set wow64 and prefix_len
according to directory prefix.
(fhandler_registry::fhandler_registry): Set wow64 and prefix_len to
default values.
(open_key): Add wow64 argument. Handle wow64 in call to RegOpenKeyEx.
Use fhandler_registry member wow64 in this place throughout.
Corinna Vinschen [Tue, 17 Oct 2006 17:34:56 +0000 (17:34 +0000)]
* glob.c: Remove.
* glob.cc: New file. Latest glob version from FreeBSD plus Cygwin
specific changes (__stat64/__stat32, ignore_case_with_glob,
drop collate functions).
(glob3): Return GLOB_ABORTED in case directory is unreadable and
GLOB_ERR is set, as demanded by SUSv3.
* glob.h: Import latest version from FreeBSD.
Mark Shinwell [Tue, 17 Oct 2006 15:46:21 +0000 (15:46 +0000)]
bfd/
* elf32-arm.c (elf32_arm_howto_table_1): Change offset for
R_THM_CALL to 25 and remove FIXME comment.
(using_thumb2): New function.
(elf32_arm_final_link_relocate): Cope with Thumb-2 BL encoding.
DJ Delorie [Tue, 17 Oct 2006 04:23:49 +0000 (04:23 +0000)]
2006-10-17 Brooks Moses <bmoses@stanford.edu>
* Makefile.def: Added pdf target handling.
* Makefile.tpl: Added pdf target handling.
* Makefile.in: Regenerated.
Corinna Vinschen [Mon, 16 Oct 2006 18:00:06 +0000 (18:00 +0000)]
* regtool.cc (KEY_WOW64_64KEY): Define.
(longopts): Add --wow64 option.
(opts): Add -w option.
(wow64): New variable to control usage of KEY_WOW64_64KEY access flag.
(usage): Add text for --wow64/-w option.
(print_version): Fix copyright.
(find_key): Use wow64 value in calls to RegOpenKeyEx and RegCreateKeyEx.
(cmd_add): Use wow64 value in call to RegCreateKeyEx.
(regDeleteKeyEx): New function pointer to load RegDeleteKeyEx function
dynamically.
(cmd_remove): Load and use regDeleteKeyEx when wow64 is set.
(main): Handle --wow64/-w option.
* utils.sgml: Document the new -w option.
Corinna Vinschen [Fri, 13 Oct 2006 11:10:28 +0000 (11:10 +0000)]
* autoload.cc (Wow64DisableWow64FsRedirection): Define.
(Wow64RevertWow64FsRedirection): Define.
* security.cc (cygsuba_installed): New shared variable to store result
of cygsuba.dll installation test.
(subauth): Check if cygsuba.dll has been installed and registered
before issuing the (sub)authentication.
Corinna Vinschen [Wed, 11 Oct 2006 16:21:12 +0000 (16:21 +0000)]
* select.cc (struct socketinf): Convert ser_num and w4 to dynamically
allocated arrays. Add max_w4 member to keep track.
(thread_socket): Make timeout depending on number of sockets to wait
for. Loop WFMO over all sockets.
(start_thread_socket): Handle any number of sockets. Fix typo. Don't
close socket event in out of memory condition.
(socket_cleanup): Free ser_num and w4.
* path.cc (path_conv::get_nt_native_path): Properly detect \\?\ paths.
(mount_info::conv_to_win32_path): Update comment.
* fhandler_disk_file.cc (path_conv::ndisk_links): Use backslashes
to make NT kernel functions work for \\?\GLOBALROOT paths.
* cygcheck.cc (get_word, get_dword): Move to path.cc.
(LINK_EXTENSION): New macro.
(check_existence): New static function.
(find_on_path): Check for symbolic links if asked.
(dll_info): New error handling.
(track_down): Only call dll_info() for executables, display
an error for symlinks, and print magic number for others.
(find_app_on_path): New static function.
(cygcheck, dump_sysinfo): Call find_app_on_path() instead of
find_on_path().
* path.cc (cmp_shortcut_header): New static function.
(get_word, get_dword): Moved from cygcheck.cc.
(EXE_MAGIC, SHORTCUT_MAGIC, SYMLINK_COOKIE, SYMLINK_MAGIC): New
macros.
(is_exe, is_symlink, readlink): New functions.
* path.h (is_exe, is_symlink, readlink): Declare.
(get_word, get_dword): Ditto.
Joseph Myers [Tue, 26 Sep 2006 12:04:45 +0000 (12:04 +0000)]
bfd/
2006-09-26 Mark Shinwell <shinwell@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
Ian Lance Taylor <ian@wasabisystems.com>
Ben Elliston <bje@wasabisystems.com>
gas/
2006-09-26 Mark Shinwell <shinwell@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
Ian Lance Taylor <ian@wasabisystems.com>
Ben Elliston <bje@wasabisystems.com>
* config/tc-arm.c (arm_cext_iwmmxt2): New.
(enum operand_parse_code): New code OP_RIWR_I32z.
(parse_operands): Handle OP_RIWR_I32z.
(do_iwmmxt_wmerge): New function.
(do_iwmmxt_wldstd): Handle iwmmxt2 case where second operand is
a register.
(do_iwmmxt_wrwrwr_or_imm5): New function.
(insns): Mark instructions as RIWR_I32z as appropriate.
Also add torvsc<b,h,w>, wabs<b,h,w>, wabsdiff<b,h,w>,
waddbhus<l,m>, waddhc, waddwc, waddsubhx, wavg4{r}, wmaddu{x,n},
wmadds{x,n}, wmerge, wmiaxy{n}, wmiawxy{n}, wmul<sm,um>{r},
wmulw<um,sm,l>{r}, wqmiaxy{n}, wqmulm{r}, wqmulwm{r}, wsubaddhx.
(md_begin): Handle IWMMXT2.
(arm_cpus): Add iwmmxt2.
(arm_extensions): Likewise.
(arm_archs): Likewise.
gas/testsuite/
2006-09-26 Mark Shinwell <shinwell@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
Ian Lance Taylor <ian@wasabisystems.com>
Ben Elliston <bje@wasabisystems.com>
* gas/arm/iwmmxt2.s: New file.
* gas/arm/iwmmxt2.d: New file.
include/opcode/
2006-09-26 Mark Shinwell <shinwell@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
Ian Lance Taylor <ian@wasabisystems.com>
Ben Elliston <bje@wasabisystems.com>
opcodes/
2006-09-26 Mark Shinwell <shinwell@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
Ian Lance Taylor <ian@wasabisystems.com>
Ben Elliston <bje@wasabisystems.com>
* arm-dis.c (coprocessor_opcodes): The X-qualifier to WMADD may
only be used with the default multiply-add operation, so if N is
set, don't bother printing X. Add new iwmmxt instructions.
(IWMMXT_INSN_COUNT): Update.
(iwmmxt_wwssnames): Qualify "wwss" names at index 2, 6, 10 and 14
with a 'c' suffix.
(print_insn_coprocessor): Check for iWMMXt2. Handle format
specifiers 'r', 'i'.
Danny Smith [Sun, 17 Sep 2006 22:27:56 +0000 (22:27 +0000)]
* mingwex/gdtoa/g_xfmt.c (g_xfmt): Fix representation of infinity. Use fpclassify.
* mingwex/gdtoa/strtopx (__strtopx): Avoid cast of long double* to void*.
* mingwex/gdtoa/gdtoa.h (__g_fmt): Make declaration consistent with others.
Jeff Johnston [Wed, 13 Sep 2006 22:09:27 +0000 (22:09 +0000)]
2006-09-13 Joel Sherrill <joel@oarcorp.com>
* libc/include/pthread.h: Add pthread barriers,
rwlocks, and spinlocks. Change const to
_CONST and prefix parameter names with
an underscore.
* libc/include/sys/types.h: Add id and attribute
types for barriers, wrlocks, and spinlocks.
* libc/include/sys/features.h: Enable barriers,
wrlocks, and spinlocks for RTEMS.
* environ.cc (build_env): Don't put an empty environment variable into the
environment. Optimize use of "len".
* errno.cc (ERROR_MORE_DATA): Translate to EMSGSIZE rather than EAGAIN.
* libc/machine/xstormy16/Makefile.am:
Add $(lpfx) prefix to LIBADD objects.
lib_a_DEPENDENCIES uses the value of lib_a_LIBADD.
* libc/machine/xstormy16/Makefile.in: Regenerated.
* ldlex.h (input_enum): Add input_dynamic_list.
* ldlex.l: Handle it.
* ldmain.c (main): Initialize link_info.dynamic.
* lexsup.c (option_values): Add OPTION_DYNAMIC_LIST and
OPTION_DYNAMIC_LIST_CPP_TYPEINFO.
(ld_options): Add entries for OPTION_DYNAMIC_LIST and
OPTION_DYNAMIC_LIST_CPP_TYPEINFO.
(parse_args): Handle OPTION_DYNAMIC_LIST and
OPTION_DYNAMIC_LIST_CPP_TYPEINFO.
* lib/ld-lib.exp (run_ld_link_exec_tests): Take an optional
argument for source language. Use CC/CXX for link, depending
on source language.
(run_cc_link_tests): Likewise.
Danny Smith [Wed, 6 Sep 2006 22:03:16 +0000 (22:03 +0000)]
* mingwex/gdtoa/misc.c (pow5mult): Restore original code.
* mingwex/gdtoa/gdtoa.h. Add comment that files have been modified.
* mingwex/gdtoa/gdtoaimp.h: Include system headers with <> brackets.
Corinna Vinschen [Wed, 30 Aug 2006 13:14:18 +0000 (13:14 +0000)]
* configure.in: Never build newlib for a Mingw host.
Never build newlib as Mingw target library.
Test the existence of winsup/cygwin for building a Cygwin newlib,
rather than just winsup.
Add winsup/mingw and winsup/w32api paths to FLAGS_FOR_TARGET if
building a Mingw target.
* configure: Regenerate.
Corinna Vinschen [Wed, 30 Aug 2006 13:05:46 +0000 (13:05 +0000)]
* Makefile.in: Make installation of CYGWIN_LICENSE configurable.
* aclocal.m4: Regenerate.
* configure.in: Add GCC_NO_EXECUTABLES call. Add configuration for
INSTALL_LICENSE. Make cygwin subdirectory optional. Add sanity
check for cygwin resp. mingw subdirectories dependent of the target.
* configure: Regenerate.
Corinna Vinschen [Wed, 30 Aug 2006 13:05:05 +0000 (13:05 +0000)]
* Makefile.in: Add with_cross_host to allow more granular checks.
Set installation directories accordingly. Override CC setting only
if building a Cygwin target.
* aclocal.m4: Regenerate.
* configure.in: Move AC_CANONICAL_SYSTEM check up. Add
GCC_NO_EXECUTABLES. Substitute with_cross_host in depending files.
Test AC_ALLOCA only if building on a native system.
* configure: Regenerate.
Jeff Johnston [Mon, 28 Aug 2006 17:17:24 +0000 (17:17 +0000)]
2006-08-27 Joel Sherrill <joel.sherrill@OARcorp.com>
* libc/sys/rtems/machine/sys/param.h: Conditionalize definition of
BLKDEV_IOSIZE and MAXPHYS so it will fit into small memory targets.
This is needed to build all AVR and H8300 RTEMS multilib variants.