Commit Graph

44 Commits

Author SHA1 Message Date
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
ad 4ee7030889 Add ${NETBSDSRCDIR}/sys to the include path. 2007-02-10 00:23:13 +00:00
christos eb430229c6 do the exit on lint warnings only on i386 like libc, to avoid the wrath of
the sloppy archs.
2003-03-28 14:02:45 +00:00
christos d5cff0612e exit on lint warnings. 2003-03-28 14:01:46 +00:00
lukem b1c71074fa Add workaround for building with ${MACHINE}==sparc64, ${MACHINE_ARCH}==sparc;
symlink the appropriate machine & sparc include directories into the objdir.

XXX: this is necessary until (when?) the sparc Arch Dependent headers
(used by MACHINE_ARCH==sparc) are separated from the sparc Machine
Dependent headeres (used by MACHINE==sparc but not MACHINE==sparc64).
2003-03-01 06:10:39 +00:00
thorpej c62a74e6d5 Merge the nathanw_sa branch. 2003-01-18 10:32:11 +00:00
lukem ec5dbc56b8 Explicitly move setting of NOxxx and USE_SHLIBDIR to the top of the
Makefile (before including <bsd.own.mk>)
2002-08-19 14:55:14 +00:00
lukem efcc9a4c9d * 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
2001-12-28 01:32:37 +00:00
fredette f82a63dfb7 Added support for sun2 kernel cores. 2001-05-21 14:56:29 +00:00
bjh21 c4f68df178 Rename kvm_arm32.c to kvm_arm.c, since it's shared between arm32 and arm26.
The Makefile now finds the correct file without help.
2001-01-08 18:30:03 +00:00
itojun 99b0df5333 use MACIHNE_CPU to determine architecture-dependent source code directory.
is use of exists(foo) safe enough?
TODO: many other places to fix
2001-01-08 08:29:59 +00:00
itojun 8145e73c70 sh3 split 2001-01-04 08:59:24 +00:00
simonb ec323af478 Document KVM_NO_FILES and kvm_get{proc,argv,envv}2(). Better wording
kindly accepted!

XXX: Need to update distrib lists.  Tomorrow...
2000-06-13 15:48:56 +00:00
bjh21 6c97e2bd78 Initial commit of arm26 port 2000-05-09 21:55:44 +00:00
chs 21eedb0ec1 the PMAP_NEW option is gone as the new interface is no longer optional. 1999-09-12 01:19:23 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
drochner 3654576f9f make this build again after the mips->mipse? transition 1999-02-24 15:10:16 +00:00
thorpej 255a7ded2d NetBSD/mips uses new libkvm now. 1998-02-19 23:35:36 +00:00
thorpej c611491733 Sigh, typo. 1998-02-19 17:22:31 +00:00
thorpej c548be173c Simplify test ... MACHINE_ARCH == "mips" 1998-02-19 07:06:59 +00:00
perry ba7b5f16ff add -DPMAP_NEW if PMAP_NEW is on in mk.conf 1998-02-18 03:54:58 +00:00
thorpej 9a9b611334 Rewrite _kvm_kvatop() to work with the new crash dump format, and make
the i386 port use libkvm, not libkvm.old.
1998-02-18 01:13:08 +00:00
mrg 3c9dd3f03a oops, forgot to add support for UVM here. 1998-02-11 06:30:11 +00:00
lukem a45764133a use CPPFLAGS instead of CFLAGS 1997-10-22 23:51:27 +00:00
oki 05afa81a2e Oops, fixed edit error at previous commit. 1997-10-19 19:15:30 +00:00
oki 92630972b5 NetBSD/x68k now use libkvm instead of libkvm.old 1997-10-19 19:10:26 +00:00
mark 9b68e622d1 Switch from libkvm.old to libkvm for the arm32 port. 1997-10-05 23:50:33 +00:00
veego c365104f2e Use bsd.prog.mk and not bsd.{own,man}.mk 1997-06-23 22:16:56 +00:00
veego 0b29b097bb Add bsd.own.mk for bsd.man.mk. 1997-06-23 09:45:19 +00:00
veego 918cdf2f4e Don't include bsd.lib.mk if you don't build a library, just use bsd.man.mk
to build the manpages.
1997-06-23 09:07:49 +00:00
mrg 0553741950 move man pages into share/man. 1997-06-23 04:51:16 +00:00
gwr da140670c7 typo 1997-03-21 18:48:58 +00:00
gwr 95883471d5 Build the same libkvm.* on all m68k machines. (Well... except for the
stragglers that still use libkvm.old )  The m68k machines now dispatch
based on the machine name to the appropriate libkvm implementation.
1997-03-21 18:44:21 +00:00
thorpej 346e67f879 RCS id police. 1996-03-18 22:33:07 +00:00
leo c458aad2bf Add a manual page for the kvm_dump_* functions. 1996-03-18 21:11:10 +00:00
cgd ae9172d6cd specify man pages the new way. 1994-12-22 09:57:51 +00:00
mycroft 96e437894b Merge the m68k files. The code itself should be merged. 1994-09-18 03:32:50 +00:00
gwr d416f9adc8 Add sun3 support (only "live" kernels for now). 1994-07-28 21:46:34 +00:00
chopps 6c2f28403d add support for current m68k based pmaps till they can be "fixed" 1994-05-16 05:31:19 +00:00
cgd 54774f9293 m68k-ify the hp300 kvm file; use MACHINE_ARCH to pick files up 1994-05-09 04:09:21 +00:00
cgd 429f62a616 clean up import 1994-05-09 03:17:28 +00:00
briggs d036d0a3e0 Add mac68k to amiga in looking for cpu040. 1994-04-23 02:41:59 +00:00
chopps 3ed937bcf0 temporary additional lookup of cpu040 for amiga's until new kvm stuff or new
amiga 040 VM stuff.
1994-02-14 04:34:42 +00:00
cgd 86b9f0e123 create this in preparation for later. 1994-01-27 23:31:08 +00:00