Commit Graph

180 Commits

Author SHA1 Message Date
lukem c0d472c616 Enable -Wsign-compare for WARNS=4 (and above).
Test compiled on i386 and amd64; there may be some stragglers
on other platforms.

Note: -Wall has this by default in gcc4, and we explicitly disable it at
WARNS=1 (i.e., -Wall -Wno-sign-compare).  A goal is to reduce the WARNS level
where this feature is enabled, so we can eventually remove -Wno-sign-compare.
2009-02-12 22:49:05 +00:00
apb 2962a4be8e Always define TOOL_* variables in bsd.own.mk, not in bsd.sys.mk.
Previously, they were defined in bsd.own.mk if USETOOLS=yes, but in
bsd.sys.mk if USETOOLS!=yes.  This caused makefiles that did this:

	.include <bsd.own.mk>
	FOO != ${TOOL_BAR} args...

to work in the USETOOLS=yes case but not in the USETOOLS!=yes case.
2008-10-26 23:13:24 +00:00
apb 6710f563cb Set HOST_SH?=/bin/sh unconditionally. Previously, it was conditionally
set to /usr/bin/bash if HOST_CYGWIN was defined, but now build.sh
tries to set HOST_SH appropriately.

Remove the HOST_CYGWIN variable, which was not used for any other purpose.

Document that HOST_SH should be an absolute path.

THis was proposed in tech-toolchain.
2008-10-26 15:51:20 +00:00
apb 8140020f95 Remove AWK variable, which is no longer used. All previous users
now use TOOL_AWK instead.
2008-10-25 18:29:03 +00:00
apb 60f5d15a00 Define TOOL_AWK. 2008-10-19 19:44:47 +00:00
christos 81dd08df0d handle assembly files for MKPIE 2008-10-19 15:22:50 +00:00
christos 18c51ff05b Provide a way for a program to override the PIE flags. 2008-10-16 14:36:42 +00:00
christos 1269d9a570 don't compile/link libraries with pie 2008-10-15 17:31:50 +00:00
apb 4c441fdf08 Use "?=", not "=", to set default values for the TOOL_* variables
added in the previous commit.
2008-10-14 07:24:34 +00:00
apb 59b0ced7eb Add missing TOOL_* variables to bsd.sys.mk and document them in
bsd.README.  Previously, several of these variables were present in
bsd.own.mk but not in bsd.sys.mk or bsd.README.
2008-10-13 18:24:21 +00:00
apb bbaac8b3bb In bsd.sys.mk and bsd.own.mk, sort lists of TOOL_* variables.
In bsd.README, document all TOOL_* variables that are set in bsd.sys.mk.

There are several TOOL_* variables that are set in bsd.own.mk, but not
set in bsd.sys.mk and not documented in bsd.README.
2008-10-13 15:29:22 +00:00
apb 1d782af00e Remove the definition of HOST_SED. HOST_SED was previously used only in
tools/atf-compile, which has now been adjusted to use TOOL_SED.
2008-10-05 20:20:55 +00:00
apb 520cbbf81f Build strfile both as a host tool and as an installed program:
* in games/fortune/strfile/Makefile, build strfile as a
  regular program instead of as a host tool;
* add tools/strfile directory to build strfile as a host tool;
* in tools/Makefile, add strfile to SUBDIR list;
* in BSD.*.mk, define TOOL_STRFILE variable;
* in games/fortune/datfiles/Makefile, use TOOL_STRFILE when creating
  databases at build time;
* in distrib/sets/lists/games/mi, mention usr/games/strfile.
2008-09-26 18:23:09 +00:00
christos 99ca374317 support per file lex and yacc prefixes. 2008-09-19 22:54:55 +00:00
gmcgarry ce206e318d Honour HAVE_PCC 2008-08-24 06:27:00 +00:00
christos ee372c7d11 Disable PIE for kernel builds. Some architectures pass -mcmodel to gcc and
this is incompatible with PIE. And we don't really want pic objects in the
kernel
2008-07-23 23:21:56 +00:00
lukem 9ceb85ca59 If WARNS>0 and !defined(NOGCCERROR), add
-Wa,--fatal-warnings
to CFLAGS to set assembler warnings to be fatal.
(Done via CFLAGS instead of AFLAGS so that all assembling, not just
that of .S/.s files, uses the option.)
2008-07-21 23:30:48 +00:00
garbled c3408ed04a Convert prep to use the new unified mkbootimage rather than it's own. This
mkbootimage can be shared by prep, rs6000, and bebox.

TODO: Convert bebox to use this.  Needs someone to test.
2008-04-30 21:15:33 +00:00
tsutsui c81a918994 Redo a change in rev 1.160 with more proper way:
> Don't make linker warnings fatal on linking static libs since
> there is no proper way to avoid "FOO is a patented algorithm" warnings.

Ok'ed by christos@ and dogcow@ on tech-toolchain, and
tested build.sh build for sun2, news68k, alpha and newsmips.
2008-04-22 12:47:59 +00:00
tsutsui a91b6f6d11 Backout previous for now. We have to rethink dependency for MKPIC and LDSTATIC.
Pointed out by dogcow@.
2008-04-15 00:08:05 +00:00
tsutsui 6dadfb80d4 Don't make linker warnings fatal on linking static libs since
there is no proper way to avoid "FOO is a patented algorithm" warnings.
Ok'ed by christos@ on tech-toolchain.
2008-04-14 13:41:43 +00:00
lukem ba936e32d4 Set linker warnings to be fatal if ${WARNS} > 0. 2008-03-03 06:33:17 +00:00
simonb d8de5b102b Remove support for NetBSD/pc532. 2008-01-09 11:25:58 +00:00
christos 7af2df4395 add MKPIE 2007-12-28 21:35:45 +00:00
jmmv 2965cbca98 Add the atf host tools
This adds reachover Makefiles to build the atf tools required during a
cross-build.
2007-11-12 14:54:43 +00:00
uwe 00fa1e6950 Stack protector codegen bug on sh3 has been fixed, so drop sh3 from
the list of platforms where we disable ssp.
2007-06-03 21:07:33 +00:00
christos 380cacfb28 we can now compile libc with _FORTIFY_SOURCE 2007-06-03 17:42:18 +00:00
uwe 7243a4e86c Fix inverted comparison ${MACHINE_ARCH} != "hppa" when checking for
ssp.  (hi^2 tls!)
2007-05-31 00:17:32 +00:00
uwe c7bdc65e61 Use matching open and close parens.
Why make doesn't complain about $(foo} ?
2007-05-30 22:54:12 +00:00
tls 14aa3a04d9 Fix typo, and eliminate mention of libssp since it's gone.
Move -D_FORTIFY_SOURCE to CPPFLAGS from COPTS.
2007-05-30 21:27:54 +00:00
tls dc99372be9 Match usage of FORTIFY_SOURCE on other platforms by not requiring special
include path: the normal header files now include the "SSP" ones (which one
should note are not really named right: SSP and FORTIFY_SOURCE are independent
features).

Disable USE_SSP on targets where the compiler doesn't support it at all
(mips, alpha) or it's known broken (sh3).  But enable FORTIFY_SOURCE,
without SSP, on those platforms -- tested on mipsel.
2007-05-30 21:14:35 +00:00
tls a83c0ab035 mipsel || mipseb, not mipsel || mipsel 2007-05-30 14:21:31 +00:00
tls 2368dc663d 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.
2007-05-30 01:13:14 +00:00
tls 6c43b583d4 Sigh, revert previous and fix right: we don't have MACHINE_CPU in bsd.sys.mk. 2007-05-29 21:24:57 +00:00
tls e5545ad98b MACHINE_ARCH -> MACHINE_CPU so excluding mips from SSP/FORT works right. 2007-05-29 21:09:18 +00:00
tls 64e3562f4f Fix two bugs reported by Simon Burge: 1) USE_FORT and USE_SSP should be
disabled on platforms where GCC doesn't support -fstack-protector.  2) The
libssl Makefile had a hard-coded USE_FORT=yes.
2007-05-29 13:55:31 +00:00
tls 1e799aacf7 Sigh. Fix USE_FORT: do not use /usr/include/ssp from *host* system. 2007-05-29 04:56:34 +00:00
tls 4147a3c54a Add new Makefile knob, USE_FORT, which extends USE_SSP by turning on the
FORTIFY_SOURCE feature of libssp, thus checking the size of arguments to
various string and memory copy and set functions (as well as a few system
calls and other miscellany) where known at function entry.  RedHat has
evidently built all "core system packages" with this option for some time.

This option should be used at the top of Makefiles (or Makefile.inc where
this is used for subdirectories) but after any setting of LIB.

This is only useful for userland code, and cannot be used in libc or in
any code which includes the libc internals, because it overrides certain
libc functions with macros.  Some effort has been made to make USE_FORT=yes
work correctly for a full-system build by having the bsd.sys.mk logic
disable the feature where it should not be used (libc, libssp iteself,
the kernel) but no attempt has been made to build the entire system with
USE_FORT and doing so will doubtless expose numerous bugs and misfeatures.

Adjust the system build so that all programs and libraries that are setuid,
directly handle network data (including serial comm data), perform
authentication, or appear likely to have (or have a history of having)
data-driven bugs (e.g. file(1)) are built with USE_FORT=yes by default,
with the exception of libc, which cannot use USE_FORT and thus uses
only USE_SSP by default.  Tested on i386 with no ill results; USE_FORT=no
per-directory or in a system build will disable if desired.
2007-05-28 12:06:17 +00:00
tls d307e49627 Add -D_FORTIFY_SOURCE=2 where it can safely/sanely be used if building
with USE_SSP: not in the kernel, and not in libssp itself.
2007-05-22 23:58:54 +00:00
apb a45dfb93f4 Define TOOL_JOIN. 2007-01-14 16:19:55 +00:00
christos 42b579bab8 disable SSP for standalone code. 2006-11-11 06:28:49 +00:00
christos e81129f492 add the non tool version of paxctl 2006-11-10 17:22:19 +00:00
christos 3051b08454 Add ssp glue. 2006-11-09 17:06:54 +00:00
christos e9a36b93da Add -Wextra -Wno-unused-parameter to WARNS > 2 2006-10-22 22:17:30 +00:00
elad 83704dec18 PR/28368: Peter Postma: unrecognized option `-Wnetbsd-format-audit'
Apply patch from rivo nurges in #NetBSD-code, thanks!
2006-10-08 17:16:51 +00:00
simonb b53f76b4fe Use -Wno-uninitialized for ns32k. For some reason, gcc on ns32k
doesn't detect initialisation correction in simple "for" loops like:
	for (i = 0; i < 10; i++)
		var = i;
2006-09-09 03:53:19 +00:00
mrg 252f1af0f5 -std=gnu99 can be applied with GCC>=3, not MACHINE != vax. 2006-07-01 06:02:51 +00:00
gdamore 494d0cb31a Forgot to commit these for TOOL_SED. Thanks to tsutsui@ for pointing it out. 2006-06-18 14:38:48 +00:00
mrg db19e89e04 remove support for building (with) GCC 2.95. also:
- always install <stdbool.h>
- don't generate a fake one for vax / gettext.
2006-06-02 22:16:18 +00:00
uwe d5328b65a0 Enable -Wold-style-cast for sh3 now that its stadarg.h doesn't use LHS casts. 2006-05-22 00:43:04 +00:00