]> sourceware.org Git - newlib-cygwin.git/log
newlib-cygwin.git
9 years agoRework handling of basename variants
Yaakov Selkowitz [Mon, 6 Jul 2015 19:58:51 +0000 (14:58 -0500)]
Rework handling of basename variants

As a commonly-included header, the #define basename in <string.h> can
affect code which uses "basename" for its own purposes (e.g. struct
members or C++ namespaced functions).  When such cases occur and some
code includes <string.h> and some not, then errors result.  OTOH,
<libgen.h> is rarely used, and that's where the renaming occurs in
glibc, so code using <libgen.h> should already be safe.

* libc/include/libgen.h (basename): Define as __xpg_basename
for source compatibility with glibc.
Declare with __ASMNAME("basename") for ABI compatibility.
* libc/include/string.h (basename): Define as basename for
source compatibility with glibc.
Declare with __ASMNAME("__gnu_basename") for ABI compatibility.

9 years agoFix sys/time.h build problem due to inconsistent macro usage
Corinna Vinschen [Mon, 6 Jul 2015 12:08:30 +0000 (14:08 +0200)]
Fix sys/time.h build problem due to inconsistent macro usage

https://sourceware.org/ml/newlib/2015/msg00520.html describes
how sys/time.h uses __BSD_VISIBLE while the types used in the
affected inline functions are guarded with !_POSIX_SOURCE.
Fix that by guarding the type with __BSD_VISIBLE as well.

        * libc/include/sys/time.h: Explicitely include sys/cdefs.h.
        * libc/include/sys/types.h: Ditto.  Guard BSD convenience base types
        with __BSD_VISIBLE rather than !_POSIX_SOURCE.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agowinsup/doc: Add a configure test to find docbook2xtexi
Jon TURNEY [Sun, 5 Jul 2015 18:09:16 +0000 (19:09 +0100)]
winsup/doc: Add a configure test to find docbook2xtexi

Fedora installs docbook2texi under the name db2x_docbook2texi
Other distros and Cygwin install docbook2texi under the name docbook2x-texi

Add a configure test to find either.

2015-07-05  Jon Turney  <jon.turney@dronecode.org.uk>

* configure.ac: Add check for DOCBOOK2XTEXI
* configure: Regenerate.
* Makefile.in (DOCBOOK2XTEXI): Use.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoAlign hard stack allocation to pthread stack setup changes
Corinna Vinschen [Sun, 5 Jul 2015 15:45:06 +0000 (17:45 +0200)]
Align hard stack allocation to pthread stack setup changes

* dcrt0.cc (CYGWIN_GUARD): Remove.
(child_info_fork::alloc_stack_hard_way): Align stack commit to changes
of thread stack setup in CygwinCreateThread.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoImplement correct RLIMIT_STACK handling
Corinna Vinschen [Sun, 5 Jul 2015 13:51:37 +0000 (15:51 +0200)]
Implement correct RLIMIT_STACK handling

        * miscfuncs.cc (struct pthread_wrapper_arg): Add member guardsize.
        (pthread_wrapper): Set thread stack guarantee according to guardsize.
        Tweak assembler code so that $rax/$eax is not required by GCC to
        prepare the wrapper_arg value.
        (CygwinCreateThread): Fix deadzone handling.  Drop setting a "POSIX"
        guardpage (aka page w/ PAGE_NOACCESS).  Always use Windows guard
        pages instead.  On post-XP systems (providing SetThreadStackGuarantee)
        always set up stack Windows like with reserved/commited areas and
        movable guard pages.  Only on XP set up stack fully commited if the
        guardpage size is not the default system guardpage size.
        Fill out pthread_wrapper_arg::guardsize.  Improve comments.
        * resource.cc: Implement RSTACK_LIMIT Linux-like.
        (DEFAULT_STACKSIZE): New macro.
        (DEFAULT_STACKGUARD): Ditto.
        (rlimit_stack_guard): New muto.
        (rlimit_stack): New global variable holding current RSTACK_LIMIT values.
        (__set_rlimit_stack): Set rlimit_stack under lock.
        (__get_rlimit_stack): Initialize rlimit_stack from executable header
        and return rlimit_stack values under lock.
        (get_rlimit_stack): Filtering function to return useful default
        stacksize from rlimit_stack.rlim_cur value.
        (getrlimit): Call __get_rlimit_stack in RLIMIT_STACK case.
        (setrlimit): Call __set_rlimit_stack in RLIMIT_STACK case.
        * thread.cc (pthread::create): Fetch default stacksize calling
        get_rlimit_stack.
        (pthread_attr::pthread_attr): Fetch default guardsize calling
        wincap.def_guard_page_size.
        (pthread_attr_getstacksize): Fetch default stacksize calling
        get_rlimit_stack.
        * thread.h (PTHREAD_DEFAULT_STACKSIZE): Remove.
        (PTHREAD_DEFAULT_GUARDSIZE): Remove.
        (get_rlimit_stack): Declare.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoDisable fetching heap info on 64 bit XP/2003
Corinna Vinschen [Sun, 5 Jul 2015 10:51:52 +0000 (12:51 +0200)]
Disable fetching heap info on 64 bit XP/2003

        * fhandler_process.cc (heap_info::heap_info): Disable fetching heap info
        on 64 bit XP/2003.  Explain why.
        * wincap.h (wincaps::has_broken_rtl_query_process_debug_information):
        New element.
        * wincap.cc: Implement above element throughout.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoAdd missing wincap changes to previous ChangeLog entry
Corinna Vinschen [Sun, 5 Jul 2015 10:48:05 +0000 (12:48 +0200)]
Add missing wincap changes to previous ChangeLog entry

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoFix original stack when running signal handler on alternate stack
Corinna Vinschen [Sat, 4 Jul 2015 20:49:30 +0000 (22:49 +0200)]
Fix original stack when running signal handler on alternate stack

        * autoload.cc (SetThreadStackGuarantee): Import.
        * cygtls.h (struct _cygtls): Replace thread_context with a ucontext_t
        called context.
        * exceptions.cc (exception::handle): Exit from process via signal_exit
        in case sig_send returns from handling a stack overflow SIGSEGV.
        Explain why.
        (dumpstack_overflow_wrapper): Thread wrapper to create a stackdump
        from another thread.
        (signal_exit): Fix argument list to reflect three-arg signal handler.
        In case we have to create a stackdump for a stack overflow condition,
        do so from a separate thread.  Explain why.
        (sigpacket::process): Don't run signal_exit on alternate stack.
        (altstack_wrapper): Wrapper function to do stack correction when
        calling the signal handler on an alternate stack to handle a stack
        overflow.  Make sure to have lots of comments.
        (_cygtls::call_signal_handler): Drop local context variable to reduce
        stack pressure.  Use this->context instead.  Change inline assembler
        to call altstack_wrapper.
        (_cygtls::signal_debugger): Accommodate aforementioned change to
        struct _cygtls.
        * tlsoffset.h: Regenerate.
        * tlsoffset64.h: Regenerate.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoPrevent use of uninitialized file lock
Sebastian Huber [Wed, 1 Jul 2015 13:35:00 +0000 (15:35 +0200)]
Prevent use of uninitialized file lock

The CHECK_INIT() is necessary before the _newlib_flockfile_start() since
this would use otherwise acquire an uninitialized lock which gets
initialized after this leading to a corrupt release.

newlib/ChangeLog
2015-07-01  Sebastian Huber  <sebastian.huber@embedded-brains.de>

libc/stdio/fputs.c (_puts_r): Add missing CHECK_INIT().
libc/stdio/gets.c (_gets_r): Add missing _REENT_SMALL_CHECK_INIT() and
CHECK_INIT().  Use _stdin_r() to get the file pointer instead of stdin.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoDocument previous change
Corinna Vinschen [Wed, 1 Jul 2015 13:50:18 +0000 (15:50 +0200)]
Document previous change

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoFix fork after recovered stack overflow
Corinna Vinschen [Wed, 1 Jul 2015 13:28:16 +0000 (15:28 +0200)]
Fix fork after recovered stack overflow

* fork.cc (frok::parent): Set stacktop value based on requested stack
pointer value in child.  Explain why.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoAdd comment to sigaltstack to explain setting ss_flags here
Corinna Vinschen [Tue, 30 Jun 2015 18:43:50 +0000 (20:43 +0200)]
Add comment to sigaltstack to explain setting ss_flags here

* signal.cc (sigaltstack): Add comment.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoRegenerate Makefile.in
Jon TURNEY [Mon, 29 Jun 2015 11:24:04 +0000 (12:24 +0100)]
Regenerate Makefile.in

Regenerate Makefile.in with changes in commits 153385d8 and 433aad91

2015-06-29  Jon Turney  <jon.turney@dronecode.org.uk>

* libc/ctype/Makefile.in: Regenerate.
* libc/posix/Makefile.in: Ditto.
* libc/stdio/Makefile.in: Ditto.
* libc/stdio64/Makefile.in: Ditto.
* libc/stdlib/Makefile.in: Ditto.
* libc/string/Makefile.in: Ditto.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoHandle ss_flags value longjmp safe.
Corinna Vinschen [Sat, 27 Jun 2015 10:08:07 +0000 (12:08 +0200)]
Handle ss_flags value longjmp safe.

* exceptions.cc (_cygtls::call_signal_handler): Drop manipulating
thread's ss_flags here.  It's not safe against longjmp.
* signal.cc (sigaltstack): Check if we're running on the alternate
stack and set ss_flags returned in oss to SS_ONSTACK.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoDefine larger MINSIGSTKSZ and SIGSTKSZ values for Cygwin
Corinna Vinschen [Fri, 26 Jun 2015 19:41:26 +0000 (21:41 +0200)]
Define larger MINSIGSTKSZ and SIGSTKSZ values for Cygwin

* include/cygwin/signal.h: Revert to define MINSIGSTKSZ and SIGSTKSZ
here with bigger values to allow _cygtls to reside on signal stack,
should it turn out to be required at one point.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoFix values returned by getrlimit(RLIMIT_STACK)
Corinna Vinschen [Fri, 26 Jun 2015 18:41:54 +0000 (20:41 +0200)]
Fix values returned by getrlimit(RLIMIT_STACK)

* resource.cc (getrlimit): Fix values returned by RLIMIT_STACK.
Explain why this had to be changed.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoUse source files which have makedoc markup, but aren't processed or included. newlib-snapshot-20150623
Jon TURNEY [Tue, 23 Jun 2015 13:35:00 +0000 (14:35 +0100)]
Use source files which have makedoc markup, but aren't processed or included.

These source files have makedoc markup, but aren't listed to be chewed by
makedoc. I am assuming that is accidental.

Future work: Note that stdio/fseeko.c, stdio/ftello.c and common/s_isnand.c have
makedoc markup, but duplicate stdio/fseek.c, stdio/ftell.c and common/s_isnan.c
respectively.

2015-06-23  Jon Turney  <jon.turney@dronecode.org.uk>

* libc/ctype/Makefile.am (CHEWOUT_FILES): Add isblank.def.
* libc/ctype/ctype.tex: Include isblank and add to menu.
* libc/posix/Makefile.am (CHEWOUT_FILES): Add posix_spawn.def.
* libc/posix/posix.tex: Include posix_spawn and add to menu.
* libc/stdio64/Makefile.am (CHEWOUT_FILES): Add fdopen.def.
* libc/stdio64/stdio64.tex: Include fdopen64 and add to menu.
* libc/stdio64/fdopen64.c: Improve one-line description.
* libc/string/Makefile.am (CHEWOUT_FILES): Add strchrnul.def.
* libc/string/strings.tex: Include strchrnul and add to menu.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoUse makedoc output files which are generated but aren't included
Jon TURNEY [Tue, 23 Jun 2015 13:10:14 +0000 (14:10 +0100)]
Use makedoc output files which are generated but aren't included

I think these are accidental omissions, as these source files are listed to be
chewed by makedoc, but the result is not included by any texinfo source file.

Future work: Nothing in libc/reent/ which is processed by makedoc is included by
reent.tex

2015-06-23  Jon Turney  <jon.turney@dronecode.org.uk>

* libc/stdlib/stdlib.tex: Include itoa and utoa, and add to menu.
* libc/string/strings.tex: Include memrchr and rawmemchr, and add
to menu.
* libm/math/math.tex: Include exp10 and pow10, and add to menu.
* libm/common/s_exp10.c: Improve one-line description.
* libm/common/s_exp10.c: Ditto.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoDon't chew files which contain no documentation markup
Jon TURNEY [Tue, 16 Jun 2015 10:52:10 +0000 (11:52 +0100)]
Don't chew files which contain no documentation markup

Don't chew files which contain no documentation markup.

Neither of the alternatives for MALLOCR (mallocr.c or nano-mallocr.c) contain
any documentation markup.

2015-06-23  Jon Turney  <jon.turney@dronecode.org.uk>

* libc/stdlib/Makefile.am (CHEWOUT_FILES): Remove $(MALLOCR).def.
* libc/stdio/Makefile.am (CHEWOUT_FILES): Remove getwc.def and
putwc.def.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoFix mismatched parentheses in documentation.
Jon TURNEY [Thu, 18 Jun 2015 12:38:12 +0000 (13:38 +0100)]
Fix mismatched parentheses in documentation.

2015-06-23  Jon Turney  <jon.turney@dronecode.org.uk>

* libc/locale/locale.c: Fix mismatched parentheses in
documentation.
* libc/locale/locale.tex: Ditto.
* libc/stdio/fgetwc.c: Ditto.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoFix typo-ed function names in efgcvt.c documentation
Jon TURNEY [Tue, 23 Jun 2015 11:43:51 +0000 (12:43 +0100)]
Fix typo-ed function names in efgcvt.c documentation

Fix typo-ed function names in efgcvt.c documentation, neither gvcvt nor gdvtf
exists.

2015-06-23  Jon Turney  <jon.turney@dronecode.org.uk>

* libc/stdlib/efgcvt.c: Fix typo-ed function names in
documentation.
* libc/stdlib/stdlib.tex: Fix function name in menu to match.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoFix an inconsistent use of '.' in FUNCTION
Jon TURNEY [Tue, 23 Jun 2015 12:02:33 +0000 (13:02 +0100)]
Fix an inconsistent use of '.' in FUNCTION

Fix an inconsistent use of '.' to separate function names in FUNCTION. ',' is
used everywhere else.

2015-06-23  Jon Turney  <jon.turney@dronecode.org.uk>

* libc/stdio/fread.c: Fix inconsistent use of '.' to separate
function names in FUNCTION mark up.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoFix SYNOPSIS prototypes without marked up parameter names
Jon TURNEY [Tue, 23 Jun 2015 12:00:57 +0000 (13:00 +0100)]
Fix SYNOPSIS prototypes without marked up parameter names

2015-06-23  Jon Turney  <jon.turney@dronecode.org.uk>

* libc/stdlib/llabs.c: Mark up parameter name in ANSI_SYNOPSIS.
* libc/time/tzset.c: Add and mark up parameter in SYNOPSIS.
* libm/common/s_nan.c: Ditto.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoCorrect a non-ANSI prototype in SYNOPSIS
Jon TURNEY [Tue, 23 Jun 2015 12:02:18 +0000 (13:02 +0100)]
Correct a non-ANSI prototype in SYNOPSIS

2015-06-23  Jon Turney  <jon.turney@dronecode.org.uk>

* libc/stdio/getchar_u.c: Fix a non-ANSI prototype in SYNOPSIS.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoRemove stray punctuation in ANSI_SYNOPSIS prototypes
Jon TURNEY [Tue, 23 Jun 2015 14:53:51 +0000 (15:53 +0100)]
Remove stray punctuation in ANSI_SYNOPSIS prototypes

2015-06-23  Jon Turney  <jon.turney@dronecode.org.uk>

* libc/string/wcscpy.c: Remove stray ',' from prototype in
ANSI_SYNOPSIS.
* libc/string/wcpcpy.c: Ditto.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoFix some mangled makedoc markup
Jon TURNEY [Tue, 23 Jun 2015 15:12:05 +0000 (16:12 +0100)]
Fix some mangled makedoc markup

2015-06-23  Jon Turney  <jon.turney@dronecode.org.uk>

* libc/stdlib/itoa.c: Fix makedoc markup.
* libc/stdlib/wcsnrtombs.c: Ditto.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoFix makedoc markup used in texinfo source
Jon TURNEY [Tue, 23 Jun 2015 11:56:24 +0000 (12:56 +0100)]
Fix makedoc markup used in texinfo source

2015-06-23  Jon Turney  <jon.turney@dronecode.org.uk>

* libc/signal/signal.tex: Use texinfo not makedoc markup.
* libc/stdio/stdio.tex: Ditto.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agowinsup/doc: Update ancient README about building documentation
Jon TURNEY [Tue, 16 Jun 2015 17:26:08 +0000 (18:26 +0100)]
winsup/doc: Update ancient README about building documentation

Update list of pre-requisites, everything else is obsolete.

Future work: Ensure that the list of pre-requisites in FAQ 6.21 "How do I build
Cygwin" remains synchronized with this list.

2015-06-22  Jon Turney  <jon.turney@dronecode.org.uk>

* README: Update.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agowinsup/doc: Use xidepend to generate the source list for FAQ targets as well
Jon TURNEY [Tue, 16 Jun 2015 17:18:11 +0000 (18:18 +0100)]
winsup/doc: Use xidepend to generate the source list for FAQ targets as well

2015-06-22  Jon Turney  <jon.turney@dronecode.org.uk>

* Makefile.in (FAQ_SOURCES): Remove and generate with xidepend.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agowinsup/doc: Remove 'Usage' prefix from synopses
Jon TURNEY [Fri, 12 Jun 2015 09:56:47 +0000 (10:56 +0100)]
winsup/doc: Remove 'Usage' prefix from synopses

Remove redundant 'Usage' prefix from synopses.

2015-06-22  Jon Turney  <jon.turney@dronecode.org.uk>

* utils.xml: Remove 'Usage' prefix from synopses.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agowinsup/doc: Add intro man pages from cygwin-doc
Jon TURNEY [Mon, 22 Jun 2015 13:58:09 +0000 (14:58 +0100)]
winsup/doc: Add intro man pages from cygwin-doc

v2:
intro.1 and cygwin.1 are identical. Make cygwin.1 a link to intro.1
Update dates in static man pages

v3:
Use doclifter to convert intro.[13] to DocBook XML
Clean up markup and fix a couple of spelling mistakes.
Build and install manpages from XML

v4:
Update to refer to GPLv3+, SUSv4
Simplify ulinks where anchor text is the same as the URL

2015-06-22  Jon Turney  <jon.turney@dronecode.org.uk>

* Makefile.in (intro2man.stamp): Add.
* intro.xml: New file.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agowinsup/doc: Create info pages from cygwin documentation
Jon TURNEY [Wed, 11 Mar 2015 13:50:51 +0000 (13:50 +0000)]
winsup/doc: Create info pages from cygwin documentation

v2:
Updated to use docbook2x-texi not docbook2texi, since source is now docbook XML.
Tweak DocBook XML so info directory entry has a description.

v3:
Use a custom charmap to handle &reg;

v4:
Proper build avoidance
texinfo node references may not contain ':', so provide alternate text for a few
xref targets

2015-06-22  Jon Turney  <jon.turney@dronecode.org.uk>

* Makefile.in (install-info, cygwin-ug-net.info)
(cygwin-api.info): Add.
* cygwin-ug-net.xml: Add texinfo-node.
* cygwin-api.xml: Ditto.
* ntsec.xml (db_home): Add texinfo-node for titles containing a
':' which are the targets of an xref.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoComplement SIGEV_* enums with macros
Ken Brown [Tue, 23 Jun 2015 08:39:06 +0000 (10:39 +0200)]
Complement SIGEV_* enums with macros

* include/cygwin/signal.h (SIGEV_*): Add macros.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoDon't push on original stack during alternate signal stack setup
Corinna Vinschen [Mon, 22 Jun 2015 11:09:55 +0000 (13:09 +0200)]
Don't push on original stack during alternate signal stack setup

* exceptions.cc (_cygtls::call_signal_handler): Drop pushing a register
on the original stack, it confuses GCC.  Rearrange the assembler code
so that $rax/$eax is not used by GCC to prepare an argument value.
Use $rax/$eax without saving.  Drop clearing $rbp/$epb.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agosys/signal.h requires sys/cdefs.h
Corinna Vinschen [Mon, 22 Jun 2015 08:49:29 +0000 (10:49 +0200)]
sys/signal.h requires sys/cdefs.h

* libc/include/sys/signal.h: Include forgotten sys/cdefs.h.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoSafe all clobbered volatile registers when using alternate stack
Corinna Vinschen [Sun, 21 Jun 2015 11:58:57 +0000 (13:58 +0200)]
Safe all clobbered volatile registers when using alternate stack

* exceptions.cc (_cygtls::call_signal_handler): Drop subtracting 16
bytes from the alternate stack, it's not necessary.  Safe all clobbered
registers.  Safe one on the orignal stack, the others on the alternate
stack on both platforms.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoFix comments
Corinna Vinschen [Sat, 20 Jun 2015 18:56:55 +0000 (20:56 +0200)]
Fix comments

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoChangeLog entries for Cygwin's alternate signal stack implementation
Corinna Vinschen [Sat, 20 Jun 2015 18:36:16 +0000 (20:36 +0200)]
ChangeLog entries for Cygwin's alternate signal stack implementation

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoAdd alternate signal stack to docs
Corinna Vinschen [Sat, 20 Jun 2015 18:30:17 +0000 (20:30 +0200)]
Add alternate signal stack to docs

* new-features.xml (ov-new2.1): Add alterante signal stack info.
* posix.xml (std-susv4): Move sigaltstack here.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoImplement using alternate signal stack in Cygwin
Corinna Vinschen [Sat, 20 Jun 2015 18:21:02 +0000 (20:21 +0200)]
Implement using alternate signal stack in Cygwin

* exceptions.cc (_cygtls::call_signal_handler): Implement alternate
signal stack handling.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoUse MINSIGSTKSZ and SIGSTKSZ from newlib for Cygwin as well
Corinna Vinschen [Sat, 20 Jun 2015 17:05:51 +0000 (19:05 +0200)]
Use MINSIGSTKSZ and SIGSTKSZ from newlib for Cygwin as well

* libc/include/sys/signal.h: Move altstack macros completely
outside of rtems block.

* include/cygwin/signal.h: Remove definitions of MINSIGSTKSZ
and SIGSTKSZ here.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoHandle exceptions in sigaltstack
Corinna Vinschen [Sat, 20 Jun 2015 16:48:09 +0000 (18:48 +0200)]
Handle exceptions in sigaltstack

* signal.cc (sigaltstack): Add fault handler.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoPreliminary infrastructure to implement alternate stack
Corinna Vinschen [Fri, 19 Jun 2015 13:58:23 +0000 (15:58 +0200)]
Preliminary infrastructure to implement alternate stack

* libc/include/sys/signal.h: Define SS_ONSTACK and SS_DISABLE
unconditionally.
(sigaltstack): Enable prototype on Cygwin.

* common.din (sigaltstack): Export.
* cygtls.cc (_cygtls::init_thread): Initialize altstack.
* cygtls.h (__tlsstack_t): Rename from __stack_t to distinguish
more clearly from stack_t.  Accommodate throughout.
(_cygtls): Add altstack member.
* exceptions.cc (exception::handle): Set SIGSEGV handler to SIG_DFL
if we encounter a stack overflow, and no alternate stack has been
defined.
* include/cygwin/signal.h (MINSIGSTKSZ): Define
(SIGSTKSZ): Define.
(SA_ONSTACK): Define.
* signal.cc (sigaltstack): New function.
* tlsoffset.h: Regenerate.
* tlsoffset64.h: Ditto.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoFormatting fixes in exceptions.cc
Corinna Vinschen [Fri, 19 Jun 2015 14:12:10 +0000 (16:12 +0200)]
Formatting fixes in exceptions.cc

* Makefile.in (install-man): Exclude release subdir from search paths.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agowinsup/doc: Fix command to create man3 install directory
Jon TURNEY [Thu, 18 Jun 2015 12:16:01 +0000 (13:16 +0100)]
winsup/doc: Fix command to create man3 install directory

Fix a cut and paste error in the command to create the man3 install directory,
added in 94f16969

2015-06-19  Jon Turney  <jon.turney@dronecode.org.uk>

* Makefile.in (install-man): Fix command to create man3 install
directory.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoDisallow installing "man pages" from release subdir
Corinna Vinschen [Thu, 18 Jun 2015 20:04:58 +0000 (22:04 +0200)]
Disallow installing "man pages" from release subdir

* Makefile.in (install-man): Exclude release subdir from search paths.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agowinsup/doc: Add man.xsl customization stylesheet
Jon TURNEY [Fri, 12 Jun 2015 20:26:32 +0000 (21:26 +0100)]
winsup/doc: Add man.xsl customization stylesheet

2015-06-17  Jon Turney  <jon.turney@dronecode.org.uk>

* man.xsl: New file.
* Makefile.in (utils2man.stamp, api2man.stamp): Use it.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agowinsup/doc: Make and install cygwin-api function manpages
Jon TURNEY [Tue, 16 Jun 2015 17:55:38 +0000 (18:55 +0100)]
winsup/doc: Make and install cygwin-api function manpages

Use 'xmlto man' to make manpages for utils

This will generate multiple .1 files as an output, but we don't know what they
will be called, so use a timestamp for build avoidance

2015-06-17  Jon Turney  <jon.turney@dronecode.org.uk>

* Makefile.in (api2man.stamp): Add rules to build and install
manpages for cygwin-api.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agowinsup/doc: Convert cygwin-api function documentation to refentry elements
Jon TURNEY [Tue, 16 Jun 2015 17:52:37 +0000 (18:52 +0100)]
winsup/doc: Convert cygwin-api function documentation to refentry elements

Convert cygwin-api from using a sect2 element to using a refentry element for
each function.  This makes it possible to generate manpage-style output for
those elements.

Note that the chunked html now generates a page for each function, rather than
one containing all functions.

Also:

Remove pointless and incorrect date

Move introductory paragraph from the first section to the start of the chapter

Add a funcsynopsisinfo element with the header file to be included to each
function prototype

Remove extern "C" which doesn't process into all formats successfully

2015-06-17  Jon Turney  <jon.turney@dronecode.org.uk>

* cygwin-api.xml: Move introductory paragraph here.
* logon-funcs.xml: Convert from using a sect2 element to using a
refentry element for each function.
* misc-funcs.xml: Ditto.
* path.xml: Ditto.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agowinsup/doc: Generate ANSI rather than K&R style function prototypes
Jon TURNEY [Tue, 16 Jun 2015 17:40:29 +0000 (18:40 +0100)]
winsup/doc: Generate ANSI rather than K&R style function prototypes

Since K&R style prototypes appear to be the default for HTML and FO, customize
the stylesheets rendering of funcsynopsis elements to generate ANSI style
prototypes instead.

2015-06-17  Jon Turney  <jon.turney@dronecode.org.uk>

* fo.xsl: Render funcsynopsis elements as ANSI style function
prototypes.
* html.xsl: Ditto.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agowinsup/doc: Rename cygwin.xsl as html.xsl
Jon TURNEY [Tue, 16 Jun 2015 17:15:20 +0000 (18:15 +0100)]
winsup/doc: Rename cygwin.xsl as html.xsl

For clarity, rename cygwin.xsl as html.xsl, because that's what it is

2015-06-17  Jon Turney  <jon.turney@dronecode.org.uk>

* html.xsl: Renamed from cygwin.xsl.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoAdd sethostname to API list
Corinna Vinschen [Wed, 17 Jun 2015 09:22:14 +0000 (11:22 +0200)]
Add sethostname to API list

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoAdd sethostname
Corinna Vinschen [Wed, 17 Jun 2015 09:11:02 +0000 (11:11 +0200)]
Add sethostname

* net.cc (sethostname): New function.
* common.din (sethostname): Export
* include/cygwin/version.h (CYGWIN_VERSION_DLL_MAJOR): Bump to 2001.
(CYGWIN_VERSION_DLL_MINOR): Set to 0.

* new-features.xml (ov-new): Rename from ov-new1.7.
(ov-new2.1): Add new section.  Document sethostname.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoAdd release/2.0.5 file
Corinna Vinschen [Wed, 17 Jun 2015 08:37:10 +0000 (10:37 +0200)]
Add release/2.0.5 file

9 years agowinsup/doc: Make and install manpages for utils
Jon TURNEY [Fri, 12 Jun 2015 12:33:13 +0000 (13:33 +0100)]
winsup/doc: Make and install manpages for utils

Use 'xmlto man' to make manpages for utils
(docbook2x-man could also be used, but since we already use xmlto...)

This will generate multiple .1 files as an output, but we don't know what they
will be called, so use a timestamp file for build avoidance when the
dependencies haven't changed.

2015-06-12  Jon Turney  <jon.turney@dronecode.org.uk>

* Makefile.in (install-man, utils2man.stamp): Add rules to build
and install manpages for utils.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agowinsup/doc: Convert utils.xml to using refentry elements
Jon TURNEY [Fri, 12 Jun 2015 13:51:00 +0000 (14:51 +0100)]
winsup/doc: Convert utils.xml to using refentry elements

Convert utils.xml from using a sect2 element to using a refentry element for
each utility program.  This makes it possible to generate manpage-style output
for those elements.

Note that the chunked html now generates a page for each utility, rather than
one containing all utilities.

A small customization to TOC generation for HTML and PDF is needed to ensure
that it appears as before, containing an entry for each utility command.

Future work: synopsis and options sections could use more detailed markup than
just wrapping the whole thing in <screen>

2015-06-12  Jon Turney  <jon.turney@dronecode.org.uk>

* utils.xml : Convert from using a sect2 element to using a
refentry element for each utility program.
* cygwin.xsl: Customize autotoc to include refentries.
* fo.xsl: Ditto.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agowinsup/doc: Fix an issue with parallel make
Jon TURNEY [Fri, 12 Jun 2015 13:18:07 +0000 (14:18 +0100)]
winsup/doc: Fix an issue with parallel make

The cygwin-ug-net-nochunks.html.gz target does not ensure that the
cygwin-ug-net/ directory exists, so it can fail if run on it's own, or if the
cygwin-ug-net/cygwin-ug-net.html target has not yet created it in a parallel
make.

2015-06-12  Jon Turney  <jon.turney@dronecode.org.uk>

* Makefile.in (cygwin-ug-net/cygwin-ug-net-nochunks.html.gz):
Ensure cygwin-ug-net directory exists.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agowinsup/doc: Make it easier to extend xidepend to more targets
Jon TURNEY [Fri, 12 Jun 2015 12:30:50 +0000 (13:30 +0100)]
winsup/doc: Make it easier to extend xidepend to more targets

Change xidepend to create a variable containing all the XIncluded sources, which
can be used as a dependency, rather than writing the dependency target itself.

Future work: Makefile.dep should depend on xidepend, but xidepend should not be
passed to itself.

2015-06-12  Jon Turney  <jon.turney@dronecode.org.uk>

* xidepend: Write a Makefile fragment defining variables
containing all the XIncluded sources, rather than a dependency on
those sources.
* Makefile.in: Use that variable to express the dependency.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agowinsup/doc: Use fo.xsl to customize PDF generation from DocBook XML
Jon TURNEY [Fri, 12 Jun 2015 15:07:21 +0000 (16:07 +0100)]
winsup/doc: Use fo.xsl to customize PDF generation from DocBook XML

fo.xsl doesn't seem to be used since c2f50c40 switched back from xsltproc to
xmlto

2015-06-12  Jon Turney  <jon.turney@dronecode.org.uk>

* Makefile.in (cygwin-ug-net/cygwin-ug-net.pdf)
(cygwin-api/cygwin-api.pdf): Use fo.xsl to customized DocBook
XML->PDF conversion.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agowinsup/doc: Some preparatory XML fixes
Jon TURNEY [Tue, 16 Jun 2015 09:17:19 +0000 (10:17 +0100)]
winsup/doc: Some preparatory XML fixes

Remove the inconsistent .exe suffix in strace and umount usage lines.

Tidy up some trailing whitespace.

Tabs inside <screen> are not consistently formatted by all formatters, replace
with spaces.

Remove pointlesss and incorrect date

2015-06-12  Jon Turney  <jon.turney@dronecode.org.uk>

* cygwin-ug-net.xml: Remove incorrect unused date.
* utils.xml : Remove .exe suffix inconsistently added in a few
places.  Tidy up some trailing whitespace.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agowinsup/doc: Fix xidepend to handle relative pathnames
Jon TURNEY [Fri, 12 Jun 2015 09:56:55 +0000 (10:56 +0100)]
winsup/doc: Fix xidepend to handle relative pathnames

It seems that xidepend doesn't work correctly if we are ./configure'd using a
relative pathname to the srcdir:

$ make
cd ../../../../src/winsup/doc && ./xidepend ../../../../src/winsup/doc/cygwin-ug-net.xml ../../../../src/winsup/doc/cygwin-api.xml >"/wip/cygwin/build/x86_64-unknown-cygwin/winsup/doc/Makefile.dep"
grep: ../../../../src/winsup/doc/cygwin-ug-net.xml: No such file or directory
grep: ../../../../src/winsup/doc/cygwin-api.xml: No such file or directory

Although it might be better to fix this by making xidepend use pathnames, rather
than ignoring them and assuming everything is in the current directory...

2015-06-12  Jon Turney  <jon.turney@dronecode.org.uk>

* xidepend: Fix to handle relative pathnames.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agowinsup/doc: Remove tarball target from .PHONY
Jon TURNEY [Fri, 12 Jun 2015 10:44:21 +0000 (11:44 +0100)]
winsup/doc: Remove tarball target from .PHONY

Left over after 4885352e.

2015-06-12  Jon Turney  <jon.turney@dronecode.org.uk>

* Makefile.in (.PHONY): Remove tarball target.

9 years agoTry to handle concurrent close on socket more gracefully
Corinna Vinschen [Mon, 15 Jun 2015 16:29:56 +0000 (18:29 +0200)]
Try to handle concurrent close on socket more gracefully

* fhandler_socket.cc (LOCK_EVENTS): Don't enter critical section with
invalid mutex handle since then socket has been closed.
(UNLOCK_EVENTS): Close critical section.
(fhandler_socket::evaluate_events): Handle calling connect on shutdown
socket.
(fhandler_socket::wait_for_events): Try for pthread_testcancel in case
of WAIT_FAILED.  Try to come up with a better errno in case we waited
on an invalid handle.
(fhandler_socket::release_events): Change wsock_mtx and wsock_evt to
NULL under lock to avoid accessing invalid handle.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoHandle more Winsock error codes.
Corinna Vinschen [Mon, 15 Jun 2015 14:17:16 +0000 (16:17 +0200)]
Handle more Winsock error codes.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoDon't enforce SA_RESTART in non-main threads
Corinna Vinschen [Mon, 15 Jun 2015 14:15:37 +0000 (16:15 +0200)]
Don't enforce SA_RESTART in non-main threads

* exceptions.cc (_cygtls::call_signal_handler): Disable enforcing
SA_RESTART in non-main threads to allow returning with EINTR from
system calls.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agogmtime_r: Use faster algorithm by Howard Hinnant
Freddie Chopin [Mon, 15 Jun 2015 10:00:59 +0000 (12:00 +0200)]
gmtime_r: Use faster algorithm by Howard Hinnant

        * libc/time/gmtime_r.c (gmtime_r): use faster algorithm from
civil_from_days() by Howard Hinnant

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoFix ChangeLog entry
Corinna Vinschen [Thu, 11 Jun 2015 13:39:34 +0000 (15:39 +0200)]
Fix ChangeLog entry

9 years agoImprove strace to log most Windows debug events
Jon TURNEY [Sat, 16 May 2015 14:19:59 +0000 (15:19 +0100)]
Improve strace to log most Windows debug events

Not sure if this is wanted, but on a couple of occasions recently I have been
presented with strace output which contains an exception at an address in an
unknown module (i.e. not in the cygwin DLL or the main executable), so here is a
patch which adds some more information, including DLL load addresses, to help
interpret such straces.

v2:
Use NtQueryObject() for HANDLE -> filename conversion
Add new '-e' option to toggle this additional logging

2015-06-07  Jon Turney  <jon.turney@dronecode.org.uk>

* strace.cc (proc_child): Log process and thread create and exit,
and DLL load and unload.
(GetFileNameFromHandle): New function.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoBump minor DLL version to 5
Corinna Vinschen [Thu, 11 Jun 2015 10:59:00 +0000 (12:59 +0200)]
Bump minor DLL version to 5

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoDrop Windows 2000 considerations in ps, fix uid field length
Corinna Vinschen [Wed, 10 Jun 2015 09:07:27 +0000 (11:07 +0200)]
Drop Windows 2000 considerations in ps, fix uid field length

* ps.cc (main): Widen UID field in long format to accommodate longer
UIDs since Cygwin 1.7.34.  Remove Windows 2000 considerations.  Fix
comments accordingly.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoAvoid compiler warning in latest patch cygwin-2_0_4-release
Corinna Vinschen [Mon, 8 Jun 2015 19:55:11 +0000 (21:55 +0200)]
Avoid compiler warning in latest patch

* pinfo.cc (_pinfo::cwd): Initialize s to avoid comiler warning.
(_pinfo::cmdline): Ditto.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoEvaluate /proc/$PID/{root,cwd,cmdline} for native processes
Corinna Vinschen [Mon, 8 Jun 2015 19:48:13 +0000 (21:48 +0200)]
Evaluate /proc/$PID/{root,cwd,cmdline} for native processes

* pinfo.cc (_pinfo::root): Fake default root for native processes.
(open_commune_proc_parms): New helper function to access process
parameter block.
(_pinfo::cwd): Fetch missing cwd for native processes from processes
parameter block.
(_pinfo::cmdline): Ditto for command line.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoadd bind mount fix to release notes
Corinna Vinschen [Mon, 8 Jun 2015 15:48:34 +0000 (17:48 +0200)]
add bind mount fix to release notes

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoBind mounts require POSIX paths
Corinna Vinschen [Mon, 8 Jun 2015 15:37:55 +0000 (17:37 +0200)]
Bind mounts require POSIX paths

* path.cc (from_fstab_line): Don't convert slashes to backslashes for
bind mounts.  Explain why.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agowinsup/doc: Remove ancient unused Makefile rules to make documentation tarball
Jon TURNEY [Wed, 11 Mar 2015 13:52:01 +0000 (13:52 +0000)]
winsup/doc: Remove ancient unused Makefile rules to make documentation tarball

This used to be used by cygwin-doc to make a tarball which would be used with a
ssh script to run docbook tools on a linux host since they weren't available on
Cygwin or something crazy like that...

2015-06-04  Jon Turney  <jon.turney@dronecode.org.uk>

* Makefile.in: Remove ancient unused rules to make a documentation
tarball.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoAvoid delays trying to fetch Cygwin info from non-Cygwin processes
Corinna Vinschen [Mon, 8 Jun 2015 12:38:30 +0000 (14:38 +0200)]
Avoid delays trying to fetch Cygwin info from non-Cygwin processes

* pinfo.cc (_pinfo::commune_request): Don't try to send commune
requests to non-Cygwin processes.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoGenerate SIGHUP for terminal process group on tty master close
Takashi Yano [Mon, 8 Jun 2015 12:07:42 +0000 (14:07 +0200)]
Generate SIGHUP for terminal process group on tty master close

* fhandler_tty.cc (fhandler_pty_slave::write): Move causing of SIGHUP
into fhandler_pty_master::close().
(fhandler_pty_slave::read): Ditto.
(fhandler_pty_master::close): Ditto.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoBump minor DLL version to 4
Corinna Vinschen [Mon, 8 Jun 2015 11:58:39 +0000 (13:58 +0200)]
Bump minor DLL version to 4

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoAdd Cygwin 2.0.3 release file cygwin-2_0_3-release
Corinna Vinschen [Wed, 3 Jun 2015 11:38:19 +0000 (13:38 +0200)]
Add Cygwin 2.0.3 release file

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoBump minor DLL version to 3
Corinna Vinschen [Tue, 2 Jun 2015 12:10:30 +0000 (14:10 +0200)]
Bump minor DLL version to 3

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoRemove mention of installing everything
Jon TURNEY [Thu, 21 May 2015 16:34:41 +0000 (17:34 +0100)]
Remove mention of installing everything

An estimate of the size of installing of "hundreds of megabytes" is wildly out
of date.  Just remove mention of installing everything, since it is nearly
always not a good idea.

2015-06-01  Jon Turney  <jon.turney@dronecode.org.uk>

* ov-ex-unix.xml: Remove unhelpful mention of and inaccurate size
estimate for installing everything.
* ov-ex-win.xml: Ditto.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
9 years agoUpdate the assembler code to support old ARM architectures.
Hale Wang [Mon, 1 Jun 2015 10:49:37 +0000 (12:49 +0200)]
Update the assembler code to support old ARM architectures.

        * libc/machine/arm/aeabi_memmove-arm.S (__aeabi_memmove): Update the
        assembler implementation.
        * libc/machine/arm/aeabi_memmove-thumb.S (__aeabi_memmove): Ditto.
        * libc/machine/arm/aeabi_memmove-thumb2.S (__aeabi_memmove): Ditto.
        * libc/machine/arm/aeabi_memset-arm.S (__aeabi_memset): Ditto.
        * libc/machine/arm/aeabi_memset-thumb.S (__aeabi_memset): Ditto.
        * libc/machine/arm/aeabi_memset-thumb2.S (__aeabi_memset): Ditto.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoaarch64: fabs and sqrt implementation with inline asm
Szabolcs Nagy [Mon, 1 Jun 2015 08:17:34 +0000 (10:17 +0200)]
aarch64: fabs and sqrt implementation with inline asm

        * libm/machine/aarch64/e_sqrt.c: New file.
        * libm/machine/aarch64/ef_sqrt.c: New file.
        * libm/machine/aarch64/s_fabs.c: New file.
        * libm/machine/aarch64/sf_fabs.c: New file.
        * libm/machine/aarch64/Makefile.in: Add new source files.
        * libm/machine/aarch64/Makefile.am: Regenerate.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoCorrect argz_replace behaviour when memory is exhausted.
David Stacey [Mon, 1 Jun 2015 08:09:04 +0000 (10:09 +0200)]
Correct argz_replace behaviour when memory is exhausted.

* libc/argz/argz_replace.c (argz_replace): Correct behaviour when memory
is exhausted.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoFold branch cygwin-2.0 into master
Corinna Vinschen [Thu, 28 May 2015 15:20:39 +0000 (17:20 +0200)]
Fold branch cygwin-2.0 into master

Make master equivalent to cygwin-2.0 without losing history
of both branches.

9 years agoFix comment in sys/wait.h cygwin-2.0 github/cygwin-2.0
Corinna Vinschen [Thu, 28 May 2015 14:39:09 +0000 (16:39 +0200)]
Fix comment in sys/wait.h

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoFix comment in sys/wait.h
Corinna Vinschen [Thu, 28 May 2015 14:39:09 +0000 (16:39 +0200)]
Fix comment in sys/wait.h

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoUse NtQueryObject to detect closing the last master handle
Corinna Vinschen [Thu, 28 May 2015 14:06:49 +0000 (16:06 +0200)]
Use NtQueryObject to detect closing the last master handle

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoUse NtQueryObject to detect closing the last master handle
Corinna Vinschen [Thu, 28 May 2015 14:06:49 +0000 (16:06 +0200)]
Use NtQueryObject to detect closing the last master handle

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years ago* net.cc: Define _NETIOAPI_H_ to accomodate newer w32api.
Takashi Yano [Wed, 27 May 2015 10:56:31 +0000 (12:56 +0200)]
* net.cc: Define _NETIOAPI_H_ to accomodate newer w32api.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoFix potential memory leak in argz_replace
David Stacey [Wed, 27 May 2015 10:08:29 +0000 (12:08 +0200)]
Fix potential memory leak in argz_replace

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
9 years agoAvoid unneeded truncation to "int" newlib-snapshot-20150526
DJ Delorie [Wed, 27 May 2015 02:10:26 +0000 (22:10 -0400)]
Avoid unneeded truncation to "int"

* libm/math/e_sqrt.c (__ieee754_sqrt): Don't truncate constant to
"int".

9 years agoor1k: Add missing initialization of impure ptr
Jeff Johnston [Tue, 26 May 2015 19:32:19 +0000 (15:32 -0400)]
or1k: Add missing initialization of impure ptr

    * or1k/impure.c: Fix initialization of impure ptr

9 years agoor1k: set heap start for optimsoc-gzll
Jeff Johnston [Tue, 26 May 2015 19:30:30 +0000 (15:30 -0400)]
or1k: set heap start for optimsoc-gzll

- 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

9 years agoor1k: Make heap start configurable
Jeff Johnston [Tue, 26 May 2015 19:28:31 +0000 (15:28 -0400)]
or1k: Make heap start configurable

- 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

9 years agoor1k: UART also accept timeout interrupt
Jeff Johnston [Tue, 26 May 2015 19:27:02 +0000 (15:27 -0400)]
or1k: UART also accept timeout interrupt

- The UART interrupt only handled receiver FIFO full interrupts, but we
  also want to handle timeout interrupts.

    * or1k/or1k_uart.c: Fix interrupts

9 years agoBug fix in timer for or1k
Jeff Johnston [Tue, 26 May 2015 19:25:13 +0000 (15:25 -0400)]
Bug fix in timer for or1k

- Properly set the interrupt pending flag in the timer mode register.

    * or1k/timer.c: Properly set interrupt flags

9 years agoStore entire context for or1k
Jeff Johnston [Tue, 26 May 2015 19:23:39 +0000 (15:23 -0400)]
Store entire context for or1k

- 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

9 years agoFix exception stack frame for or1k
Jeff Johnston [Tue, 26 May 2015 19:21:52 +0000 (15:21 -0400)]
Fix exception stack frame for or1k

- 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

9 years agoFix interrupt handling for or1k.
Jeff Johnston [Tue, 26 May 2015 19:19:13 +0000 (15:19 -0400)]
Fix interrupt handling for or1k.

- 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.

This page took 0.078627 seconds and 5 git commands to generate.