Commit Graph

29 Commits

Author SHA1 Message Date
lukem c1ceae17f0 Enable WARNS=4 by default for usr.bin, except for:
awk  bdes  checknr  compile_et  error  gss  hxtool  kgetcred  kinit
	klist  ldd  less  lex  locale  login  m4  man  menuc  mk_cmds
	mklocale  msgc  openssl  rpcgen  rpcinfo  sdiff  spell  ssh
	string2key  telnet  tn3270  verify_krb5_conf  xlint
2009-04-14 22:15:16 +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
peter e263dfd62f WFORMAT is no more... 2006-10-08 17:52:28 +00:00
christos 58fc70c4d6 WARNS=3 2005-07-16 22:00:01 +00:00
tron dc33169c5b Add prefix "${PROG}-" to filename of automatically created list of
ioctl names. This makes sure that each program is built with its own
copy even if object directories are not used. This avoids build
failures when two or more make jobs are used in parallel.
2004-07-10 12:12:49 +00:00
manu 94d3385454 Re-add the static root conditionnal that was removed by mistake. 2003-11-16 10:10:37 +00:00
christos b612016506 Print siginfo_t information when available. 2003-09-19 22:49:02 +00:00
manu bcffe04b31 Now properly display Mach traps 2002-11-15 19:58:05 +00:00
lukem 2c16ea6f7e use NETBSDSRCDIR as appropriate 2002-09-19 11:31:21 +00:00
lha 35e64a7b76 remove extra $ from previous commit 2002-09-18 20:50:22 +00:00
lukem 5d4973fe97 makefile delint. use NETBSDSRCDIR as appropriate 2002-09-18 14:00:33 +00:00
lukem ed401558f2 Implement MKDYNAMICROOT, which currently defaults to "no", but will
be changed in the future to "yes".

If MKDYNAMICROOT == "no", there is no change from existing behaviour
of a static /bin and /sbin (and a few programs in elsewhere).

If MKDYNAMICROOT == "yes", the following changes occur:
    in <bsd.own.mk>:
	SHLIBDIR?=     /lib
	SHLINKDIR?=	/lib
    in various Makefiles, the following entry is DISABLED.
	LDSTATIC?=-static
This results in all programs (except those "standalone" programs built
in sys/arch/*/stand) are linked dynamically, the shared linker is moved
from /usr/libexec to /lib (with a compat symlink), and the shared
libraries used by /bin and /sbin programs are moved from /usr/lib to
/lib (with compat symlinks).
2002-08-27 14:46:11 +00:00
jdolecek 53b6556eda back out previous change - this needs to be discussed first at least 2000-11-14 00:10:16 +00:00
jdolecek dfc9af3212 don't link these static; if shared libraries are hosed, these utilities would
surely not save the situation, not help to recover from it
2000-11-13 21:48:33 +00:00
is 135600f947 More format string cleanup by sommerfeld. 2000-10-11 14:46:00 +00:00
jdolecek 470e7fc568 put setemul(), ectx_* & appropriate structures to separate file, to make it
more easily sharable with ktruss(1)
2000-04-10 09:13:45 +00:00
mrg 9abab6de8b - build with obj dirs.
- use .PATH not broken links
- share the make fragment to build "ioctl.c"
- general clean up, RCSID, etc.

this is all happy now AFAICT.
1999-07-12 04:13:34 +00:00
veego ee0b338314 Fix the include problem of <compat/linux/arch/xxx/linux_syscall.h>. 1998-10-04 10:49:58 +00:00
cgd 8aaf609a0a allow LDSTATIC definition to be overridden by bsd.own.mk/mk.conf 1998-03-02 19:42:25 +00:00
lukem 8ba07ab0b3 use CPPFLAGS instead of CFLAGS 1997-10-24 09:00:17 +00:00
mikel e578379504 minor cleanup 1997-08-01 04:37:36 +00:00
phil 992579779c Add input files to dependency list for ioctl.c build. 1997-07-21 19:29:58 +00:00
gwr 10e180cc49 Back out the .PATH.c changes. The .depend problem (and others)
will be fixed using the new .NOPATH make feature instead.
1997-05-08 21:11:01 +00:00
gwr 012e528f2e Use .PATH.c: ... 1997-05-06 20:44:56 +00:00
tls 9d225a1783 RCS ID police 1997-01-09 20:18:21 +00:00
deraadt f45b220870 Link these statically to make shared library debugging easier 1994-12-06 14:54:50 +00:00
mycroft 2fd4512058 Add RCS ids. 1994-10-06 15:44:32 +00:00
mycroft 71782585d6 Pass the file names in to mkioctl, to help cross-compilation. 1994-06-18 16:33:22 +00:00
cgd 57935c670a updated kdump 1994-05-11 07:10:27 +00:00