that we try to link in objects from libc.a where we also provide our
own replacements here, leading to multiple definitions during linking.
OK'ed by christos@
ok'ed by core and releng.
(thanks for agc@, snj@ and i'm sorry for long time patience).
[libc]
- localeio.[ch] and lc*.[ch] in src/lib/libc/locale was replaced by
new locale-db implementation using citrus_db backend,
see src/lib/libc/citrus/citrus_lc_*.[ch].
- add citrus_bcs_strtou?l.c. don't use strtou?l locale implementation
internally, because they're locale-aware function.
- add some stubs for multi-locale issue, see {current,global}_locale.c.
- remove some obsolete file, setrunelocale.c, ___runetype_mb.c.
- remove __savectype() from ctypeio.[ch].
[tools]
- mklocale(1): add new option ``-t'' that generates new style
LC_{MONETARY,NUMERIC,TIME,MESSAGES} locale-db format.
- chrtbl(1): added ctypeio.[ch] for __savectype().
[locale-db]
- added en_US.US-ASCII locale.
- removed some shareable locale definition file:
en_US.US-ASCII -> en_US.ISO8859-1, en_US.UTF-8
zh_CN.eucCN -> zh_CN.GB18030
and more...see src/share/locale/*/Makefile.
- remove obsoleted locale sr_YU, added new locale sr_ME, sr_RS.
- change locale name ja_JP.ISO2022-JP* -> ja_JP.ISO-2022-JP*
for X11's locale.alias file alignments.
- fix regression test, wrong wcs?width(3), NAN/INF usage.
i tested release-build following arch:
i386, amd64, hpc{mips,arm,sh}, sparc64, vax.
citrus_lc_*.[ch] also can read old-plain-text style locale-db.
so that backward compatibility is keeped, but lc*.[ch] can't read
new citrus_db'ed locale-db and localeio.c never check sanity,
so forward compatibility is broken ;-<
old mklocale(1) doesn't know -t option, so you have to rebuild toolchain.
Don't access address 0 and core dump when it does!
Fixes sysinst, the install ramdiskbin gets built against the standard
archive libraries (at least on amd64) which are build with HAVE_WCHAR.
not use real locales, but this at least allows single byte character
locales to work as expected (i.e. the existing translations for sysinst).
Once we get a sysinst translation that needs more, we'll have to drop this
and the castrated setlocale(), and go for a real solution.
ramdisks, and provide untested minimal implementations of mbsrtowcs()
and wcsrtombs().
Verified to fix build problems for at least the amd64 and hp300 ramdisks.
for one more that is needed, and commented out partial implementations for
the test of the functions. This should stop the re-defined symbol errors
for now.
({v,}syslog_{r,ss}) and the corresponding openlog_r/setlogmask_r/closelog_r
functions.
This should allow sparc64 to build its ramdiskbin again.
Reviewed by christos@
non-reentrant version here in order to avoid linker conflicts when
the rest of this file is attempted linked together with libc's
getgrent.o.
Reviewed by christos.
that the "int maxgroups" and "int *ngroups" parameters are separated into
two separate parameters which makes it possible to call multiple nsswitch
back-ends and have the results correctly merged.
getgrouplist(3) is now implemented using getgroupmembership(3).
Proposed on tech-userlevel on December 1, 2004.
to a 2-clause licence (retaining UCB clauses (1) and (2)), per PR
22409 from Joel Baker, approved by Theo de Raadt, and ratified by
myself - the only discrepancy being the handling of the original
clause 3 in src/usr.sbin/yppoll/yppoll.c.
removing the advertising clause. Diffs provided in PR 22410 by Joel
Baker, confirmed to the board by Jason Downs.
With additional thanks to Jason Thorpe.
strictly necessary for the install floppy, but it enables one to
build a rescue floppy with ssh(1) on it. ssh dereferences pw->pw_class
and will therefore core dump if it is not set to something.
Reviewed By: simonb@NetBSD.ORG
as they only support reading /etc/hosts, and its the "least useful" of
the libhack routines. Add gethost.o back to Really Small media which
appears to need the space savings.
only?) are sorted out. speculation (based on some analysis by simonb)
is that it's because fts calls _opendir2 directly, which forces both
the libhack and the libc versions of opendir.o to be linked in.
in any case, there's space saves to be had elsewhere...
to libc/gen/getpwent.c. this version reads from master.passwd instead
of passwd (thus removing the need to keep both in the mini file system
and having to run pwd_mkdb to generate the latter)
The same change has already been applied on the 1.5 branch. The problems
(i.e. ifconfig not showing IP addresses) have been verified to still exist
with the new toolchain.