name, provides a proper CPP mode and fixes a number of compat issues
in the integrated assembler.
Build the toolchain compiler optimized and without assertions now.
which includes Makefile.nbincludes, whose beforedepend: has
some race condition I don't fully understand, and which has been
causing many (but not all!) -j16 builds on the autobuild cluster
to fail in tools since sometime between 201103061600 and 201103070900.
With the proper voodoo, I was able to get 8 builds in a row to fail
without this change, and 16 in a row to succeed with it.
XXX a proper fix likely involves reworking the beforedepend: target
of Makefile.nbincludes, but this should get the build cluster back up
to full functionality in the meanwhile.
to store disk quota usage and limits, integrated with ffs
metadata. Usage is checked by fsck_ffs (no more quotacheck)
and is covered by the WAPBL journal. Enabled with kernel
option QUOTA2 (added where QUOTA was enabled in kernel config files),
turned on with tunefs(8) on a per-filesystem
basis. mount_mfs(8) can also turn quotas on.
See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html
for details.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the
Giano system simulator.
eMIPS is a platform developed at Microsoft Research for researching
reconfigurable computing. eMIPS allows dynamic loading and scheduling
of application-specific circuits for the purpose of accelerating
computations based on the current workload.
NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research
by Alessandro Forin and Neil Pittman. Microsoft Corporation has
donated full copyright to The NetBSD Foundation.
Platform support for eMIPS is the first part of Microsoft's
contribution. The second part includes the hardware accelerator
framework and will be proposed on tech-kern soon.
16- and 32-bit type, but now PRIu8 is needed for tools/disklabel.
Also define SCN[diouxX]{8,16,32}, the scanf counterparts
to the PRI[diouxX]{8,16,32} macros.
Tested via "build.sh tools" on a system whose native definitions
or the PRI* and SCN* mcros was disabled.
we're ELF now, and there are many missing checks against OBJECT_FMT.
if we ever consider switching, the we can figure out what new ones
we need but for now it's just clutter.
this doesn't remove any of the support for exec_aout or any actually
required-for-boot a.out support, only the ability to build a netbsd
release in a.out format. ie, most of this code has been dead for
over a decade.
i've tested builds on vax, amd64, i386, mac68k, macppc, sparc, atari,
amiga, shark, cats, dreamcast, landisk, mmeye and x68k. this covers
the 5 MACHINE_ARCH's affected, and all the other arch code touched.
it also includes some actual run-time testing of sparc, i386 and
shark, and i performed binary comparison upon amiga and x68k as well.
some minor details relevant:
- move shlib.[ch] from ld.aout_so into ldconfig proper, and cut them
down to only the parts ldconfig needs
- remove various unused source files
- switch amiga bootblocks to using elf2bb.h instead of aout2bb.h
They are in libnbcompat.a, not in src/lib/libc/string
(moved into src/common/lib/libc/string), and
strlcpy.c and strlcat.c derived from crypto/dist/heimdal/lib/roken
won't include the target functions if nbtool_config.h defines
HAVE_STRLCPY and HAVE_STRLCAT.
(treating a target disk as a regular file and suppressing ioctl(2)s)
on reading/writing disklabel in a target file.
This allows cross build enviroment creating bootable disk images
for targets in different endian.
No functional changes to native (non-tools) disklabel(8) command.
Closes PR toolchain/42357.
the same line as the target that needs to wait, but before the target,
rather than on the previous line, which led to confusion and an error
being introduced in the previous change.
the rules how to build those sources. Generate makefiles defining ${COPTS},
${CPPFLAGS}, and ${SRCS} (== template).
Note that ${CPPFLAGS} is actually dfined as _CPPFLAGS like
_CPPFLAGS.tmp___gcc_bcmp.c=-DL__gcc_bcmp
and used to generate wrapper files (e.g. tmp___gcc_bcmp.c). Otherwise it's
automagically passed to ${CC} by bsd.*.mk.
We create wrapper sources (tmp_*.[cS]) on-the-fly and compile them. For
example, __gcc_bcmp() is compiled using tmp___gcc_bcmp.c, which #define's
L__gcc_bcmp and #include's libgcc2.c.
repeatedly with different -DXXX to generate similar objects (e.g. different
type size).
- Generate a list of other CC options to build *.o.
(See my sed-fu using hold space in get_libgcc_list_objs_xflags().)
parsing dependency lines in libgcc.mk.
- Generate a list of *.o -> *.{c,S} mapping. *.S files are known as
${LIB1ASMFUNCS}. Assume other *.o files are built from *.c. This information
is needed to generated wrapper sources later.
BSD makefiles to build libgcc. The goal is to build all functions rather
than managing the set of functions in gnu/lib/libgcc/Makefile.in by hand.
Because of the complexity of the build procedure, I leave not only generated
makefiles but also intermediate, analyzed data so that people can verify that
the conversion is done correctly.
We cannot user_from_uid(3) or group_from_gid(3) unless the system
also supports pwcache_userdb(3) and pwcache_groupdb(3). The build will
use the hosts password and user database otherwise. Switch back to the
old behaviour to only the native functions if they are all present.
This fixes cross builds under Mac OS X and FreeBSD.
Fix based on problem analysis provided by Akihiko Hayashi.
in $(HAVE_BINUTILS)=="219" case.
Fixes build failures on Cygwin. (new libbfd depends on libz)
BTW, should we revive old ones under src/usr.sbin for
native dbsym(8)/mdsetimage(8) binaries which don't need libbfd?
makes {MK,HAVE_}BINUTILS consistent with {MK,HAVE_}{GCC,GDB}.
Allow MKBFD to defines MKBINUTILS as a backwards compatibility hook.
Update the sets lists and add conditionals for lib{bfd,opcodes}.
both CONFIGURE_ARGS and NATIVE_CONFIGURE_ARGS to reduce duplication
between tool and native configuration
-allow to pass a "--with-arch" argument to both configurations
already use [u]int{16,32,64}_t types, and a few already had their own
#ifndef/#define/#endif code for a few of these macros. A future commit
will remove that now-redundant code in the affected tools.
libnbcompat already contains empty fparseln.lo
so previous fix doesn't work correctly.
i've just added broken fparseln check to configure script.
2. reworking cross build breakage under FreeBSD/MacOS X.
FreeBSD/MacOS X still have public /usr/include/runetype.h
derived from 4.4BSD-Lite. so i renamed out private header from
src/lib/libc/locale/runetype.h to src/lib/libc/locale/runetype_local.h
to solve this problems.
3. fix build breakage when CITRUS=no was set.
Where sed is used in a != assignment, use
.if make(depend) || make(all) || make(dependall) || make(install)
to ensure the command doesn't run at "make obj" time when TOOL_SED will
not have been built.
internal function that's usually named "__gettemp". However in a cross
build, "__gettemp" is in a namespace reserved for the host system, so we
can't use that. Use "__nbcompat_gettemp" instead, following the example
of several other functions or macros in tools/compat. Previously, this
was handled by using the name "gettemp", but that conflicts with the
local gettemp() function in dist/nawk.