Age | Commit message (Collapse) | Author |
|
Sorry I didn't test this before the release.
Please remember that the locale data generation tools are not very robust,
so doing something like disabling 8-bit codeset support is likely to break
things. As it stands, UTF-8 support is required, but I'm not sure I test
for that.
Also, you will notice a difference in the locale data generated by uClibc
verses glibc. That's because the bg_BG locale specifies use of grouping
in LC_NUMERIC, but supplies no grouping char. The uClibc locale code
tests for and works around this (at the moment) by disabling grouping.
But the result is slightly different data which ripples throughout the
rest of the tables.
|
|
static build sizes and not needing wchar support.
Add in a SUSv3 getopt as an option for those not needing gnu getopt.
Again, mainly for the static linking crowd.
|
|
Hack a fix for ctype support of 8-bit codeset locales.
Note: toupper/tolower mappings do not handle the special cases for the
tr_TR and az_AZ locales, since the wide versions currently handle them
either. That will be addressed when I rewrite the data generation tools
and the libc locale code.
|
|
Move stub gettext functions to a stub libintl to make switching in
gnu gettext easier. Also add a few gnu-isms.
Change to using hidden names with global weak aliases for the extended
locale functions, as expected by libstd++.
Slightly rework the locale data generation stuff to allow pregenerated
locale data to be used with buildroot.
|
|
match the kernel type exactly.
|
|
syscalls, which had managed to stay unimplemented thus far.
-Erik
|
|
linkage" problems with C++
|
|
|
|
Should be standards compliant and with several optional features,
including support for hexadecimal float notation, locale awareness,
glibc-like locale-specific digit grouping with the `'' flag, and
positional arg support. I tested it pretty well (finding several
bugs in glibc's scanf in the process), but it is brand new so be
aware.
The *wprintf functions now support floating point output. Also, a
couple of bugs were squashed. Finally, %a/%A conversions are
now implemented.
Implement the glibc xlocale interface for thread-specific locale
support. Also add the various *_l(args, locale_t loc_arg) funcs.
NOTE!!! setlocale() is NOT threadsafe! NOTE!!!
The strto{floating point} conversion functions are now locale aware.
The also now support hexadecimal floating point notation.
Add the wcsto{floating point} conversion functions.
Fix a bug in mktime() related to dst. Note that unlike glibc's mktime,
uClibc's version always normalizes the struct tm before attempting
to determine the correct dst setting if tm_isdst == -1 on entry.
Add a stub version of the libintl functions. (untested)
Fixed a known memory leak in setlocale() related to the collation data.
Add lots of new config options (which Erik agreed to sort out :-),
including finally exposing some of the stripped down stdio configs.
Be careful with those though, as they haven't been tested in a
long time.
(temporary) GOTCHAs...
The ctype functions are currently incorrect for 8-bit locales. They
will be fixed shortly.
The ctype functions are now table-based, resulting in larger staticly
linked binaries. I'll be adding an option to use the old approach
in the stub locale configuration.
|
|
one which now uses the kernel structs
-Erik
|
|
After removal of stropts.h none of the files references bits/stropts.h, so
it can be removed.
Peter
|
|
|
|
|
|
|
|
from glibc 2.3. This should make threads much more efficient.
-Erik
|
|
so when _FILE_OFFSET_BITS=64 (such that we transparently change 32bit into 64
bit interfaces), we will not lose an unsigned char from d_name which silently
becomes the d_type field instead. oops.
-Erik
|
|
|
|
type of 'struct stat' and 'struct stat64' so they use consistant types.
This change is the result of a bug I found while trying to use GNU tar. The
problem was caused by our using kernel types within struct stat and trying to
directly compare these values with standard types. Trying an 'if (a < b)' when
'a' is an 'unsigned long' and 'b' is an 'int' leads to very different results
then when comparing entities of the same type (i.e. time_t values)....
Grumble. Nasty stuff, but I'm glad I got this out of the way now.
As a result of this fix, uClibc 0.9.17 will not be binary compatible with
earlier releases. I have always warned people this can and will happen.
-Erik
|
|
implementation such that gdb can actually debug signal handlers. Gdb behaves
much better now, for example, on multi-threaded apps.
-Erik
|
|
|
|
a common header file and a default implementation.
|
|
Also added outdigit support and (legacy) YESSTR/NOSTR support.
|
|
|
|
Hopefully locale support will build when cross compiling now. Collation is
still not supported, but that's what I'm currently working on. In the
next couple of days, I'll probably put up a couple of files for download
that will save people the trouble of generating all the glibc locales.
Added *wprintf functions, although they currently don't support floating
point. That will be fixed when I rewrite _dtostr... or possibly before.
Added the wcsto{inttype} functions.
Added iconv() and a mini iconv utility. The require locale support and
only provide for conversions involving the various unicode encodings
{ UCS-4*, UCS-2*, UTF-32*, UTF-16*, UTF-8 }, the 8-bit codesets built
with the locale data, and the internal WCHAR_T.
|
|
when the grouping flag "'" is specified. Grouping for floating point values
may wait until I do a rewrite of the floating pt to string code...
|
|
been working on a new config system on and off for about 6 months
now, but I've never been fully satisfied. Well, I'm finally am
happy with the new config system, so here it is. This completely
removes the old uClibc configuration system, and replaces it with
an entirely new system based on LinuxKernelConf, from
http://www.xs4all.nl/~zippel/lc/
As it turns out, Linus has just merged LinuxKernelConf into Linux
2.5.45, so it looks like I made the right choice.
I have thus far updated only x86. I'll be updating the other
architectures shortly.
-Erik
|
|
a few spots in our header files. In this change I do a
s/__thread/__thread_id/
so we no longer conflict with newer CVS versions of gcc (such as the
patched up gcc 3.2 included with RedHat 3.0).
-Erik
|
|
Test Project to compile as well as be consistent with the architecture
specific files. Maybe eventually the architecture specific files could
be removed all together.
|
|
guard names used by the kernel's asm/posix_types.h to eliminate
gratuitous conflicts and let our file win over the very-likely-
to-be-broken kernel header file.
-Erik
|
|
do any of that silly translating...
-Erik
|
|
__USE_FILE_OFFSET64 handling.
-Erik
|
|
-Erik
|
|
i386. This is for Erik to look at wrt the other archs.
|
|
-Erik
|
|
header, which is not directly usable for many architectures.
-Erik
|
|
specific bits/kernel_stat.h file.
-Erik
|
|
-Erik
|
|
-Erik
|
|
-Erik
|
|
we hose our code... hose our code... hose our code... this is the way we hose
our code... all thanks to glibc"
-Erik
|
|
directly. Eliminate all the attendant baggage. Fix internal
types to match kernel types more closely.
-Erik
|
|
need to translate these entities...
-Erik
|
|
|
|
(__set_errno): Just assign to `errno' (which will be expanded to the
thread-friendly version when appropriate).
|
|
-Erik
|
|
needlessly. To do so increases the generated code size with bcc.
Eliminate duplicate define warnings in wstring.c.
Fix potentially broken preprocessor comparisons. The preprocessor
converts integers to maximal signed type, so inequality comparisons
involving UINTMAX_MAX, ULLONG_MAX, and (if no long long) ULONG_MAX
were potentially broken.
|
|
arch-specific constant value defined in bits/uClibc_clk_tck.h.
Default is 100 (common/bits) but alpha uses 1024 following glibc.
Override per arch as necessary.
|
|
|
|
|
|
Implemented unformatted wide i/o functions. (ungetwc still needs testing)
Fix a few bugs in wchar.c.
Modifications for bcc/elks support.
|