summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use NtQueryObject to detect closing the last master handleCorinna Vinschen2015-05-282-8/+29
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* * net.cc: Define _NETIOAPI_H_ to accomodate newer w32api.Takashi Yano2015-05-272-1/+6
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix potential memory leak in argz_replaceDavid Stacey2015-05-272-1/+8
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Avoid unneeded truncation to "int"DJ Delorie2015-05-262-1/+6
| | | | | * libm/math/e_sqrt.c (__ieee754_sqrt): Don't truncate constant to "int".
* or1k: Add missing initialization of impure ptrJeff Johnston2015-05-262-0/+7
| | | | * or1k/impure.c: Fix initialization of impure ptr
* or1k: set heap start for optimsoc-gzllJeff Johnston2015-05-262-0/+33
| | | | | | | | | | | | | | | | | | | - With the gzll kernel we have two different loading options: - If the image is loaded to the global memory, the bootstrapping loads the kernel to local memory. Applications are loaded on demand. The heap then starts right after bss. - If the image is pre-loaded to the local memory it includes the application binaries right after bss. The heap then starts after the application objects. - We can check if this is a gzll kernel as it has the string "gzll" at 0x2000. At 0x200c we then find the end of the application objects in the image. If there is no global memory we set _or1k_heap_start to this value. * or1k/boards/optimsoc.S: Heap for gzll kernel
* or1k: Make heap start configurableJeff Johnston2015-05-262-2/+7
| | | | | | | | | - Previously the heap started right after the bss section. This can now be configured by changing the _or1k_heap_start symbol that defaults to the old value (&end). In board_init_early, we can now set this to another value. * or1k/sbrk.c: Allow for different heap start
* or1k: UART also accept timeout interruptJeff Johnston2015-05-262-3/+9
| | | | | | | - The UART interrupt only handled receiver FIFO full interrupts, but we also want to handle timeout interrupts. * or1k/or1k_uart.c: Fix interrupts
* Bug fix in timer for or1kJeff Johnston2015-05-262-1/+5
| | | | | | - Properly set the interrupt pending flag in the timer mode register. * or1k/timer.c: Properly set interrupt flags
* Store entire context for or1kJeff Johnston2015-05-262-0/+14
| | | | | | | | - Store the exception program counter (from EPCR) and exception status register (from ESR) also during the exception. A runtime system may replace them thereby to implement a thread switch. * or1k/exception-asm.S: Store missing state
* Fix exception stack frame for or1kJeff Johnston2015-05-263-3/+8
| | | | | | | | | - We do not need a red zone here, as we do not operate on the current stack, but always use the clear exception stack. Also reserve two extra words for the context to store EPCR and ESR. * or1k/crt0.S: Fix exception stack frame * or1k/exception-asm.S: ditto
* Fix interrupt handling for or1k.Jeff Johnston2015-05-262-28/+28
| | | | | | | | | | | | - During interrupt handling the PICSR, table pointers and current interrupt line have been saved in incorrect registers and/or stored on the stack. - Save the pointer in r16/r18, PICSR in r20 and the current interrupt line in r22. Those are callee-saved registers, so that the register values will be preserved. * or1k/interruts-asm.S: Change registers to callee-saved.
* Add a check that the data area does not overrun the stack.Nick Clifton2015-05-187-3/+110
| | | | | | | | | | | * msp430/msp430-sim.ld (.stack): Add an assertion to make sure that the data area does not overrun the stack. PROVIDE a new symbol __stack_size to allow the user to set the limit. * msp430/msp430xl-sim.ld (.stack): Likewise. * rl78/rl78-sim.ld (.stack): Likewise. * rl78/rl78.ld (.stack): Likewise. * rx/rx-sim.ld (.stack): Likewise. * rx/rx.ld (.stack): Likewise.
* Update signbit functions to work on targets where integers are only 16-bits.Nick Clifton2015-05-132-4/+9
| | | | | * libm/common/s_signbit.c (__signbitf): Fix for 16-bit targets. (__signbitd): Likewise.
* Adds support for placing MSP430 code and data into either low memory or high ↵Nick Clifton2015-05-0510-786/+455
| | | | | | | | | | | | | | | | | | | | | | | | | | | | memory. * msp430/msp430.ld: Delete. * msp430/msp430F5438A-l.ld: Delete. * msp430/msp430F5438A-s.ld: Delete. * msp430/crt_movedata.S: Delete. * msp430/Makefile.in (SCRIPTS): Remove msp430.ld. (CRT_OBJS): Add crt_move_highdata.o. * msp430/memmodel.h (START_CRT_FUNC): New macro. (END_CRT_FUNC): New macro. (WEAK_DEF): New macro. * msp430/crt0.S: Use new macros. (move_highdata): New code to initialise the .data section if it is held in high memory. * msp430/msp430-sim.ld (.data): Add .either.data. (.rodata2): Move some read-only data sections here. (.text): Add .either.text. (.rodata): Add .either.rodata. (.bss): Add .either.bss. * msp430/msp430xl-sim.ld (MEMORY): Add HIROM. (.rodata2): Move some read-only data sections here. (.upper.data): New section. Include notes about how to initialise it.
* Bump minor DLL version to 2Corinna Vinschen2015-05-032-1/+5
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Revert to exposing sys/select.h from sys/time.h on CygwinCorinna Vinschen2015-05-032-0/+10
| | | | | | * libc/include/sys/time.h: Include sys/select.h on Cygwin. Explain why. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Bump minor DLL version to 1Corinna Vinschen2015-05-033-1/+13
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Use all ACEs from original ACL on Samba shareCorinna Vinschen2015-04-302-3/+8
| | | | | | | * security.cc (convert_samba_sd): Fix accidental dropping of all non-Unix User, non-Unix Group accounts. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix more typos in ntsec.xmlYaakov Selkowitz2015-04-291-4/+4
| | | | Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Improve check for int32_t being long or intCorinna Vinschen2015-04-295-32/+53
| | | | | | | | | | | | | | * libc/include/sys/config.h: Move evaluation of _UINTPTR_EQ_ULONG and _UINTPTR_EQ_ULONGLONG from here... * libc/include/sys/_intsup.h: ...to here. Rename to _INTPTR_EQ_LONG and _INTPTR_EQ_LONGLONG to refer to signed base type. Add test for base type of int32_t and set _INT32_EQ_LONG accordingly. * libc/include/stdint.h: Change checks for __have_long32 to checks for _INT32_EQ_LONG. * libc/include/inttypes.h: Ditto. Accommodate aforementioned name change. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Define __s64 and __u64Corinna Vinschen2015-04-272-1/+9
| | | | | | * include/asm/types.h: Add __s64 and __u64 types. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygserver.xml: Add new section. How to install Cygserver.Mike DePaulo2015-04-272-0/+18
| | | | | | | * cygserver.xml (install-cygserver): Add new section. How to install Cygserver. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Document previous unlink patchnewlib-snapshot-20150423Corinna Vinschen2015-04-231-0/+6
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Handle unlinking in-use files on virtual drivesCorinna Vinschen2015-04-234-3/+46
| | | | | | | | | | * path.cc (path_conv::set_nt_native_path): New function. * path.h (path_conv::set_nt_native_path): Add prototype. * syscall.cc (try_to_bin): Handle moving files to the recycler accessed via a local virtual drive (subst). Fix a problem renaming the file to the unique replacement name on Samba. Align comment. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix closing too many handles in pty fchown/fchmodCorinna Vinschen2015-04-222-3/+5
| | | | | | | | * fhandler_tty.cc (fhandler_pty_slave::fch_close_handles): Don't close handles not opened via fhandler_pty_slave::fch_open_handles. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix OPOST for non-Cygwin pty slavesTakashi Yano2015-04-225-19/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fhandler.h (class fhandler_base): Add virtual function get_io_handle_cyg() to get handle from which OPOST-processed output is read on PTY master. (class fhandler_pty_slave): Add variable output_handle_cyg to store a handle to which OPOST-processed output is written. Add two functions, i.e., set_output_handle_cyg() and get_output_handle_cyg(), regarding variable output_handle_cyg. Now, output_handle is used only by native windows program. The data before OPOST-processing is written to output_handle and OPOST-processing is applied in the master-side. For a cygwin process, OPOST-processing is applied in the slave-side, and the data after OPOST-processing is written to output_handle_cyg. (class fhandler_pty_master): Add two variables, i.e., io_handle_cyg and to_master_cyg, to store handles of a pipe through which OPOST-processed output passes. Add pty_master_fwd_thread and function pty_master_fwd_thread() for a thread which applies OPOST-processing and forwards data from io_handle to to_master_cyg. Add function get_io_handle_cyg() regarding variable io_handle_cyg. Now, the pipe between io_handle and to_master are used only by native windows program for applying OPOST-processing in the master-side. For a cygwin process, the pipe between io_handle_cyg and to_master_cyg is used for passing through the data which is applied OPOST-processing in the slave-side. * fhandler_tty.cc (struct pipe_reply): Add member to_master_cyg. (fhandler_pty_master::process_slave_output): Read slave output from io_handle_cyg rather than io_handle. (fhandler_pty_slave::fhandler_pty_salve): Initialize output_handle_cyg. (fhandler_pty_slave::open): Set output_handle_cyg by duplicating handle to_master_cyg on PTY master. (fhandler_pty_slave::close): Close handle output_handle_cyg. (fhandler_pty_slave::write): Write data to output_handle_cyg rather than output_handle. (fhandler_pty_slave::fch_close_handles): Close handle output_handle_cyg. (fhandler_pty_master::fhandler_pty_master): Initialize io_handle_cyg, to_master_cyg and master_fwd_thread. (fhandler_pty_master::cleanup): Clean up to_master_cyg as well. (fhandler_pty_master::close): Print to_master_cyg as well in debug message. Terminate master forwarding thread. Close handles to_master_cyg and io_handle_cyg. (fhandler_pty_master::ioctl): Use io_handle_cyg rather than to_master. (fhandler_pty_master::pty_master_thread): Add code for duplicating handle to_master_cyg. (fhandler_pty_master::pty_master_fwd_thread): New function for a thread to forward OPOST-processed data from io_handle to to_master_cyg. This thread applies OPOST-processing to the output of native windows program. (::pty_master_fwd_thread): Ditto. (fhandler_pty_master::setup): Create a new pipe to pass thruegh OPOST- processed output. Create new thread to forward data from io_handle to to_master_cyg. Set handle to_master_cyg to tty. Print io_handle_cyg as well in debug message. Close handles io_handle_cyg and to_master_cyg in case of error. (fhandler_pty_master::fixup_after_fork): Set handle to_master_cyg to tty. Copy handle to_master_cyg from arch->to_master_cyg. (fhandler_pty_master::fixup_after_exec): Clean up to_master_cyg. * select.cc: Check handle returned by get_io_handle_cyg() rather than get_handle(). * tty.h (class tty): Add variable _to_master_cyg to store a handle to which OPOST-processed data is written. Add two functions, to_master_cyg() and set_to_master_cyg(), regarding _to_master_cyg. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Undef basename before defining function.Corinna Vinschen2015-04-222-0/+7
| | | | | | | * path.cc (basename): Undefine basename before defining function to avoid type collision with prototype in string.h. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix basename prototype collision string.h vs libgen.hCorinna Vinschen2015-04-223-12/+34
| | | | | | | | | | * libc/include/libgen.h (basename): Drop defining _BASENAME_DEFINED. Always define macro basename. Add comment to explain why. * libc/include/string.h (basename): Check for basename instead of _BASENAME_DEFINED. Drop __GNUC__ branch, always use basename macro. Change comment to explain why. Add nonnull function attribute. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* libgloss: mcore: add custom syscall headerMike Frysinger2015-04-212-0/+47
| | | | | The mcore simulator has a unique set of syscall numbers. Add a header that matches reality since the common one doesn't.
* libgloss: arm: fix copy & paste in syscall.hMike Frysinger2015-04-212-3/+7
| | | | | | This header was clearly copied from the common syscall.h and customized, but the header comment is no longer accurate -- this isn't the general file anymore.
* Remove Cygwin's libgen.hCorinna Vinschen2015-04-212-23/+4
| | | | | | * include/libgen.h: Remove in favor of newlib version. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Asia/Calcutta -> Asia/Kolkata (not on unicode.org)Corinna Vinschen2015-04-213-4/+13
| | | | | | | * tzmap-from-unicode.org: Convert Calcutta to Kolkata. * tzmap.h: Regenerate. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Apply umask on "standard" Cygwin ACLCorinna Vinschen2015-04-213-23/+54
| | | | | | | | | * sec_acl.cc (get_posix_access): Check for Cygwin "standard" ACL. Apply umask, if so. Align comments. * security.cc (set_created_file_access): Fix permission masking by incoming requested file mode. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Apply mask execute bit for SYSTEM and Admins group.Corinna Vinschen2015-04-204-7/+34
| | | | | | | | | * sec_acl.cc (set_posix_access): Apply mask only in terms of execute bit for SYSTEM and Admins group. * getfacl.c (main): Special-case SYSTEM and Admins group. Add comments. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix inconsistencies in docs regarding fstab and executable file detectionDavid Macek2015-04-201-7/+6
| | | | | | | | | | | | | The inline list of mount options seemed redundant, so the paragraph now points to the list below it. List of executable extensions updated according to fhandler_disk_file.cc. List of executable magic numbers updated according to path.h (has_exec_chars). * pathnames.xml: Fix inconsistencies in docs regarding fstab and executable file detection Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* sec_acl.cc (set_posix_access): Fix typo in commentCorinna Vinschen2015-04-201-1/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Try to avoid creating dangerous DENY ACEsCorinna Vinschen2015-04-182-0/+11
| | | | | | | * sec_acl.cc (set_posix_access): Don't create DENY ACEs for USER and GROUP entries if they are the same as USER_OBJ or GROUP_OBJ. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Support acl(2) method for reading pty ACLs, fix pty chownCorinna Vinschen2015-04-175-24/+120
| | | | | | | | | | | | | | | | * fhandler.h (fhandler_pty_slave::facl): Add prototype. * fhandler_tty.cc (fhandler_pty_slave::facl): New method. (fhandler_pty_slave::fchown): Fix uid/gid handling. * sec_acl.cc (set_posix_access): Drop superfluous class_idx variable. Simplify and move around code in a few places. To improve ACL readability, add r/w permissions to Admins ACE appended to pty ACL. Add comment to explain Windows ACE Mask filtering being in the way of creating a real CLASS_OBJ. (get_posix_access): Fake CLASS_OBJ for ptys. Explain why. * security.cc (get_object_attribute): Add S_IFCHR flag to attributes when calling get_posix_access. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix broken SID in passwd/group entry for unkown accountCorinna Vinschen2015-04-172-1/+6
| | | | | | | * uinfo.cc (pwdgrp::fetch_account_from_windows): Always revert SID subauth count after checking for known domain. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix broken PSID problem on cygheap in account handlingCorinna Vinschen2015-04-174-4/+20
| | | | | | | | | | * pwdgrp.h: Add comment to explain below change. (struct pg_pwd): Convert sid member to BYTE array. (struct pg_grp): Ditto. * grp.cc (pwdgrp::parse_group): Accommodate above change. * passwd.cc (pwdgrp::parse_passwd): Ditto. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix merging group perms into owner perms in owner == group caseCorinna Vinschen2015-04-162-5/+11
| | | | | | | | * sec_acl.cc (set_posix_access): Move merging group perms into owner perms in case of owner == group after mask has been computed. Take mask into account when doing so to avoid unnecessary ACCESS_DENIED_ACE. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix setting saw_group_obj flagCorinna Vinschen2015-04-162-1/+7
| | | | | | | * sec_acl.cc (get_posix_access): Only set saw_group_obj flag if we saw the ACCESS_ALLOWED_ACE. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Set GROUP_OBJ and CLASS_OBJ perms to new group permsCorinna Vinschen2015-04-163-4/+17
| | | | | | | | | * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Deliberatly set GROUP_OBJ and CLASS_OBJ perms to new group perms. Add comment to explain why. * security.cc (set_created_file_access): Ditto. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Better workaround owner/group SIDs being NULLCorinna Vinschen2015-04-162-4/+14
| | | | | | | | * sec_acl.cc (set_posix_access): Replace previous patch. Return EINVAL if uid and/or guid is invalid and not backed by an actual Windows account. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Workaround owner/group SIDs being NULLCorinna Vinschen2015-04-162-2/+9
| | | | | | * sec_acl.cc (set_posix_access): Workaround owner/group SIDs being NULL. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add mask recomputation as on LinuxCorinna Vinschen2015-04-164-181/+314
| | | | | | | | | | | | | | | | | | * setfacl.c: Align more to Linux tool. (delacl): New function to delete acl entries only. (modacl): Drop delete functionality. Add handling of recomputing the mask and default mask values. (delallacl): Rename from delacl. (setfacl): Call delacl in Delete case. Call delallacl in DeleteAll and DeleteDef case. (usage): Accommodate new options. Rearrange and rephrase slightly. (longopts): Emit 'x' in --delete case. Add --no-mask and --mask options. (opts): Add -x and -n options. (main): Handle -d and -x the same. Handle -n and --mask options. Drop handling for -r option. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add output of effective rights to getfaclCorinna Vinschen2015-04-164-63/+145
| | | | | | | | | | | | * getfacl.c (usage): Align more closely to Linux version. Add new options -c, -e, -E. Change formatting to accommodate longer options. (longopts): Rename --noname to --numeric. Keep --noname for backward compatibility. Add --omit-header, --all-effective and --no-effective options. (opts): Add -c, -e and -E option. (main): Handle new -c, -e, and -E options. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Handle files with owner == group.Corinna Vinschen2015-04-152-20/+80
| | | | | | | | * sec_acl.cc (set_posix_access): Handle files with owner == group. Rephrase switch statement checking against unfiltered a_type value. (get_posix_access): Handle files with owner == group. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix typo in commentCorinna Vinschen2015-04-141-2/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>