Commit Graph

123 Commits

Author SHA1 Message Date
perry
92ec9dc66a Add a MKREPRO variable (defaults to "no") that invokes newvers.sh with
the -r flag if it is set to "yes", resulting in a reproducible kernel build.
2009-03-30 16:34:19 +00:00
pooka
e77db3f765 fix cscope target
Philip Paeps, PR kern/41012
2009-03-20 09:13:06 +00:00
christos
160a37667a Unbreak ssp kernels. The issue here that when the ssp_init() call was deferred,
it caused the return from the enclosing function to break, as well as the
ssp return on i386. To fix both issues, split configure in two pieces
the one before calling ssp_init and the one after, and move the ssp_init()
call back in main. Put ssp_init() in its own file, and compile this new file
with -fno-stack-protector. Tested on amd64.
XXX: If we want to have ssp kernels working on 5.0, this change needs to
be pulled up.
2009-02-12 18:24:18 +00:00
hans
7ff8bbb1b3 Not every grep knows -q. Ok by apb. 2009-01-18 13:53:03 +00:00
matt
b0aa811639 Sort the kernel objects. 2008-11-13 06:48:38 +00:00
apb
f46c1de7cb Use ${TOOL_SED} instead if plain sed in Makefiles. 2008-10-25 22:27:34 +00:00
apb
96230fab84 Use ${TOOL_AWK} instead of ${AWK} or plain "awk" in make commands.
Pass AWK=${TOOL_AWK:Q} to shell scripts that use awk.
2008-10-19 22:05:19 +00:00
tron
0f256b9d59 Compile NetBSD/amd64 kernels with "-Wextra". Patches contributed by
Juan RP in PR port-amd64/39266.
2008-09-05 13:37:24 +00:00
tron
f8929a3508 Don't add "${CPUFLAGS}" and "${CWARNFLAGS}" to "AFLAGS" and "CFLAGS" twice.
Patch submitted by Juan Romero Pardines in PR kern/39265.
2008-09-05 11:03:53 +00:00
gmcgarry
3c9a95916d Wrap compiler-specific flags with HAVE_GCC and HAVE_PCC as necessary. Add a few flags for PCC. 2008-08-29 00:02:21 +00:00
gmcgarry
d977ef8e7b pcc needs -Wno-unreachable-code. 2008-06-21 01:00:43 +00:00
dholland
0c2366cfe9 Print kernel version string along with the size output, to avoid having
to dig it out manually if installing by version number... and also to
make it somewhat easier to notice up front if one accidentally boots
the wrong test kernel. not like I've ever done that. ;-)

PR kern/38563.
2008-05-14 18:15:41 +00:00
jmmv
3f1571cbcf Fix flags for kern_synch.c: it is COPTS.<cfile>, not CFLAGS.<cfile>. 2008-03-24 18:03:27 +00:00
matt
5823597dfd Since we say the kernel is C99, add -std=gnu99 to COPTS 2008-02-25 05:56:13 +00:00
matt
c9cd44128e Add assym.d to DEPS so it gets properly cleaned. 2008-02-23 17:43:36 +00:00
matt
06531ceafe Add a syntax-only target which attempts to compile the entire kernel as one
entity.  Think of it as super-lint.  Due to bugs in the GCC C frontend it
doesn't quite work right but it does provide useful feedback.
2008-02-03 06:46:29 +00:00
joerg
0d7c94dad4 Add a stub file that includes a bunch of kernel headers and always get
compiled with -g. For the initial set, netbsd on amd64 grows by around
80KB. This allows much easier use of GDB for post-mortem debugging as
it can understand the layout of data structures. The additional data can
be strip(1)ped off normally for size constraint environments.
2008-01-17 20:14:49 +00:00
lukem
14c9fc8ffa Remove unnecessary references to config_time.h. 2008-01-17 01:56:02 +00:00
lukem
8b267ec022 Use BUILDSYMLINKS from <bsd.files.mk> instead of custom copy rules
for config_time.h and athhal_options.h.

Note: we still copy param.c because I'm told that we should still support
people editing that on a per-compile basis.
2008-01-17 01:13:01 +00:00
jnemeth
bf33c34cf5 add dev/ofw/ofw_subr.c to VARSTACK 2007-11-29 01:39:27 +00:00
tls
0a012aa1c5 Fix accidental USE_SSP -> USE_FORT: now USE_SSP works as intended for
kernel builds.  Thanks to xtraeme for pointing this out.
2007-10-08 21:25:35 +00:00
pooka
82a2fc0cce ufs is ssp clean 2007-09-25 15:16:05 +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
jmmv
465d2fa6dc Add the ability for platform-specific Makefiles to indicate which kernel
images to install into / (which might be more than just "netbsd").

Addresses PR port-shark/17569.
2007-03-12 15:09:01 +00:00
christos
d68432cc82 We don't need to include kern_exit43.c to the list of files that we cannot
use SSP on now that zero sized arrays are treated properly in gcc.
2007-01-27 01:37:57 +00:00
tls
aa99a9cd13 Add --param ssp-buffer-size=1 if USE_SSP as for userspace.
Add kern_exit_43.c to VARSTACK -- it isn't, really, but it causes an error
because it has a 0-element array on the stack and SSP always emits the
error that it is not protecting such a small array (ssp-buffer-size=0 is
not supported, so, really, it should not emit this error!).
2006-12-18 22:37:36 +00:00
christos
64c377519a use -fstack-protector instead of -fstack-protector-all since this breaks
on amd64 (it works on sparc64).
2006-12-12 21:31:58 +00:00
christos
3526467a3d there is no stack-protector for gcc3 2006-12-10 23:09:31 +00:00
tls
53786c9e89 Add arch/xen/i386/gdt.c to list of kernel files that do variable-size
allocations on the stack.  This allocation could potentially be quite
large -- I am not sure how to best fix that.

Fixes USE_SSP i386 build.sh failure.
2006-12-03 01:45:57 +00:00
christos
02b04bf496 add aic97xx.c to the varstack list. from shannonjr. 2006-11-15 23:09:53 +00:00
jnemeth
daa80ec43e add another file to the VARSTACK list 2006-11-11 08:40:42 +00:00
christos
a62de02966 Add SSP support.
XXX: This is broken for me right now, because my kernel resets after fxp0
is probed, but it could be some bug in the driver/compiler.
2006-11-11 02:12:53 +00:00
garbled
bcb7c3b253 Add -Wextra -Wno-unused for prep. 2006-10-30 17:56:30 +00:00
thorpej
03e8889986 Insert a .WAIT between "depend" and "all" in the "dependall" target, so
that "make -j4 dependall" has the intended effect.
2006-10-26 05:10:55 +00:00
martin
f2df2d2b3b Sparc64 is -Wextra ready - but we are not sure where to go with __unused,
so add -Wno-unused-parameter for now.
Ok'd by christos.
2006-10-17 14:28:46 +00:00
christos
4d595fd7b1 - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
2006-10-12 01:30:41 +00:00
christos
6565c53658 Add -Wextra -Wno-unused for i386. Portmasters, please check your ports
and make sure they compile with these flags.
2006-10-04 16:03:01 +00:00
matt
ecaf18c847 Add AFLAGS+= ${AOPTS.${.IMPSRC:T}} 2006-09-11 03:12:48 +00:00
mrg
baafcdbb23 make the bpendtsleep: label only active if KERN_SYNCH_BPENDTSLEEP_LABEL
is defined.  if this option is present in the Makefile CFLAGS and we are
using GCC4, build kern_synch.c with -fno-reorder-blocks, so that this
actually works.

XXX be nice if KERN_SYNCH_BPENDTSLEEP_LABEL was a normal 'defflag' option
XXX but for now take the easy way out and make it checkable in CFLAGS.
2006-09-07 18:41:28 +00:00
simonb
d4fec3837e Add -Wa,-fatal-warnings to AFLAGS. We want assembler warnings to be
fatal as well as compiler warnings.
Vague nods of agreement from Christos and Gimpy.
2006-08-27 06:49:27 +00:00
dsl
5464d4dc61 Create a linker map file.
Very useful when trying to find out where recent 'bloat' has come from,
as well as giving exact details of what is actually in the kernel.
2006-08-24 21:23:40 +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
christos
ce07c2d219 it is attributes no attribute 2006-05-21 05:49:54 +00:00
christos
a4d71852e0 Put back -Wno-attribute for now since not all archs have been fixed. 2006-05-21 04:53:23 +00:00
christos
a58b86d582 Don't use -Wno-attributes for gcc4. All the code has been fixed and it will
just hide bugs.
2006-05-20 00:47:27 +00:00
mrg
efb8c0c93f if GCC>3:
- add -Wno-attributes -Wno-pointer-sign to CWARNFLAGS.
- add -fno-strict-aliasing to CFLAGS [*]

our kernel again needs a bunch of work for this to be enabled.
2006-05-11 17:21:38 +00:00
thorpej
fbade90aaa Also search for headers in common/include 2006-04-28 03:40:15 +00:00
lukem
2eb5047221 Order & uniq DEPS, a la <bsd.dep.mk>. 2006-04-19 07:08:17 +00:00
lukem
7caf2ff17d Sort SYSTEM_OBJ before adding to SYSTEM_DEP.
Kernel builds are now more consistent with userland
(and IMHO building in order is more asthetically pleasing.)
2006-04-19 07:06:22 +00:00
uwe
3f6e548563 Don't add CPUFLAGS to CFLAGS twice. 2006-03-29 21:35:32 +00:00