History log of /netbsd-current/lib/libc/Makefile
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.174 29-May-2023 lukem

libc: fix typo in comments: NO_SRSC -> NO_SRCS


Revision tags: netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.173 16-May-2020 christos

Add ACL support for FFS. From FreeBSD.


Revision tags: netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.172 03-Aug-2018 kamil

Restrict -fno-sanitize=function to Clang/LLVM only

The base GCC version 6,x does not support this option.


# 1.171 03-Aug-2018 kamil

Disable sanitization of -fsanitize=function in libc

Generated code for the checks (in at least libunwind) depends on the C++
runtime feature of RTTI.

Pass -fno-sanitize=function to LIBCSANITIZERFLAGS.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
# 1.170 31-Mar-2018 kamil

branches: 1.170.2;
Drop the USE_LIBTRE build option

libtre cannot be used any more as a replacement for regex(3).
Tt does not build and the library development is stalled in upstream.

Proposed on mailing list.

Sponsored by <The NetBSD Foundation>


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.169 15-Jun-2015 christos

branches: 1.169.14;
Only create and install the tags file for the normal libc (not any of the
compat copies), because we don't want it to be overwritten by the compat
copies. This was detected by the evbarm mkimage complaining.


# 1.168 09-Feb-2015 pooka

Include compat in rumprun libc

Not including non-renamed symbols in libc caused all kinds of configure
scripts to do the wrong thing when they just tested linkage without
including headers. So, go for the "least moving parts" bandaid for now.


# 1.167 10-Dec-2014 pooka

Add hooks for RUMPRUN build of libc

If "yes", does the following (default "no"):
* prevents ASM syscalls from being built (librump provides syscalls)
* does not include compat (useless when application is linked with libc)
* does not build tags (no /var/db to install them to)
* does not include tls

==> libc for rumprun can now be built against unmodified NetBSD sources


Revision tags: netbsd-7-base tls-maxphys-base
# 1.166 10-Aug-2014 matt

branches: 1.166.2;
MKCOMPAT fixes for when compat MACHINE_CPU != normal MACHINE_CPU


Revision tags: yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.165 04-Mar-2014 joerg

Introduce GENASSYM_CPPFLAGS for options during genassym processing.
Consistently drop assembler flags.


# 1.164 29-Jan-2014 joerg

Include compiler-rt in libc, libm and libkern.


# 1.163 19-Jan-2014 apb

If MKREPRO=yes, make the tags file refer to /usr/src
instead of referring to the actual source directory ${NETBSDSRC}.


# 1.162 18-Jan-2014 joerg

Use a separate variable for the use of GCC's unwind code.


# 1.161 15-Jan-2014 joerg

Use the quad support from compiler-rt for MKLIBGCC=no.


# 1.160 14-Oct-2013 joerg

Rename USE_LIBGCC to HAVE_LIBGCC and retry using it as flag on unwind.h.


# 1.159 14-Oct-2013 joerg

Include compiler-rt and libunwind in libc for Clang/x86 builds.


# 1.158 30-Jul-2013 joerg

Don't pass assembler flags to cpp for genassym.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.157 30-Apr-2013 matt

Match against LIBC_MACHINE_ARCH for MKCOMPAT


# 1.156 27-Apr-2013 matt

Just build the legacy stuff for earm (for now).


# 1.155 25-Apr-2013 matt

for earm, make sure to build getdirentries man page


# 1.154 25-Apr-2013 matt

Add CPPFLAGS+= -I${NETBSDSRCDIR}/sys for earm compat


# 1.153 19-Apr-2013 matt

for EARM, just build __lwp_park50 compat for libpthread until the situation
is involved.


# 1.152 19-Apr-2013 matt

Fix inverted test.


# 1.151 19-Apr-2013 matt

Since earm is new, don't bother building the compat libc code since there
is nothing that can use it.


# 1.150 12-Apr-2013 joerg

Rename BUILDCOLD to BUILD_LEGACY and provide a preprocessor macro that
can be used in code files that aren't easy to split up. Add the removal
to the major bump todo list.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
# 1.149 20-Jan-2012 joerg

branches: 1.149.6;
Remove code for CITRUS!=yes.


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.148 17-Aug-2011 christos

branches: 1.148.2;
fix the rest of libc mi gcc-4.5 hacks. portmasters should fix the md ones.


# 1.147 21-Jun-2011 mrg

add some XXX'd -Wno-foo if HAVE_GCC >= 45.

XXX: someone should look at these.


# 1.146 19-Jun-2011 nakayama

__udivdi3 isn't included in sparc compat libc on sparc64, so use
ARCHSUBDIR instead of MACHINE_ARCH for checking whether to include
quad/Makefile.inc.

This fixes undefined symbol __udivdi3 in /libexec/ld.elf_so-sparc
on sparc64 which is the cause of failure of hello32 test in
toolchain/cc/t_hello.


Revision tags: cherry-xenmp-base
# 1.145 27-May-2011 drochner

branches: 1.145.2;
make the "tags" target non-.PHONY because it reflects a real file,
and remove some nonsense in libc Makefile which caused that
a "tags" file was written in my source tree


# 1.144 09-Mar-2011 joerg

Add TLS support infrastructure. For dynamic binaries, ld.elf_so exports
_rtld_tls_allocate and _rtld_tls_free. libpthread uses this functions to
setup the thread private area of all new threads. ld.elf_so is
responsible for setting up the private area for the initial thread.
Similar functions are called from _libc_init for static binaries, using
dl_iterate_phdr to access the ELF Program Header.

Add test cases to exercise the different TLS storage models. Test cases
are compiled and installed on all platforms, but are skipped on
platforms not marked for TLS support.

This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.

It is inspired by the TLS support in FreeBSD by Doug Rabson and the
clean ups of the DragonFly port of the original FreeBSD modifications.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.143 04-Sep-2010 ahoka

Add libc glue for libtre.
tre will be compiled without approx and wchar/mulibyte support to
only match the minimum requirement to replace our spencer regex.

This needs a lot of testing.

Only enabled when USE_LIBTRE is set to `yes'.


# 1.142 30-May-2010 tnozaki

1. fix build problem CITRUS=no
2. make CITRUS={yes,no} knob friendly with libc/compat.


# 1.141 25-Apr-2010 joerg

Add the constant database reader (cdbr(3)) and writer ((cdbw(3)).
They implement a space efficent write-once database with fast access
path. Switch the services(5) database to use cdb. The size of the
database file decreases from 2.1MB disk space to 307KB. Access
performance is about the same if setservent(0) is used and about an
order of magnitude faster otherwise. services_mkdb defaults to the new
format, but can optionally create the old db(3) format as well for
statically linked legacy applications.


Revision tags: matt-premerge-20091211
# 1.140 06-Dec-2009 uebayasi

Provide the phony "tags" target as previous. Make it depend on the real
target. In case someone assumes the target as an interface.


# 1.139 06-Dec-2009 uebayasi

Make the local "tags" target an absolute path, ${.OBJDIR}/tags, otherwise
it conflicts with the "tags" target defined in bsd.own.mk, which is .PHONY,
which causes you to re-build "tags" everytime you re-run make.


# 1.138 11-Aug-2009 dsl

Change (slightly) the way NO_SRCS is processed, update big comment!
Now the .c file is removed from SRCS for both .S and .c in NO_SRSC.
The .c file is added to LSRCS for .S files in NO_SRCS.
(.S files in SRCS have the same treatment - but also get compiled.)
Allows vax build to be fixed.
Also the previous version failed to add to LSRCS correctly.


# 1.137 30-Jul-2009 dsl

If SRCS contains any .S files then remove the corresponding .c file from
SRCS and add to LSRCS (for lint).
Change the 'string' Makefiles so that the arch/*/string/Makefile.inc
need only specify the .S files for that architecture and not the .c
files for all the files they don't override.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 christos-time_t-nbase christos-time_t-base netbsd-5-base
# 1.136 26-Oct-2008 mrg

branches: 1.136.4;
define and use LIBCDIR in terms of .CURDIR. fixes compat/lib/libc build.


Revision tags: matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.135 23-Jun-2008 ad

Install manual pages for the atomic ops.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
# 1.134 08-Dec-2007 he

branches: 1.134.8;
Ensure that we pass -z initfirst to the linker. The mips gcc
was unhappy about the missing -Wl specification.


# 1.133 07-Dec-2007 ad

rtld changes for PR bin/37347:

- Apply patch from J.T. Conklin to execute .init/.fini functions in order.
- Support DF_1_INITFIRST and mark libc with DF_1_INITFIRST. Shared libs
should be recording a dependency on libc, but it's too late to do that.

Ok christos@.


# 1.132 13-Nov-2007 ad

- stack_protector.c doesn't really belong under sys/. Add a new directory
for misc support routines and put it there.
- Add a libc constructor. Use this to initialize threading and the
stack protector stuff. libpthread cannot be initialized safely using
its own constructor because libc and libpthread are deeply intertwined.
PR bin/37347


Revision tags: matt-armv6-prevmlocking matt-mips64-base
# 1.131 30-May-2007 tls

branches: 1.131.4;
Move FORTIFY_SOURCE implementation from the somewhat ill-named "libssp"
(what other systems keep in libssp, we already have in libc) into libc
to match what other systems with FORTIFY_SOURCE do. Goodbye, libssp
dependency in libraries and executables. Discussed with christos and
mrg; Christos will merge the headers to get us the rest of the way to a
FORTIFY_SOURCE implementation that works as others' code expects.


# 1.130 19-Mar-2007 tnozaki

revert to rev1.127 for iconv(3).


# 1.129 18-Mar-2007 tnozaki

don't use CPPPICFLAGS but CPICFLAGS.

CPPPICFLAGS obly affect *.s sources only,
but we want -D_I18N_DYNAMIC flag for *.c source
(src/lib/libc/citrus_module.c and so on).
use CPICFLAGS instead.

this fix suggested by tsutsui-san in current-users@, thanks.


# 1.128 15-Mar-2007 matt

Don't modify CSHPICFLAGS. (this causes .so file to be made when they shouldn't)
if MKPICLIB is "no", change CPPPICFLAGS otherwise add change CPPFLAGS


Revision tags: abandoned-netbsd-4-base netbsd-4-base
# 1.127 11-Mar-2006 christos

branches: 1.127.4; 1.127.6;
Add glue to build the compat library as a separate "libcold" turned off by
default. Clean up the libc Makefile and remove obsolete stuff such as copy
to libkern.


# 1.126 25-Jan-2006 kleink

Drop in gdtoa as a replacement for dtoa, strtod() from stdlib/strtod.c.


# 1.125 20-Dec-2005 christos

Use reach-over sources from common/lib/libc


# 1.124 29-Nov-2005 christos

WARNS=4


# 1.123 13-Sep-2005 christos

compat core reorg.


# 1.122 30-May-2005 thorpej

Use TOOL_GENASSYM. Part of PR toolchain/30350


# 1.121 03-May-2005 matt

Make longjmp on vax not use sigreturn. Instead it rewrites the
jmp_buf into one compatible with __longjmp14 and relies on that
to change that into a ucontext_t suitable for setcontext(2).


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.120 10-Jan-2005 lukem

minor whitespace consistency


# 1.119 13-Sep-2004 thorpej

DCE 1.1 RPC compatible UUID routines for libc, adapted from FreeBSD.
Encode/decode to big/little endian binary blob routines adapted from
kernel.

PR 23470.


# 1.118 31-Jul-2004 lukem

support MAKEVERBOSE in tags:


# 1.117 21-May-2004 christos

Finish bind9 resolver merge.


# 1.116 18-Apr-2004 lukem

Append to AFLAGS rather than setting AINC.


# 1.115 07-Apr-2004 ross

Ignore errors when making tags here with the override target. (Now matches
the default target in bsd.dep.mk, which dashes the ctags commands.)


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.114 03-Mar-2004 matt

Add support to generate an assym.h if corresponding ARCHDIR contains a
genassym.cf.


# 1.113 07-Dec-2003 matt

Make building IPv6 support controllable by MKINET6


# 1.112 10-Jul-2003 lukem

Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.


# 1.111 27-Jun-2003 tshiozak

Citrus iconv support(4)
add iconv external I/F (iconv.h - iconv_open()/iconv()/iconv_close()) and
iconv(1) utility.
TODO:
- bump libc minor.
- add iconv data files.
- create manpages: iconv_open(3)/iconv(3)/iconv_close(3)/iconv(1)/
mkesdb(1)/mkcsmapper(1).


# 1.110 14-Apr-2003 salo

Add slovak language libc message catalog.


# 1.109 09-Apr-2003 jmmv

Add a Catalan libc message catalog file (plus everything else needed to
track the file). Closes my own PR lib/19498.


# 1.108 18-Jan-2003 thorpej

Merge the nathanw_sa branch.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base nathanw_sa_base
# 1.107 19-Aug-2002 lukem

Explicitly move setting of NOxxx and USE_SHLIBDIR to the top of the
Makefile (before including <bsd.own.mk>)


# 1.106 19-Aug-2002 lukem

Use ${NETBSDSRCDIR}/some/path instead of ${.CURDIR}/../../some/path (etc).
(Reduces make output by ~ 20%)


# 1.105 20-Jul-2002 yamt

for _I18N_DYNAMIC, use CSHLIBFLAGS instead of CPICFLAGS.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.104 22-Mar-2002 thorpej

Split the notion of building Hesiod, Kerberos, S/key, and YP
infrastructure and using that infrastructure in programs.

* MKHESIOD, MKKERBEROS, MKSKEY, and MKYP control building
of the infratsructure (libraries, support programs, etc.)

* USE_HESIOD, USE_KERBEROS, USE_SKEY, and USE_YP control
building of support for using the corresponding API
in various libraries/programs that can use it.

As discussed on tech-toolchain.


# 1.103 17-Mar-2002 tshiozak

refine i18n stuffs.
- add libc/citrus directory.
this directory contains the common stuffs not only for locale
but also other facilities relating to i18n (e.g. iconv).
- To keep the binary compatibility for the ctype modules easily,
the interface between libc and the modules is simplified.
- For the future integrated extension, module pool is renamed
from "/usr/lib/runemodule" to "/usr/lib/i18n".
In the future, this directory will contain the modules for "iconv",
"collation", etc.
- some cosmetic changes.
- Bug fix for runetype.h; __attribute__((__packed__)) is placed at
the wrong position and it is invalid unintentionally.
But, the all members of the structures seem well-aligned. Thus,
this bug causes no problem, hopefully.

HEADS UP:
- /usr/lib/rumemodule is obsoleted. If you use the multibyte locales,
you need to install /usr/lib/i18n/* from sys/lib/i18n_module .
- The binary compatibility of /usr/share/locale/*/LC_CTYPE is probably kept.
Perhaps, the bug fix about __packed__ mentioned above breaks the
compatibility... Be careful especially on 64bit platforms.


# 1.102 05-Mar-2002 thorpej

No need to reference .OBJDIR here.


# 1.101 31-Jan-2002 tv

Make it possible for ctags to be a host tool.


# 1.100 28-Dec-2001 lukem

* Add user-controlled mk.conf variables
- SHLIBDIR Location to install shared libraries if ${USE_SHLIBDIR}
is "yes". Defaults to "/usr/lib".

- USE_SHLIBDIR If "yes", install shared libraries in ${SHLIBDIR}
instead of ${LIBDIR}. Defaults to "no".
Sets ${_LIBSODIR} to the appropriate value.
This may be set by individual Makefiles as well.

- SHLINKDIR Location of shared linker. Defaults to "/usr/libexec".
If != "/usr/libexec", change the dynamic-linker
encoded in shared programs

* Set USE_SHLIBDIR for libraries used by /bin and /sbin:
libc libcrypt libcrypto libedit libipsec libkvm libm libmi387
libtermcap libutil libz

* If ${_LIBSODIR} != ${LIBDIR}, add symlinks from ${LIBDIR}/${LIB}.so*
to ${_LIBSODIR}/${LIB}.so* for compatibility.

* Always install /sbin/init statically (for now)


The net effect of these changes depends on how the variables are set:

1.) If nothing is set or changed, there is no change from the
current behaviour:
- Static /bin, /sbin, and bits of /usr/*
- Dynamic rest
- Shared linker is /usr/libexec/ld*so

2.) If the following make variables are set:
LDSTATIC=
SHLINKDIR=/lib
SHLIBDIR=/lib
Then the behaviour becomes:
- Dynamic tools
- .so libraries used by /bin and /sbin are installed to /lib,
with symlinks from /usr/lib/lib*so to -> /lib/lib*so
where appropriate
- Shared linker is /lib/ld*so

3.) As per 2.), but add the following variable:
USE_SHLIBDIR=yes
This forces all .so's to be instaleld in /lib (with compat
symlinks), not just those tagged by their Makefiles to be.
Again, compat symlinks are installed


# 1.99 02-Sep-2001 zuntum

Add pl.msg file to nls/ directory and list it in the Makefile
-- now libc has polish messages

set LANG to "pl" in your environment to use it.


# 1.98 06-Feb-2001 christos

branches: 1.98.2;
I've had it. Raise the barrier on committing unlinted code. On the i386
make lint exit on warnings.


# 1.97 25-Jan-2001 itojun

(finally!) enable multibyte LC_CTYPE locale support.

the functionality will be available for dynamic-linked binary only, due to
limitation with dlopen() from within statically-linked binaries.
(statically-linked binary can still enjoy singlebyte LC_CTYPE locale support)

from citrus project.


# 1.96 16-Jan-2001 tron

Remove duplicate "tags" target.


# 1.95 08-Jan-2001 itojun

use MACIHNE_CPU to determine architecture-dependent source code directory.
is use of exists(foo) safe enough?
TODO: many other places to fix


# 1.94 04-Jan-2001 itojun

prepare for sh3e[bl] split


# 1.93 29-Dec-2000 bjh21

Create shared ARM source for libc, and move arm26 port over to using it.
The code is (almost) a direct copy of the current arm26 sources.
It's identical to the current arm32 sources, with the following exceptions:
- _C_LABEL is used on references to C labels from assembler.
- Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__.
- It uses SoftFloat 2a rather than SoftFloat 1a.

The first two of these should be inconsequential. I believe that SoftFloat 2a
should work on arm32 and be backward-compatible with existing code, but this
is not obviously true. For now, arm32 remains using its own bits of libc.


# 1.92 20-Dec-2000 christos

Ignore empty translation unit errors.


# 1.91 13-Aug-2000 christos

Don't enable lin's exit on warnings yet. It'll break most ports.


# 1.90 13-Aug-2000 christos

add -w to ctags. got finally tired of looking at all those dup error messages
that nobody will ever fix.


Revision tags: netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base
# 1.89 02-Jun-2000 fvdl

branches: 1.89.2;
Add new RPC code, based on Sun's TI-RPC code. Adapted to not use XTI,
but sockets instead, internally. Old, backward compatible interfaces
maintained.


Revision tags: minoura-xpg4dl-base
# 1.88 02-Apr-2000 minoura

branches: 1.88.2;
Move dl* function definitions to libc on ELF.
Based on the patch supplied by Takuya Shiozaki <tshiozak@astec.co.jp>.
See http://mail-index.netbsd.org/tech-userlevel/2000/02/23/0000.html.


# 1.87 26-Jan-2000 itojun

move -DINET6 upwards, into lib/libc/Makefile.
- we need it for lib/libc/rpc soon
- this is not clear to add CPPFLAGS in subdir/Makefile.inc (as it affect other
subdirs as well)


# 1.86 23-Jan-2000 mycroft

Fix the tags build.


Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base
# 1.85 26-Sep-1999 jdolecek

Add czech language message catalog


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.84 27-Feb-1999 tv

branches: 1.84.4;
Revert part of previous and use C/// instead of S/// for mipse[bl]->mips.


# 1.83 24-Feb-1999 drochner

-this fancy S/mipse[bl]/mips/ didn't work - replace it by something simple
-generate an ARCHSUBDIR which contains the last path element
-use ${ARCHSUBDIR} instead of ${MACHINE_ARCH} where appropriate


# 1.82 09-Feb-1999 tv

Remap mipse[bl] to mips when finding arch directory.


# 1.81 04-Feb-1999 explorer

add sha1 functions, like md5/4


# 1.80 15-Jan-1999 bouyer

Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.


# 1.79 15-Jan-1999 lukem

merge nsswitch into main branch


# 1.78 28-Nov-1998 eeh

sparc doesn't need quad support when running in 64-bit mode either.


# 1.77 14-Oct-1998 kleink

Add _LIBC to the set of preprocessor symbols defined in the libc build
environment; used by source files shared with other parts of the userland
to determine whether certain conventions need to be obeyed or not.


# 1.76 04-Aug-1998 perry

add strchr.c, strrchr.c, memmove.c, memcpy.c, to KSRC for copy to libkern.


# 1.75 06-May-1998 mycroft

Enable quad support on PowerPC.


# 1.74 27-Mar-1998 cgd

add bcopy.c to KSRCS, to sync with charles's libkern changes


# 1.73 04-Mar-1998 mikel

fix typo in comment


# 1.72 22-Jan-1998 cgd

copy memchr.c, index.c, and rindex.c to libkern


# 1.71 22-Oct-1997 lukem

- use CPPFLAGS instead of CFLAGS
- use ${COMPILE.C} ... instead of ${CC} ${CFLAGS} -c ...


Revision tags: netbsd-1-3-base
# 1.70 09-Oct-1997 lukem

branches: 1.70.2;
- define WARNS?=1 in the top-level Makefile.inc, and don't define
anywhere else.
- for now, override WARNS=0 in librpcsvc and libwrap, until they're
cleaned up
- rcsid police

lib is now clean (except for librpcsvc and libwrap) on the i386, and
this should motivate the other ports to fix any other minor problems
that their compilers pick up that the i386 version doesn't.


# 1.69 18-Jul-1997 veego

Build with warnings enabled on m68k systems.


# 1.68 18-Jul-1997 thorpej

Build with warnings enabled on the Alpha.


# 1.67 13-Jul-1997 christos

Add WARNS=1 for the sparc and the i386


# 1.66 19-Jun-1997 mikel

add ${.OBJDIR}/tags to CLEANFILES


# 1.65 04-Jun-1997 christos

Try to fix the tags mess.
- Build in obj/tags
- Only create ${.CURDIR}/tags if 'make tags' is specify.
- ${.CURDIR}/tags is a symlink to /var/db/libc.tags


# 1.64 12-May-1997 christos

branches: 1.64.2;
Use ${.CURDIR}/tags instead of tags. `tags' is .PHONY so it gets rebuilt
all the time.


# 1.63 30-Apr-1997 thorpej

Add md5c.c to the list of files to copy-to-libkern.


# 1.62 28-Apr-1997 ragge

Svensk meddelandekatalog, ursprungligen skriven av Martin Kullberg.
(frolix@ludd.luth.se)


# 1.61 28-Apr-1997 is

Compile the Dutch message catalog.


# 1.60 28-Apr-1997 is

Added Norwegian libc error messages/signal names, donated by Stig
Venaas <venaas@nvg.ntnu.no>.


# 1.59 17-Apr-1997 is

Finnish libc error message/signal name catalog, by Jukka Marin and coworker.


# 1.58 29-Mar-1997 thorpej

oops, add missing quotes


# 1.57 29-Mar-1997 thorpej

Don't need to build quad stuff on PowerPC.


# 1.56 24-Mar-1997 christos

Makefile cleanups:
use INCS variable to install includes and FILES to install objects.


# 1.55 10-Mar-1997 hpeyerl

Remove as per discussion with core.


# 1.54 10-Mar-1997 perry

Initial cut of Canadian national language support


# 1.53 10-Mar-1997 hpeyerl

Color me bored.


# 1.52 30-Jan-1997 thorpej

Build the MD4/MD5 sources.


# 1.51 19-Dec-1996 cgd

set LLIBS to nothing, so we don't try to lint the C libarary against
itself when creating llib-lc.ln.


# 1.50 07-Nov-1996 jtc

Add -D_REENTRANT to CFLAGS


# 1.49 18-Oct-1996 thorpej

branches: 1.49.2;
Use ${INSTALL}.


# 1.48 15-Aug-1996 jtc

branches: 1.48.2;
Add memcmp.c and memset.c to KSRCS (files copied to libkern).


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.47 23-Nov-1995 jtc

Added spanish language message catalog from Jesus M. Gonzalez <jgb@ordago.uc3m.es>


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.46 09-Oct-1995 jtc

Add French libc message catalog by Matthieu Herrb <matthieu@abel.laas.fr>


# 1.45 04-Oct-1995 thorpej

We don't have a libc/search.


# 1.44 02-Oct-1995 jtc

Add german libc message catalog


# 1.43 26-Jun-1995 jtc

Use "${BINOWN}" and "${BINGRP}" instead of "bin".


# 1.42 07-Jun-1995 cgd

build tags at library build time, not at install time.


# 1.41 02-May-1995 jtc

Enable C and Pig Latin message catalogs.


# 1.40 25-Apr-1995 jtc

Handle new termios subdirectory.


# 1.39 12-Apr-1995 jtc

Use ${DESTDIR} when installing libc.tags


# 1.38 13-Mar-1995 jtc

.include ${.CURDIR}/time/Makefile.inc


# 1.37 05-Mar-1995 jtc

Removed -o from and added /dev/null to egrep command line. It does the
exactly the same thing, but doesn't need 4.4's or our hacked version of
GNU grep.


# 1.36 25-Feb-1995 cgd

upgrade to 4.4-Lite Makefile, keeping local changes. NOW BUILDS TAGS ON INST


# 1.35 13-Feb-1995 cgd

make copy-to-libkern work properly on the alpha. (deal with no quad support.)


# 1.34 10-Feb-1995 cgd

alphas don't need libc quad support.


# 1.33 01-Feb-1995 jtc

Added -I${.CURDIR}/include to CFLAGS, for upcoming library-private
header files (namespace.h, etc.).


# 1.32 30-Jan-1995 cgd

kill the damned tab.


# 1.31 06-Jan-1995 cgd

branches: 1.31.2;
don't forget to copy ntohs to libkern


# 1.30 19-Oct-1994 cgd

relative path to libkerm


# 1.29 06-Oct-1994 jtc

It looks like most people were in favor of enabling NLS in the C library.


# 1.28 03-Sep-1994 jtc

Document the fact that NLS (message catalog) support is enabled by adding
-DNLS to CFLAGS.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.27 06-Jul-1994 mycroft

Do something more intelligent when compiling into ${DESTDIR}.


# 1.26 30-Jun-1994 deraadt

libkern files are in arch/ now


# 1.25 29-May-1994 jtc

Add message catalog functions.


# 1.24 14-May-1994 cgd

add new gmon stuff, rearrange inclusions


# 1.23 27-Jan-1994 pk

Remove dlopen() et. al., they don't work from libc.


# 1.22 04-Dec-1993 cgd

copy quad.h, too...


# 1.21 04-Dec-1993 cgd

update for .S and MACHINE_ARCH


# 1.20 14-Nov-1993 pk

Removed `INSTALL_PIC_ARCHIVE' as installing these is going to be the default.


# 1.19 11-Nov-1993 jtc

Enable Henry Spencer's POSIX.2 compatible regular expression routines.
Disable is earlier V8-style routines.


# 1.18 05-Nov-1993 cgd

add strncmp to the list of things that gets copied to libkern.


# 1.17 17-Oct-1993 pk

Let libc_pic.a be installed.


# 1.16 17-Oct-1993 pk

Added subdir `dl'.


# 1.15 15-Oct-1993 jtc

Copy machine dependant files (KMSRCS) to libkern.


# 1.14 15-Oct-1993 jtc

Added copy-to-libkern and rm-from-libkern targets.


# 1.13 07-Oct-1993 cgd

make an arch directory in libc, and move all machine dirs into it


# 1.12 28-Sep-1993 mycroft

Reenable building of Torek's quad library.


# 1.11 18-Sep-1993 cgd

ifdef notdef the inclusion of the quad support, since it doesn't compile
and charles didn't properly commit it to a branch. LIBC SHOULD COMPILE
AT ALL TIMES!


# 1.10 16-Sep-1993 mycroft

Compile quad stuff.


# 1.9 05-Sep-1993 deraadt

include ${MACHINE}/Makefile.inc if it exists


# 1.8 01-Aug-1993 mycroft

Add RCS identifiers.


Revision tags: netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.7 14-Jun-1993 cgd

update db code to v1.6 from vangogh, and put it in "db" rather than "DB"


# 1.6 27-Apr-1993 deraadt

changed the documentation on what -DYP really means.


# 1.5 27-Apr-1993 cgd

always compile in YP. theo hasn't given me a reason we can't do this, so...


# 1.4 26-Apr-1993 deraadt

Add instructions for compiling YP to the Makefile


# 1.3 21-Apr-1993 proven

New db stuff is in DB now. Makefile reflects change.


# 1.2 18-Apr-1993 proven

Removed references to db in the Makefile.


# 1.1 21-Mar-1993 cgd

branches: 1.1.1;
Initial revision


# 1.173 16-May-2020 christos

Add ACL support for FFS. From FreeBSD.


Revision tags: phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.172 03-Aug-2018 kamil

Restrict -fno-sanitize=function to Clang/LLVM only

The base GCC version 6,x does not support this option.


# 1.171 03-Aug-2018 kamil

Disable sanitization of -fsanitize=function in libc

Generated code for the checks (in at least libunwind) depends on the C++
runtime feature of RTTI.

Pass -fno-sanitize=function to LIBCSANITIZERFLAGS.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
# 1.170 31-Mar-2018 kamil

branches: 1.170.2;
Drop the USE_LIBTRE build option

libtre cannot be used any more as a replacement for regex(3).
Tt does not build and the library development is stalled in upstream.

Proposed on mailing list.

Sponsored by <The NetBSD Foundation>


Revision tags: netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.169 15-Jun-2015 christos

branches: 1.169.14;
Only create and install the tags file for the normal libc (not any of the
compat copies), because we don't want it to be overwritten by the compat
copies. This was detected by the evbarm mkimage complaining.


# 1.168 09-Feb-2015 pooka

Include compat in rumprun libc

Not including non-renamed symbols in libc caused all kinds of configure
scripts to do the wrong thing when they just tested linkage without
including headers. So, go for the "least moving parts" bandaid for now.


# 1.167 10-Dec-2014 pooka

Add hooks for RUMPRUN build of libc

If "yes", does the following (default "no"):
* prevents ASM syscalls from being built (librump provides syscalls)
* does not include compat (useless when application is linked with libc)
* does not build tags (no /var/db to install them to)
* does not include tls

==> libc for rumprun can now be built against unmodified NetBSD sources


Revision tags: netbsd-7-base tls-maxphys-base
# 1.166 10-Aug-2014 matt

branches: 1.166.2;
MKCOMPAT fixes for when compat MACHINE_CPU != normal MACHINE_CPU


Revision tags: yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.165 04-Mar-2014 joerg

Introduce GENASSYM_CPPFLAGS for options during genassym processing.
Consistently drop assembler flags.


# 1.164 29-Jan-2014 joerg

Include compiler-rt in libc, libm and libkern.


# 1.163 19-Jan-2014 apb

If MKREPRO=yes, make the tags file refer to /usr/src
instead of referring to the actual source directory ${NETBSDSRC}.


# 1.162 18-Jan-2014 joerg

Use a separate variable for the use of GCC's unwind code.


# 1.161 15-Jan-2014 joerg

Use the quad support from compiler-rt for MKLIBGCC=no.


# 1.160 14-Oct-2013 joerg

Rename USE_LIBGCC to HAVE_LIBGCC and retry using it as flag on unwind.h.


# 1.159 14-Oct-2013 joerg

Include compiler-rt and libunwind in libc for Clang/x86 builds.


# 1.158 30-Jul-2013 joerg

Don't pass assembler flags to cpp for genassym.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.157 30-Apr-2013 matt

Match against LIBC_MACHINE_ARCH for MKCOMPAT


# 1.156 27-Apr-2013 matt

Just build the legacy stuff for earm (for now).


# 1.155 25-Apr-2013 matt

for earm, make sure to build getdirentries man page


# 1.154 25-Apr-2013 matt

Add CPPFLAGS+= -I${NETBSDSRCDIR}/sys for earm compat


# 1.153 19-Apr-2013 matt

for EARM, just build __lwp_park50 compat for libpthread until the situation
is involved.


# 1.152 19-Apr-2013 matt

Fix inverted test.


# 1.151 19-Apr-2013 matt

Since earm is new, don't bother building the compat libc code since there
is nothing that can use it.


# 1.150 12-Apr-2013 joerg

Rename BUILDCOLD to BUILD_LEGACY and provide a preprocessor macro that
can be used in code files that aren't easy to split up. Add the removal
to the major bump todo list.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
# 1.149 20-Jan-2012 joerg

branches: 1.149.6;
Remove code for CITRUS!=yes.


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.148 17-Aug-2011 christos

branches: 1.148.2;
fix the rest of libc mi gcc-4.5 hacks. portmasters should fix the md ones.


# 1.147 21-Jun-2011 mrg

add some XXX'd -Wno-foo if HAVE_GCC >= 45.

XXX: someone should look at these.


# 1.146 19-Jun-2011 nakayama

__udivdi3 isn't included in sparc compat libc on sparc64, so use
ARCHSUBDIR instead of MACHINE_ARCH for checking whether to include
quad/Makefile.inc.

This fixes undefined symbol __udivdi3 in /libexec/ld.elf_so-sparc
on sparc64 which is the cause of failure of hello32 test in
toolchain/cc/t_hello.


Revision tags: cherry-xenmp-base
# 1.145 27-May-2011 drochner

branches: 1.145.2;
make the "tags" target non-.PHONY because it reflects a real file,
and remove some nonsense in libc Makefile which caused that
a "tags" file was written in my source tree


# 1.144 09-Mar-2011 joerg

Add TLS support infrastructure. For dynamic binaries, ld.elf_so exports
_rtld_tls_allocate and _rtld_tls_free. libpthread uses this functions to
setup the thread private area of all new threads. ld.elf_so is
responsible for setting up the private area for the initial thread.
Similar functions are called from _libc_init for static binaries, using
dl_iterate_phdr to access the ELF Program Header.

Add test cases to exercise the different TLS storage models. Test cases
are compiled and installed on all platforms, but are skipped on
platforms not marked for TLS support.

This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.

It is inspired by the TLS support in FreeBSD by Doug Rabson and the
clean ups of the DragonFly port of the original FreeBSD modifications.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.143 04-Sep-2010 ahoka

Add libc glue for libtre.
tre will be compiled without approx and wchar/mulibyte support to
only match the minimum requirement to replace our spencer regex.

This needs a lot of testing.

Only enabled when USE_LIBTRE is set to `yes'.


# 1.142 30-May-2010 tnozaki

1. fix build problem CITRUS=no
2. make CITRUS={yes,no} knob friendly with libc/compat.


# 1.141 25-Apr-2010 joerg

Add the constant database reader (cdbr(3)) and writer ((cdbw(3)).
They implement a space efficent write-once database with fast access
path. Switch the services(5) database to use cdb. The size of the
database file decreases from 2.1MB disk space to 307KB. Access
performance is about the same if setservent(0) is used and about an
order of magnitude faster otherwise. services_mkdb defaults to the new
format, but can optionally create the old db(3) format as well for
statically linked legacy applications.


Revision tags: matt-premerge-20091211
# 1.140 06-Dec-2009 uebayasi

Provide the phony "tags" target as previous. Make it depend on the real
target. In case someone assumes the target as an interface.


# 1.139 06-Dec-2009 uebayasi

Make the local "tags" target an absolute path, ${.OBJDIR}/tags, otherwise
it conflicts with the "tags" target defined in bsd.own.mk, which is .PHONY,
which causes you to re-build "tags" everytime you re-run make.


# 1.138 11-Aug-2009 dsl

Change (slightly) the way NO_SRCS is processed, update big comment!
Now the .c file is removed from SRCS for both .S and .c in NO_SRSC.
The .c file is added to LSRCS for .S files in NO_SRCS.
(.S files in SRCS have the same treatment - but also get compiled.)
Allows vax build to be fixed.
Also the previous version failed to add to LSRCS correctly.


# 1.137 30-Jul-2009 dsl

If SRCS contains any .S files then remove the corresponding .c file from
SRCS and add to LSRCS (for lint).
Change the 'string' Makefiles so that the arch/*/string/Makefile.inc
need only specify the .S files for that architecture and not the .c
files for all the files they don't override.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 christos-time_t-nbase christos-time_t-base netbsd-5-base
# 1.136 26-Oct-2008 mrg

branches: 1.136.4;
define and use LIBCDIR in terms of .CURDIR. fixes compat/lib/libc build.


Revision tags: matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.135 23-Jun-2008 ad

Install manual pages for the atomic ops.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
# 1.134 08-Dec-2007 he

branches: 1.134.8;
Ensure that we pass -z initfirst to the linker. The mips gcc
was unhappy about the missing -Wl specification.


# 1.133 07-Dec-2007 ad

rtld changes for PR bin/37347:

- Apply patch from J.T. Conklin to execute .init/.fini functions in order.
- Support DF_1_INITFIRST and mark libc with DF_1_INITFIRST. Shared libs
should be recording a dependency on libc, but it's too late to do that.

Ok christos@.


# 1.132 13-Nov-2007 ad

- stack_protector.c doesn't really belong under sys/. Add a new directory
for misc support routines and put it there.
- Add a libc constructor. Use this to initialize threading and the
stack protector stuff. libpthread cannot be initialized safely using
its own constructor because libc and libpthread are deeply intertwined.
PR bin/37347


Revision tags: matt-armv6-prevmlocking matt-mips64-base
# 1.131 30-May-2007 tls

branches: 1.131.4;
Move FORTIFY_SOURCE implementation from the somewhat ill-named "libssp"
(what other systems keep in libssp, we already have in libc) into libc
to match what other systems with FORTIFY_SOURCE do. Goodbye, libssp
dependency in libraries and executables. Discussed with christos and
mrg; Christos will merge the headers to get us the rest of the way to a
FORTIFY_SOURCE implementation that works as others' code expects.


# 1.130 19-Mar-2007 tnozaki

revert to rev1.127 for iconv(3).


# 1.129 18-Mar-2007 tnozaki

don't use CPPPICFLAGS but CPICFLAGS.

CPPPICFLAGS obly affect *.s sources only,
but we want -D_I18N_DYNAMIC flag for *.c source
(src/lib/libc/citrus_module.c and so on).
use CPICFLAGS instead.

this fix suggested by tsutsui-san in current-users@, thanks.


# 1.128 15-Mar-2007 matt

Don't modify CSHPICFLAGS. (this causes .so file to be made when they shouldn't)
if MKPICLIB is "no", change CPPPICFLAGS otherwise add change CPPFLAGS


Revision tags: abandoned-netbsd-4-base netbsd-4-base
# 1.127 11-Mar-2006 christos

branches: 1.127.4; 1.127.6;
Add glue to build the compat library as a separate "libcold" turned off by
default. Clean up the libc Makefile and remove obsolete stuff such as copy
to libkern.


# 1.126 25-Jan-2006 kleink

Drop in gdtoa as a replacement for dtoa, strtod() from stdlib/strtod.c.


# 1.125 20-Dec-2005 christos

Use reach-over sources from common/lib/libc


# 1.124 29-Nov-2005 christos

WARNS=4


# 1.123 13-Sep-2005 christos

compat core reorg.


# 1.122 30-May-2005 thorpej

Use TOOL_GENASSYM. Part of PR toolchain/30350


# 1.121 03-May-2005 matt

Make longjmp on vax not use sigreturn. Instead it rewrites the
jmp_buf into one compatible with __longjmp14 and relies on that
to change that into a ucontext_t suitable for setcontext(2).


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.120 10-Jan-2005 lukem

minor whitespace consistency


# 1.119 13-Sep-2004 thorpej

DCE 1.1 RPC compatible UUID routines for libc, adapted from FreeBSD.
Encode/decode to big/little endian binary blob routines adapted from
kernel.

PR 23470.


# 1.118 31-Jul-2004 lukem

support MAKEVERBOSE in tags:


# 1.117 21-May-2004 christos

Finish bind9 resolver merge.


# 1.116 18-Apr-2004 lukem

Append to AFLAGS rather than setting AINC.


# 1.115 07-Apr-2004 ross

Ignore errors when making tags here with the override target. (Now matches
the default target in bsd.dep.mk, which dashes the ctags commands.)


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.114 03-Mar-2004 matt

Add support to generate an assym.h if corresponding ARCHDIR contains a
genassym.cf.


# 1.113 07-Dec-2003 matt

Make building IPv6 support controllable by MKINET6


# 1.112 10-Jul-2003 lukem

Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.


# 1.111 27-Jun-2003 tshiozak

Citrus iconv support(4)
add iconv external I/F (iconv.h - iconv_open()/iconv()/iconv_close()) and
iconv(1) utility.
TODO:
- bump libc minor.
- add iconv data files.
- create manpages: iconv_open(3)/iconv(3)/iconv_close(3)/iconv(1)/
mkesdb(1)/mkcsmapper(1).


# 1.110 14-Apr-2003 salo

Add slovak language libc message catalog.


# 1.109 09-Apr-2003 jmmv

Add a Catalan libc message catalog file (plus everything else needed to
track the file). Closes my own PR lib/19498.


# 1.108 18-Jan-2003 thorpej

Merge the nathanw_sa branch.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base nathanw_sa_base
# 1.107 19-Aug-2002 lukem

Explicitly move setting of NOxxx and USE_SHLIBDIR to the top of the
Makefile (before including <bsd.own.mk>)


# 1.106 19-Aug-2002 lukem

Use ${NETBSDSRCDIR}/some/path instead of ${.CURDIR}/../../some/path (etc).
(Reduces make output by ~ 20%)


# 1.105 20-Jul-2002 yamt

for _I18N_DYNAMIC, use CSHLIBFLAGS instead of CPICFLAGS.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.104 22-Mar-2002 thorpej

Split the notion of building Hesiod, Kerberos, S/key, and YP
infrastructure and using that infrastructure in programs.

* MKHESIOD, MKKERBEROS, MKSKEY, and MKYP control building
of the infratsructure (libraries, support programs, etc.)

* USE_HESIOD, USE_KERBEROS, USE_SKEY, and USE_YP control
building of support for using the corresponding API
in various libraries/programs that can use it.

As discussed on tech-toolchain.


# 1.103 17-Mar-2002 tshiozak

refine i18n stuffs.
- add libc/citrus directory.
this directory contains the common stuffs not only for locale
but also other facilities relating to i18n (e.g. iconv).
- To keep the binary compatibility for the ctype modules easily,
the interface between libc and the modules is simplified.
- For the future integrated extension, module pool is renamed
from "/usr/lib/runemodule" to "/usr/lib/i18n".
In the future, this directory will contain the modules for "iconv",
"collation", etc.
- some cosmetic changes.
- Bug fix for runetype.h; __attribute__((__packed__)) is placed at
the wrong position and it is invalid unintentionally.
But, the all members of the structures seem well-aligned. Thus,
this bug causes no problem, hopefully.

HEADS UP:
- /usr/lib/rumemodule is obsoleted. If you use the multibyte locales,
you need to install /usr/lib/i18n/* from sys/lib/i18n_module .
- The binary compatibility of /usr/share/locale/*/LC_CTYPE is probably kept.
Perhaps, the bug fix about __packed__ mentioned above breaks the
compatibility... Be careful especially on 64bit platforms.


# 1.102 05-Mar-2002 thorpej

No need to reference .OBJDIR here.


# 1.101 31-Jan-2002 tv

Make it possible for ctags to be a host tool.


# 1.100 28-Dec-2001 lukem

* Add user-controlled mk.conf variables
- SHLIBDIR Location to install shared libraries if ${USE_SHLIBDIR}
is "yes". Defaults to "/usr/lib".

- USE_SHLIBDIR If "yes", install shared libraries in ${SHLIBDIR}
instead of ${LIBDIR}. Defaults to "no".
Sets ${_LIBSODIR} to the appropriate value.
This may be set by individual Makefiles as well.

- SHLINKDIR Location of shared linker. Defaults to "/usr/libexec".
If != "/usr/libexec", change the dynamic-linker
encoded in shared programs

* Set USE_SHLIBDIR for libraries used by /bin and /sbin:
libc libcrypt libcrypto libedit libipsec libkvm libm libmi387
libtermcap libutil libz

* If ${_LIBSODIR} != ${LIBDIR}, add symlinks from ${LIBDIR}/${LIB}.so*
to ${_LIBSODIR}/${LIB}.so* for compatibility.

* Always install /sbin/init statically (for now)


The net effect of these changes depends on how the variables are set:

1.) If nothing is set or changed, there is no change from the
current behaviour:
- Static /bin, /sbin, and bits of /usr/*
- Dynamic rest
- Shared linker is /usr/libexec/ld*so

2.) If the following make variables are set:
LDSTATIC=
SHLINKDIR=/lib
SHLIBDIR=/lib
Then the behaviour becomes:
- Dynamic tools
- .so libraries used by /bin and /sbin are installed to /lib,
with symlinks from /usr/lib/lib*so to -> /lib/lib*so
where appropriate
- Shared linker is /lib/ld*so

3.) As per 2.), but add the following variable:
USE_SHLIBDIR=yes
This forces all .so's to be instaleld in /lib (with compat
symlinks), not just those tagged by their Makefiles to be.
Again, compat symlinks are installed


# 1.99 02-Sep-2001 zuntum

Add pl.msg file to nls/ directory and list it in the Makefile
-- now libc has polish messages

set LANG to "pl" in your environment to use it.


# 1.98 06-Feb-2001 christos

branches: 1.98.2;
I've had it. Raise the barrier on committing unlinted code. On the i386
make lint exit on warnings.


# 1.97 25-Jan-2001 itojun

(finally!) enable multibyte LC_CTYPE locale support.

the functionality will be available for dynamic-linked binary only, due to
limitation with dlopen() from within statically-linked binaries.
(statically-linked binary can still enjoy singlebyte LC_CTYPE locale support)

from citrus project.


# 1.96 16-Jan-2001 tron

Remove duplicate "tags" target.


# 1.95 08-Jan-2001 itojun

use MACIHNE_CPU to determine architecture-dependent source code directory.
is use of exists(foo) safe enough?
TODO: many other places to fix


# 1.94 04-Jan-2001 itojun

prepare for sh3e[bl] split


# 1.93 29-Dec-2000 bjh21

Create shared ARM source for libc, and move arm26 port over to using it.
The code is (almost) a direct copy of the current arm26 sources.
It's identical to the current arm32 sources, with the following exceptions:
- _C_LABEL is used on references to C labels from assembler.
- Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__.
- It uses SoftFloat 2a rather than SoftFloat 1a.

The first two of these should be inconsequential. I believe that SoftFloat 2a
should work on arm32 and be backward-compatible with existing code, but this
is not obviously true. For now, arm32 remains using its own bits of libc.


# 1.92 20-Dec-2000 christos

Ignore empty translation unit errors.


# 1.91 13-Aug-2000 christos

Don't enable lin's exit on warnings yet. It'll break most ports.


# 1.90 13-Aug-2000 christos

add -w to ctags. got finally tired of looking at all those dup error messages
that nobody will ever fix.


Revision tags: netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base
# 1.89 02-Jun-2000 fvdl

branches: 1.89.2;
Add new RPC code, based on Sun's TI-RPC code. Adapted to not use XTI,
but sockets instead, internally. Old, backward compatible interfaces
maintained.


Revision tags: minoura-xpg4dl-base
# 1.88 02-Apr-2000 minoura

branches: 1.88.2;
Move dl* function definitions to libc on ELF.
Based on the patch supplied by Takuya Shiozaki <tshiozak@astec.co.jp>.
See http://mail-index.netbsd.org/tech-userlevel/2000/02/23/0000.html.


# 1.87 26-Jan-2000 itojun

move -DINET6 upwards, into lib/libc/Makefile.
- we need it for lib/libc/rpc soon
- this is not clear to add CPPFLAGS in subdir/Makefile.inc (as it affect other
subdirs as well)


# 1.86 23-Jan-2000 mycroft

Fix the tags build.


Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base
# 1.85 26-Sep-1999 jdolecek

Add czech language message catalog


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.84 27-Feb-1999 tv

branches: 1.84.4;
Revert part of previous and use C/// instead of S/// for mipse[bl]->mips.


# 1.83 24-Feb-1999 drochner

-this fancy S/mipse[bl]/mips/ didn't work - replace it by something simple
-generate an ARCHSUBDIR which contains the last path element
-use ${ARCHSUBDIR} instead of ${MACHINE_ARCH} where appropriate


# 1.82 09-Feb-1999 tv

Remap mipse[bl] to mips when finding arch directory.


# 1.81 04-Feb-1999 explorer

add sha1 functions, like md5/4


# 1.80 15-Jan-1999 bouyer

Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.


# 1.79 15-Jan-1999 lukem

merge nsswitch into main branch


# 1.78 28-Nov-1998 eeh

sparc doesn't need quad support when running in 64-bit mode either.


# 1.77 14-Oct-1998 kleink

Add _LIBC to the set of preprocessor symbols defined in the libc build
environment; used by source files shared with other parts of the userland
to determine whether certain conventions need to be obeyed or not.


# 1.76 04-Aug-1998 perry

add strchr.c, strrchr.c, memmove.c, memcpy.c, to KSRC for copy to libkern.


# 1.75 06-May-1998 mycroft

Enable quad support on PowerPC.


# 1.74 27-Mar-1998 cgd

add bcopy.c to KSRCS, to sync with charles's libkern changes


# 1.73 04-Mar-1998 mikel

fix typo in comment


# 1.72 22-Jan-1998 cgd

copy memchr.c, index.c, and rindex.c to libkern


# 1.71 22-Oct-1997 lukem

- use CPPFLAGS instead of CFLAGS
- use ${COMPILE.C} ... instead of ${CC} ${CFLAGS} -c ...


Revision tags: netbsd-1-3-base
# 1.70 09-Oct-1997 lukem

branches: 1.70.2;
- define WARNS?=1 in the top-level Makefile.inc, and don't define
anywhere else.
- for now, override WARNS=0 in librpcsvc and libwrap, until they're
cleaned up
- rcsid police

lib is now clean (except for librpcsvc and libwrap) on the i386, and
this should motivate the other ports to fix any other minor problems
that their compilers pick up that the i386 version doesn't.


# 1.69 18-Jul-1997 veego

Build with warnings enabled on m68k systems.


# 1.68 18-Jul-1997 thorpej

Build with warnings enabled on the Alpha.


# 1.67 13-Jul-1997 christos

Add WARNS=1 for the sparc and the i386


# 1.66 19-Jun-1997 mikel

add ${.OBJDIR}/tags to CLEANFILES


# 1.65 04-Jun-1997 christos

Try to fix the tags mess.
- Build in obj/tags
- Only create ${.CURDIR}/tags if 'make tags' is specify.
- ${.CURDIR}/tags is a symlink to /var/db/libc.tags


# 1.64 12-May-1997 christos

branches: 1.64.2;
Use ${.CURDIR}/tags instead of tags. `tags' is .PHONY so it gets rebuilt
all the time.


# 1.63 30-Apr-1997 thorpej

Add md5c.c to the list of files to copy-to-libkern.


# 1.62 28-Apr-1997 ragge

Svensk meddelandekatalog, ursprungligen skriven av Martin Kullberg.
(frolix@ludd.luth.se)


# 1.61 28-Apr-1997 is

Compile the Dutch message catalog.


# 1.60 28-Apr-1997 is

Added Norwegian libc error messages/signal names, donated by Stig
Venaas <venaas@nvg.ntnu.no>.


# 1.59 17-Apr-1997 is

Finnish libc error message/signal name catalog, by Jukka Marin and coworker.


# 1.58 29-Mar-1997 thorpej

oops, add missing quotes


# 1.57 29-Mar-1997 thorpej

Don't need to build quad stuff on PowerPC.


# 1.56 24-Mar-1997 christos

Makefile cleanups:
use INCS variable to install includes and FILES to install objects.


# 1.55 10-Mar-1997 hpeyerl

Remove as per discussion with core.


# 1.54 10-Mar-1997 perry

Initial cut of Canadian national language support


# 1.53 10-Mar-1997 hpeyerl

Color me bored.


# 1.52 30-Jan-1997 thorpej

Build the MD4/MD5 sources.


# 1.51 19-Dec-1996 cgd

set LLIBS to nothing, so we don't try to lint the C libarary against
itself when creating llib-lc.ln.


# 1.50 07-Nov-1996 jtc

Add -D_REENTRANT to CFLAGS


# 1.49 18-Oct-1996 thorpej

branches: 1.49.2;
Use ${INSTALL}.


# 1.48 15-Aug-1996 jtc

branches: 1.48.2;
Add memcmp.c and memset.c to KSRCS (files copied to libkern).


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.47 23-Nov-1995 jtc

Added spanish language message catalog from Jesus M. Gonzalez <jgb@ordago.uc3m.es>


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.46 09-Oct-1995 jtc

Add French libc message catalog by Matthieu Herrb <matthieu@abel.laas.fr>


# 1.45 04-Oct-1995 thorpej

We don't have a libc/search.


# 1.44 02-Oct-1995 jtc

Add german libc message catalog


# 1.43 26-Jun-1995 jtc

Use "${BINOWN}" and "${BINGRP}" instead of "bin".


# 1.42 07-Jun-1995 cgd

build tags at library build time, not at install time.


# 1.41 02-May-1995 jtc

Enable C and Pig Latin message catalogs.


# 1.40 25-Apr-1995 jtc

Handle new termios subdirectory.


# 1.39 12-Apr-1995 jtc

Use ${DESTDIR} when installing libc.tags


# 1.38 13-Mar-1995 jtc

.include ${.CURDIR}/time/Makefile.inc


# 1.37 05-Mar-1995 jtc

Removed -o from and added /dev/null to egrep command line. It does the
exactly the same thing, but doesn't need 4.4's or our hacked version of
GNU grep.


# 1.36 25-Feb-1995 cgd

upgrade to 4.4-Lite Makefile, keeping local changes. NOW BUILDS TAGS ON INST


# 1.35 13-Feb-1995 cgd

make copy-to-libkern work properly on the alpha. (deal with no quad support.)


# 1.34 10-Feb-1995 cgd

alphas don't need libc quad support.


# 1.33 01-Feb-1995 jtc

Added -I${.CURDIR}/include to CFLAGS, for upcoming library-private
header files (namespace.h, etc.).


# 1.32 30-Jan-1995 cgd

kill the damned tab.


# 1.31 06-Jan-1995 cgd

branches: 1.31.2;
don't forget to copy ntohs to libkern


# 1.30 19-Oct-1994 cgd

relative path to libkerm


# 1.29 06-Oct-1994 jtc

It looks like most people were in favor of enabling NLS in the C library.


# 1.28 03-Sep-1994 jtc

Document the fact that NLS (message catalog) support is enabled by adding
-DNLS to CFLAGS.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.27 06-Jul-1994 mycroft

Do something more intelligent when compiling into ${DESTDIR}.


# 1.26 30-Jun-1994 deraadt

libkern files are in arch/ now


# 1.25 29-May-1994 jtc

Add message catalog functions.


# 1.24 14-May-1994 cgd

add new gmon stuff, rearrange inclusions


# 1.23 27-Jan-1994 pk

Remove dlopen() et. al., they don't work from libc.


# 1.22 04-Dec-1993 cgd

copy quad.h, too...


# 1.21 04-Dec-1993 cgd

update for .S and MACHINE_ARCH


# 1.20 14-Nov-1993 pk

Removed `INSTALL_PIC_ARCHIVE' as installing these is going to be the default.


# 1.19 11-Nov-1993 jtc

Enable Henry Spencer's POSIX.2 compatible regular expression routines.
Disable is earlier V8-style routines.


# 1.18 05-Nov-1993 cgd

add strncmp to the list of things that gets copied to libkern.


# 1.17 17-Oct-1993 pk

Let libc_pic.a be installed.


# 1.16 17-Oct-1993 pk

Added subdir `dl'.


# 1.15 15-Oct-1993 jtc

Copy machine dependant files (KMSRCS) to libkern.


# 1.14 15-Oct-1993 jtc

Added copy-to-libkern and rm-from-libkern targets.


# 1.13 07-Oct-1993 cgd

make an arch directory in libc, and move all machine dirs into it


# 1.12 28-Sep-1993 mycroft

Reenable building of Torek's quad library.


# 1.11 18-Sep-1993 cgd

ifdef notdef the inclusion of the quad support, since it doesn't compile
and charles didn't properly commit it to a branch. LIBC SHOULD COMPILE
AT ALL TIMES!


# 1.10 16-Sep-1993 mycroft

Compile quad stuff.


# 1.9 05-Sep-1993 deraadt

include ${MACHINE}/Makefile.inc if it exists


# 1.8 01-Aug-1993 mycroft

Add RCS identifiers.


Revision tags: netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.7 14-Jun-1993 cgd

update db code to v1.6 from vangogh, and put it in "db" rather than "DB"


# 1.6 27-Apr-1993 deraadt

changed the documentation on what -DYP really means.


# 1.5 27-Apr-1993 cgd

always compile in YP. theo hasn't given me a reason we can't do this, so...


# 1.4 26-Apr-1993 deraadt

Add instructions for compiling YP to the Makefile


# 1.3 21-Apr-1993 proven

New db stuff is in DB now. Makefile reflects change.


# 1.2 18-Apr-1993 proven

Removed references to db in the Makefile.


# 1.1 21-Mar-1993 cgd

branches: 1.1.1;
Initial revision


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906
# 1.172 03-Aug-2018 kamil

Restrict -fno-sanitize=function to Clang/LLVM only

The base GCC version 6,x does not support this option.


# 1.171 03-Aug-2018 kamil

Disable sanitization of -fsanitize=function in libc

Generated code for the checks (in at least libunwind) depends on the C++
runtime feature of RTTI.

Pass -fno-sanitize=function to LIBCSANITIZERFLAGS.


Revision tags: pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407
# 1.170 31-Mar-2018 kamil

Drop the USE_LIBTRE build option

libtre cannot be used any more as a replacement for regex(3).
Tt does not build and the library development is stalled in upstream.

Proposed on mailing list.

Sponsored by <The NetBSD Foundation>


Revision tags: netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.169 15-Jun-2015 christos

branches: 1.169.14;
Only create and install the tags file for the normal libc (not any of the
compat copies), because we don't want it to be overwritten by the compat
copies. This was detected by the evbarm mkimage complaining.


# 1.168 09-Feb-2015 pooka

Include compat in rumprun libc

Not including non-renamed symbols in libc caused all kinds of configure
scripts to do the wrong thing when they just tested linkage without
including headers. So, go for the "least moving parts" bandaid for now.


# 1.167 10-Dec-2014 pooka

Add hooks for RUMPRUN build of libc

If "yes", does the following (default "no"):
* prevents ASM syscalls from being built (librump provides syscalls)
* does not include compat (useless when application is linked with libc)
* does not build tags (no /var/db to install them to)
* does not include tls

==> libc for rumprun can now be built against unmodified NetBSD sources


Revision tags: netbsd-7-base tls-maxphys-base
# 1.166 10-Aug-2014 matt

branches: 1.166.2;
MKCOMPAT fixes for when compat MACHINE_CPU != normal MACHINE_CPU


Revision tags: yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.165 04-Mar-2014 joerg

Introduce GENASSYM_CPPFLAGS for options during genassym processing.
Consistently drop assembler flags.


# 1.164 29-Jan-2014 joerg

Include compiler-rt in libc, libm and libkern.


# 1.163 19-Jan-2014 apb

If MKREPRO=yes, make the tags file refer to /usr/src
instead of referring to the actual source directory ${NETBSDSRC}.


# 1.162 18-Jan-2014 joerg

Use a separate variable for the use of GCC's unwind code.


# 1.161 15-Jan-2014 joerg

Use the quad support from compiler-rt for MKLIBGCC=no.


# 1.160 14-Oct-2013 joerg

Rename USE_LIBGCC to HAVE_LIBGCC and retry using it as flag on unwind.h.


# 1.159 14-Oct-2013 joerg

Include compiler-rt and libunwind in libc for Clang/x86 builds.


# 1.158 30-Jul-2013 joerg

Don't pass assembler flags to cpp for genassym.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base
# 1.157 30-Apr-2013 matt

Match against LIBC_MACHINE_ARCH for MKCOMPAT


# 1.156 27-Apr-2013 matt

Just build the legacy stuff for earm (for now).


# 1.155 25-Apr-2013 matt

for earm, make sure to build getdirentries man page


# 1.154 25-Apr-2013 matt

Add CPPFLAGS+= -I${NETBSDSRCDIR}/sys for earm compat


# 1.153 19-Apr-2013 matt

for EARM, just build __lwp_park50 compat for libpthread until the situation
is involved.


# 1.152 19-Apr-2013 matt

Fix inverted test.


# 1.151 19-Apr-2013 matt

Since earm is new, don't bother building the compat libc code since there
is nothing that can use it.


# 1.150 12-Apr-2013 joerg

Rename BUILDCOLD to BUILD_LEGACY and provide a preprocessor macro that
can be used in code files that aren't easy to split up. Add the removal
to the major bump todo list.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
# 1.149 20-Jan-2012 joerg

branches: 1.149.6;
Remove code for CITRUS!=yes.


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.148 17-Aug-2011 christos

branches: 1.148.2;
fix the rest of libc mi gcc-4.5 hacks. portmasters should fix the md ones.


# 1.147 21-Jun-2011 mrg

add some XXX'd -Wno-foo if HAVE_GCC >= 45.

XXX: someone should look at these.


# 1.146 19-Jun-2011 nakayama

__udivdi3 isn't included in sparc compat libc on sparc64, so use
ARCHSUBDIR instead of MACHINE_ARCH for checking whether to include
quad/Makefile.inc.

This fixes undefined symbol __udivdi3 in /libexec/ld.elf_so-sparc
on sparc64 which is the cause of failure of hello32 test in
toolchain/cc/t_hello.


Revision tags: cherry-xenmp-base
# 1.145 27-May-2011 drochner

branches: 1.145.2;
make the "tags" target non-.PHONY because it reflects a real file,
and remove some nonsense in libc Makefile which caused that
a "tags" file was written in my source tree


# 1.144 09-Mar-2011 joerg

Add TLS support infrastructure. For dynamic binaries, ld.elf_so exports
_rtld_tls_allocate and _rtld_tls_free. libpthread uses this functions to
setup the thread private area of all new threads. ld.elf_so is
responsible for setting up the private area for the initial thread.
Similar functions are called from _libc_init for static binaries, using
dl_iterate_phdr to access the ELF Program Header.

Add test cases to exercise the different TLS storage models. Test cases
are compiled and installed on all platforms, but are skipped on
platforms not marked for TLS support.

This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.

It is inspired by the TLS support in FreeBSD by Doug Rabson and the
clean ups of the DragonFly port of the original FreeBSD modifications.


Revision tags: bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.143 04-Sep-2010 ahoka

Add libc glue for libtre.
tre will be compiled without approx and wchar/mulibyte support to
only match the minimum requirement to replace our spencer regex.

This needs a lot of testing.

Only enabled when USE_LIBTRE is set to `yes'.


# 1.142 30-May-2010 tnozaki

1. fix build problem CITRUS=no
2. make CITRUS={yes,no} knob friendly with libc/compat.


# 1.141 25-Apr-2010 joerg

Add the constant database reader (cdbr(3)) and writer ((cdbw(3)).
They implement a space efficent write-once database with fast access
path. Switch the services(5) database to use cdb. The size of the
database file decreases from 2.1MB disk space to 307KB. Access
performance is about the same if setservent(0) is used and about an
order of magnitude faster otherwise. services_mkdb defaults to the new
format, but can optionally create the old db(3) format as well for
statically linked legacy applications.


Revision tags: matt-premerge-20091211
# 1.140 06-Dec-2009 uebayasi

Provide the phony "tags" target as previous. Make it depend on the real
target. In case someone assumes the target as an interface.


# 1.139 06-Dec-2009 uebayasi

Make the local "tags" target an absolute path, ${.OBJDIR}/tags, otherwise
it conflicts with the "tags" target defined in bsd.own.mk, which is .PHONY,
which causes you to re-build "tags" everytime you re-run make.


# 1.138 11-Aug-2009 dsl

Change (slightly) the way NO_SRCS is processed, update big comment!
Now the .c file is removed from SRCS for both .S and .c in NO_SRSC.
The .c file is added to LSRCS for .S files in NO_SRCS.
(.S files in SRCS have the same treatment - but also get compiled.)
Allows vax build to be fixed.
Also the previous version failed to add to LSRCS correctly.


# 1.137 30-Jul-2009 dsl

If SRCS contains any .S files then remove the corresponding .c file from
SRCS and add to LSRCS (for lint).
Change the 'string' Makefiles so that the arch/*/string/Makefile.inc
need only specify the .S files for that architecture and not the .c
files for all the files they don't override.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 christos-time_t-nbase christos-time_t-base netbsd-5-base
# 1.136 26-Oct-2008 mrg

branches: 1.136.4;
define and use LIBCDIR in terms of .CURDIR. fixes compat/lib/libc build.


Revision tags: matt-mips64-base2 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.135 23-Jun-2008 ad

Install manual pages for the atomic ops.


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 wrstuden-revivesa-base yamt-pf42-base keiichi-mipv6-base matt-armv6-nbase cube-autoconf-base matt-armv6-base hpcarm-cleanup-base
# 1.134 08-Dec-2007 he

branches: 1.134.8;
Ensure that we pass -z initfirst to the linker. The mips gcc
was unhappy about the missing -Wl specification.


# 1.133 07-Dec-2007 ad

rtld changes for PR bin/37347:

- Apply patch from J.T. Conklin to execute .init/.fini functions in order.
- Support DF_1_INITFIRST and mark libc with DF_1_INITFIRST. Shared libs
should be recording a dependency on libc, but it's too late to do that.

Ok christos@.


# 1.132 13-Nov-2007 ad

- stack_protector.c doesn't really belong under sys/. Add a new directory
for misc support routines and put it there.
- Add a libc constructor. Use this to initialize threading and the
stack protector stuff. libpthread cannot be initialized safely using
its own constructor because libc and libpthread are deeply intertwined.
PR bin/37347


Revision tags: matt-armv6-prevmlocking matt-mips64-base
# 1.131 30-May-2007 tls

branches: 1.131.4;
Move FORTIFY_SOURCE implementation from the somewhat ill-named "libssp"
(what other systems keep in libssp, we already have in libc) into libc
to match what other systems with FORTIFY_SOURCE do. Goodbye, libssp
dependency in libraries and executables. Discussed with christos and
mrg; Christos will merge the headers to get us the rest of the way to a
FORTIFY_SOURCE implementation that works as others' code expects.


# 1.130 19-Mar-2007 tnozaki

revert to rev1.127 for iconv(3).


# 1.129 18-Mar-2007 tnozaki

don't use CPPPICFLAGS but CPICFLAGS.

CPPPICFLAGS obly affect *.s sources only,
but we want -D_I18N_DYNAMIC flag for *.c source
(src/lib/libc/citrus_module.c and so on).
use CPICFLAGS instead.

this fix suggested by tsutsui-san in current-users@, thanks.


# 1.128 15-Mar-2007 matt

Don't modify CSHPICFLAGS. (this causes .so file to be made when they shouldn't)
if MKPICLIB is "no", change CPPPICFLAGS otherwise add change CPPFLAGS


Revision tags: abandoned-netbsd-4-base netbsd-4-base
# 1.127 11-Mar-2006 christos

branches: 1.127.4; 1.127.6;
Add glue to build the compat library as a separate "libcold" turned off by
default. Clean up the libc Makefile and remove obsolete stuff such as copy
to libkern.


# 1.126 25-Jan-2006 kleink

Drop in gdtoa as a replacement for dtoa, strtod() from stdlib/strtod.c.


# 1.125 20-Dec-2005 christos

Use reach-over sources from common/lib/libc


# 1.124 29-Nov-2005 christos

WARNS=4


# 1.123 13-Sep-2005 christos

compat core reorg.


# 1.122 30-May-2005 thorpej

Use TOOL_GENASSYM. Part of PR toolchain/30350


# 1.121 03-May-2005 matt

Make longjmp on vax not use sigreturn. Instead it rewrites the
jmp_buf into one compatible with __longjmp14 and relies on that
to change that into a ucontext_t suitable for setcontext(2).


Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.120 10-Jan-2005 lukem

minor whitespace consistency


# 1.119 13-Sep-2004 thorpej

DCE 1.1 RPC compatible UUID routines for libc, adapted from FreeBSD.
Encode/decode to big/little endian binary blob routines adapted from
kernel.

PR 23470.


# 1.118 31-Jul-2004 lukem

support MAKEVERBOSE in tags:


# 1.117 21-May-2004 christos

Finish bind9 resolver merge.


# 1.116 18-Apr-2004 lukem

Append to AFLAGS rather than setting AINC.


# 1.115 07-Apr-2004 ross

Ignore errors when making tags here with the override target. (Now matches
the default target in bsd.dep.mk, which dashes the ctags commands.)


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-1-RELEASE netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.114 03-Mar-2004 matt

Add support to generate an assym.h if corresponding ARCHDIR contains a
genassym.cf.


# 1.113 07-Dec-2003 matt

Make building IPv6 support controllable by MKINET6


# 1.112 10-Jul-2003 lukem

Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO". The new variables are:
TOOL_ASN1_COMPILE TOOL_CAP_MKDB TOOL_CAT TOOL_CKSUM TOOL_COMPILE_ET
TOOL_CONFIG TOOL_CRUNCHGEN TOOL_CTAGS TOOL_DB TOOL_EQN TOOL_FGEN
TOOL_GENCAT TOOL_GROFF TOOL_HEXDUMP TOOL_INDXBIB TOOL_INSTALLBOOT
TOOL_INSTALL_INFO TOOL_M4 TOOL_MAKEFS TOOL_MAKEINFO TOOL_MAKEWHATIS
TOOL_MDSETIMAGE TOOL_MENUC TOOL_MKCSMAPPER TOOL_MKESDB
TOOL_MKLOCALE TOOL_MKMAGIC TOOL_MKTEMP TOOL_MSGC TOOL_MTREE
TOOL_PAX TOOL_PIC TOOL_PREPMKBOOTIMAGE TOOL_PWD_MKDB TOOL_REFER
TOOL_ROFF_ASCII TOOL_ROFF_DVI TOOL_ROFF_HTML TOOL_ROFF_PS
TOOL_ROFF_RAW TOOL_RPCGEN TOOL_SOELIM TOOL_SUNLABEL TOOL_TBL
TOOL_UUDECODE TOOL_VGRIND TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
TOOL_FOO?= foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
TOOL_FOO= ${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.


# 1.111 27-Jun-2003 tshiozak

Citrus iconv support(4)
add iconv external I/F (iconv.h - iconv_open()/iconv()/iconv_close()) and
iconv(1) utility.
TODO:
- bump libc minor.
- add iconv data files.
- create manpages: iconv_open(3)/iconv(3)/iconv_close(3)/iconv(1)/
mkesdb(1)/mkcsmapper(1).


# 1.110 14-Apr-2003 salo

Add slovak language libc message catalog.


# 1.109 09-Apr-2003 jmmv

Add a Catalan libc message catalog file (plus everything else needed to
track the file). Closes my own PR lib/19498.


# 1.108 18-Jan-2003 thorpej

Merge the nathanw_sa branch.


Revision tags: nathanw_sa_before_merge fvdl_fs64_base nathanw_sa_base
# 1.107 19-Aug-2002 lukem

Explicitly move setting of NOxxx and USE_SHLIBDIR to the top of the
Makefile (before including <bsd.own.mk>)


# 1.106 19-Aug-2002 lukem

Use ${NETBSDSRCDIR}/some/path instead of ${.CURDIR}/../../some/path (etc).
(Reduces make output by ~ 20%)


# 1.105 20-Jul-2002 yamt

for _I18N_DYNAMIC, use CSHLIBFLAGS instead of CPICFLAGS.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.104 22-Mar-2002 thorpej

Split the notion of building Hesiod, Kerberos, S/key, and YP
infrastructure and using that infrastructure in programs.

* MKHESIOD, MKKERBEROS, MKSKEY, and MKYP control building
of the infratsructure (libraries, support programs, etc.)

* USE_HESIOD, USE_KERBEROS, USE_SKEY, and USE_YP control
building of support for using the corresponding API
in various libraries/programs that can use it.

As discussed on tech-toolchain.


# 1.103 17-Mar-2002 tshiozak

refine i18n stuffs.
- add libc/citrus directory.
this directory contains the common stuffs not only for locale
but also other facilities relating to i18n (e.g. iconv).
- To keep the binary compatibility for the ctype modules easily,
the interface between libc and the modules is simplified.
- For the future integrated extension, module pool is renamed
from "/usr/lib/runemodule" to "/usr/lib/i18n".
In the future, this directory will contain the modules for "iconv",
"collation", etc.
- some cosmetic changes.
- Bug fix for runetype.h; __attribute__((__packed__)) is placed at
the wrong position and it is invalid unintentionally.
But, the all members of the structures seem well-aligned. Thus,
this bug causes no problem, hopefully.

HEADS UP:
- /usr/lib/rumemodule is obsoleted. If you use the multibyte locales,
you need to install /usr/lib/i18n/* from sys/lib/i18n_module .
- The binary compatibility of /usr/share/locale/*/LC_CTYPE is probably kept.
Perhaps, the bug fix about __packed__ mentioned above breaks the
compatibility... Be careful especially on 64bit platforms.


# 1.102 05-Mar-2002 thorpej

No need to reference .OBJDIR here.


# 1.101 31-Jan-2002 tv

Make it possible for ctags to be a host tool.


# 1.100 28-Dec-2001 lukem

* Add user-controlled mk.conf variables
- SHLIBDIR Location to install shared libraries if ${USE_SHLIBDIR}
is "yes". Defaults to "/usr/lib".

- USE_SHLIBDIR If "yes", install shared libraries in ${SHLIBDIR}
instead of ${LIBDIR}. Defaults to "no".
Sets ${_LIBSODIR} to the appropriate value.
This may be set by individual Makefiles as well.

- SHLINKDIR Location of shared linker. Defaults to "/usr/libexec".
If != "/usr/libexec", change the dynamic-linker
encoded in shared programs

* Set USE_SHLIBDIR for libraries used by /bin and /sbin:
libc libcrypt libcrypto libedit libipsec libkvm libm libmi387
libtermcap libutil libz

* If ${_LIBSODIR} != ${LIBDIR}, add symlinks from ${LIBDIR}/${LIB}.so*
to ${_LIBSODIR}/${LIB}.so* for compatibility.

* Always install /sbin/init statically (for now)


The net effect of these changes depends on how the variables are set:

1.) If nothing is set or changed, there is no change from the
current behaviour:
- Static /bin, /sbin, and bits of /usr/*
- Dynamic rest
- Shared linker is /usr/libexec/ld*so

2.) If the following make variables are set:
LDSTATIC=
SHLINKDIR=/lib
SHLIBDIR=/lib
Then the behaviour becomes:
- Dynamic tools
- .so libraries used by /bin and /sbin are installed to /lib,
with symlinks from /usr/lib/lib*so to -> /lib/lib*so
where appropriate
- Shared linker is /lib/ld*so

3.) As per 2.), but add the following variable:
USE_SHLIBDIR=yes
This forces all .so's to be instaleld in /lib (with compat
symlinks), not just those tagged by their Makefiles to be.
Again, compat symlinks are installed


# 1.99 02-Sep-2001 zuntum

Add pl.msg file to nls/ directory and list it in the Makefile
-- now libc has polish messages

set LANG to "pl" in your environment to use it.


# 1.98 06-Feb-2001 christos

branches: 1.98.2;
I've had it. Raise the barrier on committing unlinted code. On the i386
make lint exit on warnings.


# 1.97 25-Jan-2001 itojun

(finally!) enable multibyte LC_CTYPE locale support.

the functionality will be available for dynamic-linked binary only, due to
limitation with dlopen() from within statically-linked binaries.
(statically-linked binary can still enjoy singlebyte LC_CTYPE locale support)

from citrus project.


# 1.96 16-Jan-2001 tron

Remove duplicate "tags" target.


# 1.95 08-Jan-2001 itojun

use MACIHNE_CPU to determine architecture-dependent source code directory.
is use of exists(foo) safe enough?
TODO: many other places to fix


# 1.94 04-Jan-2001 itojun

prepare for sh3e[bl] split


# 1.93 29-Dec-2000 bjh21

Create shared ARM source for libc, and move arm26 port over to using it.
The code is (almost) a direct copy of the current arm26 sources.
It's identical to the current arm32 sources, with the following exceptions:
- _C_LABEL is used on references to C labels from assembler.
- Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__.
- It uses SoftFloat 2a rather than SoftFloat 1a.

The first two of these should be inconsequential. I believe that SoftFloat 2a
should work on arm32 and be backward-compatible with existing code, but this
is not obviously true. For now, arm32 remains using its own bits of libc.


# 1.92 20-Dec-2000 christos

Ignore empty translation unit errors.


# 1.91 13-Aug-2000 christos

Don't enable lin's exit on warnings yet. It'll break most ports.


# 1.90 13-Aug-2000 christos

add -w to ctags. got finally tired of looking at all those dup error messages
that nobody will ever fix.


Revision tags: netbsd-1-5-RELEASE netbsd-1-5-BETA2 netbsd-1-5-BETA netbsd-1-5-ALPHA2 netbsd-1-5-base
# 1.89 02-Jun-2000 fvdl

branches: 1.89.2;
Add new RPC code, based on Sun's TI-RPC code. Adapted to not use XTI,
but sockets instead, internally. Old, backward compatible interfaces
maintained.


Revision tags: minoura-xpg4dl-base
# 1.88 02-Apr-2000 minoura

branches: 1.88.2;
Move dl* function definitions to libc on ELF.
Based on the patch supplied by Takuya Shiozaki <tshiozak@astec.co.jp>.
See http://mail-index.netbsd.org/tech-userlevel/2000/02/23/0000.html.


# 1.87 26-Jan-2000 itojun

move -DINET6 upwards, into lib/libc/Makefile.
- we need it for lib/libc/rpc soon
- this is not clear to add CPPFLAGS in subdir/Makefile.inc (as it affect other
subdirs as well)


# 1.86 23-Jan-2000 mycroft

Fix the tags build.


Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base
# 1.85 26-Sep-1999 jdolecek

Add czech language message catalog


Revision tags: netbsd-1-4-PATCH003 netbsd-1-4-PATCH002 netbsd-1-4-PATCH001 netbsd-1-4-RELEASE netbsd-1-4-base
# 1.84 27-Feb-1999 tv

branches: 1.84.4;
Revert part of previous and use C/// instead of S/// for mipse[bl]->mips.


# 1.83 24-Feb-1999 drochner

-this fancy S/mipse[bl]/mips/ didn't work - replace it by something simple
-generate an ARCHSUBDIR which contains the last path element
-use ${ARCHSUBDIR} instead of ${MACHINE_ARCH} where appropriate


# 1.82 09-Feb-1999 tv

Remap mipse[bl] to mips when finding arch directory.


# 1.81 04-Feb-1999 explorer

add sha1 functions, like md5/4


# 1.80 15-Jan-1999 bouyer

Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.


# 1.79 15-Jan-1999 lukem

merge nsswitch into main branch


# 1.78 28-Nov-1998 eeh

sparc doesn't need quad support when running in 64-bit mode either.


# 1.77 14-Oct-1998 kleink

Add _LIBC to the set of preprocessor symbols defined in the libc build
environment; used by source files shared with other parts of the userland
to determine whether certain conventions need to be obeyed or not.


# 1.76 04-Aug-1998 perry

add strchr.c, strrchr.c, memmove.c, memcpy.c, to KSRC for copy to libkern.


# 1.75 06-May-1998 mycroft

Enable quad support on PowerPC.


# 1.74 27-Mar-1998 cgd

add bcopy.c to KSRCS, to sync with charles's libkern changes


# 1.73 04-Mar-1998 mikel

fix typo in comment


# 1.72 22-Jan-1998 cgd

copy memchr.c, index.c, and rindex.c to libkern


# 1.71 22-Oct-1997 lukem

- use CPPFLAGS instead of CFLAGS
- use ${COMPILE.C} ... instead of ${CC} ${CFLAGS} -c ...


Revision tags: netbsd-1-3-base
# 1.70 09-Oct-1997 lukem

branches: 1.70.2;
- define WARNS?=1 in the top-level Makefile.inc, and don't define
anywhere else.
- for now, override WARNS=0 in librpcsvc and libwrap, until they're
cleaned up
- rcsid police

lib is now clean (except for librpcsvc and libwrap) on the i386, and
this should motivate the other ports to fix any other minor problems
that their compilers pick up that the i386 version doesn't.


# 1.69 18-Jul-1997 veego

Build with warnings enabled on m68k systems.


# 1.68 18-Jul-1997 thorpej

Build with warnings enabled on the Alpha.


# 1.67 13-Jul-1997 christos

Add WARNS=1 for the sparc and the i386


# 1.66 19-Jun-1997 mikel

add ${.OBJDIR}/tags to CLEANFILES


# 1.65 04-Jun-1997 christos

Try to fix the tags mess.
- Build in obj/tags
- Only create ${.CURDIR}/tags if 'make tags' is specify.
- ${.CURDIR}/tags is a symlink to /var/db/libc.tags


# 1.64 12-May-1997 christos

branches: 1.64.2;
Use ${.CURDIR}/tags instead of tags. `tags' is .PHONY so it gets rebuilt
all the time.


# 1.63 30-Apr-1997 thorpej

Add md5c.c to the list of files to copy-to-libkern.


# 1.62 28-Apr-1997 ragge

Svensk meddelandekatalog, ursprungligen skriven av Martin Kullberg.
(frolix@ludd.luth.se)


# 1.61 28-Apr-1997 is

Compile the Dutch message catalog.


# 1.60 28-Apr-1997 is

Added Norwegian libc error messages/signal names, donated by Stig
Venaas <venaas@nvg.ntnu.no>.


# 1.59 17-Apr-1997 is

Finnish libc error message/signal name catalog, by Jukka Marin and coworker.


# 1.58 29-Mar-1997 thorpej

oops, add missing quotes


# 1.57 29-Mar-1997 thorpej

Don't need to build quad stuff on PowerPC.


# 1.56 24-Mar-1997 christos

Makefile cleanups:
use INCS variable to install includes and FILES to install objects.


# 1.55 10-Mar-1997 hpeyerl

Remove as per discussion with core.


# 1.54 10-Mar-1997 perry

Initial cut of Canadian national language support


# 1.53 10-Mar-1997 hpeyerl

Color me bored.


# 1.52 30-Jan-1997 thorpej

Build the MD4/MD5 sources.


# 1.51 19-Dec-1996 cgd

set LLIBS to nothing, so we don't try to lint the C libarary against
itself when creating llib-lc.ln.


# 1.50 07-Nov-1996 jtc

Add -D_REENTRANT to CFLAGS


# 1.49 18-Oct-1996 thorpej

branches: 1.49.2;
Use ${INSTALL}.


# 1.48 15-Aug-1996 jtc

branches: 1.48.2;
Add memcmp.c and memset.c to KSRCS (files copied to libkern).


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base
# 1.47 23-Nov-1995 jtc

Added spanish language message catalog from Jesus M. Gonzalez <jgb@ordago.uc3m.es>


Revision tags: netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base
# 1.46 09-Oct-1995 jtc

Add French libc message catalog by Matthieu Herrb <matthieu@abel.laas.fr>


# 1.45 04-Oct-1995 thorpej

We don't have a libc/search.


# 1.44 02-Oct-1995 jtc

Add german libc message catalog


# 1.43 26-Jun-1995 jtc

Use "${BINOWN}" and "${BINGRP}" instead of "bin".


# 1.42 07-Jun-1995 cgd

build tags at library build time, not at install time.


# 1.41 02-May-1995 jtc

Enable C and Pig Latin message catalogs.


# 1.40 25-Apr-1995 jtc

Handle new termios subdirectory.


# 1.39 12-Apr-1995 jtc

Use ${DESTDIR} when installing libc.tags


# 1.38 13-Mar-1995 jtc

.include ${.CURDIR}/time/Makefile.inc


# 1.37 05-Mar-1995 jtc

Removed -o from and added /dev/null to egrep command line. It does the
exactly the same thing, but doesn't need 4.4's or our hacked version of
GNU grep.


# 1.36 25-Feb-1995 cgd

upgrade to 4.4-Lite Makefile, keeping local changes. NOW BUILDS TAGS ON INST


# 1.35 13-Feb-1995 cgd

make copy-to-libkern work properly on the alpha. (deal with no quad support.)


# 1.34 10-Feb-1995 cgd

alphas don't need libc quad support.


# 1.33 01-Feb-1995 jtc

Added -I${.CURDIR}/include to CFLAGS, for upcoming library-private
header files (namespace.h, etc.).


# 1.32 30-Jan-1995 cgd

kill the damned tab.


# 1.31 06-Jan-1995 cgd

branches: 1.31.2;
don't forget to copy ntohs to libkern


# 1.30 19-Oct-1994 cgd

relative path to libkerm


# 1.29 06-Oct-1994 jtc

It looks like most people were in favor of enabling NLS in the C library.


# 1.28 03-Sep-1994 jtc

Document the fact that NLS (message catalog) support is enabled by adding
-DNLS to CFLAGS.


Revision tags: netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.27 06-Jul-1994 mycroft

Do something more intelligent when compiling into ${DESTDIR}.


# 1.26 30-Jun-1994 deraadt

libkern files are in arch/ now


# 1.25 29-May-1994 jtc

Add message catalog functions.


# 1.24 14-May-1994 cgd

add new gmon stuff, rearrange inclusions


# 1.23 27-Jan-1994 pk

Remove dlopen() et. al., they don't work from libc.


# 1.22 04-Dec-1993 cgd

copy quad.h, too...


# 1.21 04-Dec-1993 cgd

update for .S and MACHINE_ARCH


# 1.20 14-Nov-1993 pk

Removed `INSTALL_PIC_ARCHIVE' as installing these is going to be the default.


# 1.19 11-Nov-1993 jtc

Enable Henry Spencer's POSIX.2 compatible regular expression routines.
Disable is earlier V8-style routines.


# 1.18 05-Nov-1993 cgd

add strncmp to the list of things that gets copied to libkern.


# 1.17 17-Oct-1993 pk

Let libc_pic.a be installed.


# 1.16 17-Oct-1993 pk

Added subdir `dl'.


# 1.15 15-Oct-1993 jtc

Copy machine dependant files (KMSRCS) to libkern.


# 1.14 15-Oct-1993 jtc

Added copy-to-libkern and rm-from-libkern targets.


# 1.13 07-Oct-1993 cgd

make an arch directory in libc, and move all machine dirs into it


# 1.12 28-Sep-1993 mycroft

Reenable building of Torek's quad library.


# 1.11 18-Sep-1993 cgd

ifdef notdef the inclusion of the quad support, since it doesn't compile
and charles didn't properly commit it to a branch. LIBC SHOULD COMPILE
AT ALL TIMES!


# 1.10 16-Sep-1993 mycroft

Compile quad stuff.


# 1.9 05-Sep-1993 deraadt

include ${MACHINE}/Makefile.inc if it exists


# 1.8 01-Aug-1993 mycroft

Add RCS identifiers.


Revision tags: netbsd-0-9-RELEASE netbsd-0-9-BETA netbsd-0-9-ALPHA2 netbsd-0-9-ALPHA netbsd-0-9-base
# 1.7 14-Jun-1993 cgd

update db code to v1.6 from vangogh, and put it in "db" rather than "DB"


# 1.6 27-Apr-1993 deraadt

changed the documentation on what -DYP really means.


# 1.5 27-Apr-1993 cgd

always compile in YP. theo hasn't given me a reason we can't do this, so...


# 1.4 26-Apr-1993 deraadt

Add instructions for compiling YP to the Makefile


# 1.3 21-Apr-1993 proven

New db stuff is in DB now. Makefile reflects change.


# 1.2 18-Apr-1993 proven

Removed references to db in the Makefile.


# 1.1 21-Mar-1993 cgd

branches: 1.1.1;
Initial revision