This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Mar 8 00:21, Thomas Wolff wrote: > From 58a9cfcb253165d7073a9ed25e143daa2e979c10 Mon Sep 17 00:00:00 2001 > From: Thomas Wolff <towo@towo.net> > Date: Sun, 25 Feb 2018 17:22:34 +0100 > Subject: [PATCH 4/6] use generated character data > > --- > newlib/libc/ctype/categories.c | 39 +++ > newlib/libc/ctype/categories.h | 7 + > newlib/libc/ctype/iswalnum.c | 2 +- > newlib/libc/ctype/iswalnum_l.c | 19 +- > newlib/libc/ctype/iswalpha.c | 73 ++++++ > newlib/libc/ctype/iswalpha_l.c | 17 +- > newlib/libc/ctype/iswblank.c | 19 +- > newlib/libc/ctype/iswblank_l.c | 16 +- > newlib/libc/ctype/iswcntrl.c | 17 +- > newlib/libc/ctype/iswcntrl_l.c | 16 +- > newlib/libc/ctype/iswctype_l.c | 37 ++- > newlib/libc/ctype/iswdigit.c | 3 +- > newlib/libc/ctype/iswdigit_l.c | 2 +- > newlib/libc/ctype/iswgraph.c | 3 +- > newlib/libc/ctype/iswgraph_l.c | 19 +- > newlib/libc/ctype/iswlower.c | 4 +- > newlib/libc/ctype/iswlower_l.c | 16 +- > newlib/libc/ctype/iswprint.c | 72 ++++++ > newlib/libc/ctype/iswprint_l.c | 17 +- > newlib/libc/ctype/iswpunct.c | 7 +- > newlib/libc/ctype/iswpunct_l.c | 22 +- > newlib/libc/ctype/iswspace.c | 20 +- > newlib/libc/ctype/iswspace_l.c | 17 +- > newlib/libc/ctype/iswupper.c | 6 +- > newlib/libc/ctype/iswupper_l.c | 16 +- > newlib/libc/ctype/iswxdigit.c | 6 +- > newlib/libc/ctype/jp2uc.c | 51 +++- > newlib/libc/ctype/local.h | 19 +- > newlib/libc/ctype/towctrans.c | 16 +- > newlib/libc/ctype/towctrans_l.c | 97 +++++++- > newlib/libc/ctype/towlower.c | 81 +++++++ > newlib/libc/ctype/towlower_l.c | 7 +- > newlib/libc/ctype/towupper.c | 515 +--------------------------------------- > newlib/libc/ctype/towupper_l.c | 8 +- > 34 files changed, 650 insertions(+), 639 deletions(-) > create mode 100644 newlib/libc/ctype/categories.c > create mode 100644 newlib/libc/ctype/categories.h > create mode 100644 newlib/libc/ctype/iswalpha.c > create mode 100644 newlib/libc/ctype/iswprint.c > create mode 100644 newlib/libc/ctype/towlower.c Looks like I pushed too soon. After a full rebuild Cygwin didn't work at all anymore. After some experimenting it turned out that it depends on the optimization settings. If I build with -O2, all is well. If I build with just -g and no optimzation, Cygwin doesn't run anymore. Fortunately strace is a native tool, so I could fetch an strace. What catched my eye was that *all* paths converted to native NT paths had a Ctrl-A in place of the drive letter 'C', like this: \??\^A:\WINDOWS The culprit was apparently a call to towupper() on the drive letter, required for case sensitivity. This in turn led to the towctrans_l function. After some head scratching (without functioning debugger...) I realized that there are cases which neglect to return a value due to `return c'. Why gcc let this slip through beats me thoroughly. I pushed a patch. Corinna -- Corinna Vinschen Cygwin Maintainer Red Hat
Attachment:
signature.asc
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |