Commit Graph

23 Commits

Author SHA1 Message Date
Jilles Tjoelker
d80f1dd1d7 build: Add legacy support for futimens() and utimensat().
In order to allow using utimensat() in install(1), add futimens() and
utimensat() to -legacy.

The files futimens.c and utimensat.c are modified copies of the files under
lib/libc/sys/ since the libc versions use symbols that do not exist in the
libc on the build system (sys_futimens and sys_utimensat) . I expect the
next non-sweeping change to both sets of files to be to delete them, anyway.

This will allow reverting r299942 (which is a revert of r299850) enabling
nanosecond timestamps in install(1).

Reviewed by:	bdrewery
2016-06-09 21:57:34 +00:00
Bryan Drewery
804baa3822 Revert r290944. It was wrong. 2015-11-16 21:05:38 +00:00
Bryan Drewery
5a16e0b461 Fix error case for bmake to echo 0.
MFC after:	1 week
Sponsored by:	EMC / Isilon Storage Division
2015-11-16 20:31:00 +00:00
Dimitry Andric
8e7e3163be Provide reallocarray() in -legacy, if needed, to allow building head on
previous releases.

Also add a stdlib.h wrapper, which declares the function, otherwise the
compiler may assume it returns int, which can cause segfaults on LP64
architectures.

Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D2558
2015-05-15 22:19:35 +00:00
Warner Losh
e1a85b3191 Check the right file for pwcache_groupdb. 2014-04-13 05:21:43 +00:00
Warner Losh
2ed296697c Up the minimum system to build FreeBSD current to 8.0-RELEASE. The
issues with vendors that needed 7.x support have been resolved. Many
vendors are still using 8.x build platforms, however, so bumping this
up to 9.0 will have to wait until that is resolved. Actual support for
building from 8.x still relies on those vendors fixing bugs that are
present as most developers have moved onto 9.x or newer platforms.

Reviewed by: marcel@
2014-04-13 05:21:30 +00:00
Brooks Davis
79626055e3 Add pwcache(3) and vis(3) to libegacy as install(1) is about to grow a
dependency on them.

Sponsored by:	DARPA, AFRL
2013-01-11 20:51:02 +00:00
David E. O'Brien
c2774610af r235638 is not the clean way to add support for building on ancient FreeBSD
versions.  Instead use Imp's good work on "legacy" and follow the outcome
of the previous TRB discussions on this topic.

Now use the libc getline() if it exists, and only where it doesn't
create a bootstraping version.
2012-09-11 22:38:33 +00:00
Dimitry Andric
fd75cb79ce Revert r227538, since it doesn't compile with clang at all (it doesn't
allow the built-in operations to be redefined, at least not without
excessive force).

Instead, just disable LLVM's support for atomic operations for now.
Nothing in either clang or the tablegen tools currently depends on it.

This still allows users of head built before r198344 to upgrade to
top-of-head seamlessly.
2011-11-17 21:06:53 +00:00
Dimitry Andric
5a880d34e1 LLVM uses atomic operations, which are not supported on i386 and GCC
emits calls for them, rather than expanding them inline.  Older FreeBSD
versions compile for i386 by default and as such we end up with
unresolved symbols when we build LLVM's TableGen utility as a build
tool on them.  Add the functions that GCC emits here, but don't bother
to make them atomic. Such is not needed.

Submitted by:	marcel
MFC after:	1 week
2011-11-15 20:15:58 +00:00
David E. O'Brien
57087c935c Remove 5.x and 6.x cruft - source upgrades to RELENG_8 from versions prior
to RELENG_7 are not supported.
2008-01-21 18:44:55 +00:00
Ruslan Ermilov
228f8c4f8b Make <runefile.h> internal to libc.
Suggested by:	phantom
2005-05-16 09:32:41 +00:00
Ruslan Ermilov
f09a3cc462 Add hacks that I use to test cross-builds (by building on
native and foreign architectures and comparing products).
They eliminate most of the differences caused by different
object directory paths, timestamping, and identification.

(Note WORLDTMP was renamed to ${OBJTREE}${.CURDIR}/tmp.)
2005-03-02 16:40:51 +00:00
Ruslan Ermilov
8945135e1f Bootstrap gencat(1).
OK'ed by:	phantom
2005-02-27 19:13:41 +00:00
Ruslan Ermilov
6ad80d4f0d As threatened, drop support for source upgrades from pre-5.3.
Inspired by:	obrien
2005-02-27 11:22:58 +00:00
Ruslan Ermilov
3fb3a43079 Make the format of LC_CTYPE files architecture independent by
introducing the disk formats for _RuneLocale and friends.

The disk formats do not have (useless) pointers and have 32-bit
quantities instead of rune_t and long.  (htonl(3) only works
with 32-bit quantities, so there's no loss).

Bootstrap mklocale(1) when necessary.  (Bootstrapping from 4.x
would be trivial (verified), but we no longer provide pre-5.3
source upgrades and this is the first commit to actually break
it.)
2005-02-26 21:47:54 +00:00
Ruslan Ermilov
4fca7bd3dd Removed extraneous parentheses. 2004-03-01 17:47:38 +00:00
Andrey A. Chernov
e9ba071875 Add getopt_long.c if ${BOOTSTRAPPING} < 502104 2004-02-28 07:25:48 +00:00
Ruslan Ermilov
f3b6219857 Unbreak the upgrade path from 4.9 after removal of GNU getopt and
<gnuregex.h>.
2004-02-20 11:55:14 +00:00
Ruslan Ermilov
9b3f5f7760 A version of <sys/endian.h> in RELENG_4 doesn't have 64-bit functions.
Spotted by:	simokawa
2003-04-15 06:51:04 +00:00
Ruslan Ermilov
7552a592f4 libc_gen/basename.c depends on include/libgen.h. 2003-04-11 17:58:17 +00:00
Warner Losh
1c62f92354 -legacy and /.../legacy/... looks better than build or bootstrap in
the logs, so use that instead.

Submitted by: obrien.
2003-04-06 21:46:44 +00:00
Warner Losh
30aaff1192 Migrate to a new way of dealing with building from old revisions of
FreeBSD.  This method attempts to centralize all the necessary hacks
or work arounds in one of two places in the tree (src/Makefile.inc1
and src/tools/build).  We build a small compatibility library
(libbuild.a) as well as selectively installing necessary include
files.  We then include this directory when building host binaries.

This removes all the past release compatibilty hacks from various
places in the tree.  We still build on tip of stable and current.  I
will work with those that want to support more, although I anticipate
it will just work.

Many thanks to ru@, obrien@ and jhb@ for providing valuable input at
various stage of implementation, as well as for working together to
positively effect a change for the better.
2003-04-05 20:30:30 +00:00