Commit Graph

89 Commits

Author SHA1 Message Date
pooka
0ba40768c8 Make ktrace a compile-time option 2013-12-09 17:57:11 +00:00
pooka
5624f8eb6b Support ktrace for rump kernels.
Requested by Justin Cormack on rumpkernel-users.
2013-12-09 16:54:20 +00:00
pooka
fb19198452 RUMPCOMP_USEROBJ -> RUMPOBJ_NORENAME
Widens the implied usage scope of the variable.
2013-09-03 19:57:02 +00:00
pooka
74f1a93841 Rename RUMPTEST_BUILDSH to RUMPKERN_ONLY. Turns out not building any
POSIX implementations of hypercalls is useful beyond the build.sh test,
such as when building rump kernels for non-POSIX hosts.
2013-08-30 10:29:06 +00:00
joerg
3dcc4e8c7d The linker script is the argument of -T, so keep them together. 2013-08-05 16:00:57 +00:00
pooka
c5876c964f COMPAT_60 for rump kernels.
Requested via github (buildrump.sh)
2013-07-16 19:07:54 +00:00
pooka
5fcb2ebcb0 Fix pasto: BUILDRUMP_CPPFLAGS was used twice. 2013-07-09 17:49:37 +00:00
pooka
aa90974447 Apparently warning flags are not kept in CWARNFLAGS. Compensate. 2013-07-04 10:14:04 +00:00
pooka
e0ab611267 fix "build.sh rumptest" wrt private hypercalls 2013-04-28 12:54:39 +00:00
pooka
aa83835eae Build only rumpcomp_user.c as part of the rumpcomp_user rules
(otherwise ioconf.c wants to be part of .ALLSRC for whatever reason
I'm not really interested in, but which the make gurus will surely
explain to me)
2013-04-28 10:25:04 +00:00
pooka
3ca96abf17 Allow to completely skip the ldscript, useful for linkers that don't need one. 2013-04-27 12:51:45 +00:00
christos
86f7664c95 fix typo 2013-03-17 01:13:00 +00:00
christos
9a96afddbd order too 2013-03-16 23:51:39 +00:00
christos
8ef63ebd7d uniquefy, really should fix this so there are no dup rules. 2013-03-16 23:37:43 +00:00
christos
d9f1763a86 Fix the build w/o DESTDIR 2013-03-16 21:38:21 +00:00
pooka
11005b1248 one more typofix 2013-03-15 12:42:18 +00:00
pooka
7c87fb3f1e On second thought, let's use make syntax in makefiles ... 2013-03-15 12:18:41 +00:00
pooka
062b5be071 Use correct ldscript etc. for Sun ld. 2013-03-15 12:15:52 +00:00
pooka
c498310e16 Use "-isysroot ${DESTDIR}" for RUMPCOMP_USER when run as part of build.sh
so as to catch the necessary headers, which, unlike in the buildrump.sh
case, are not supposed to be intermingled with the ones provided by
the host.
2013-03-15 11:15:22 +00:00
pooka
cb8ba332c0 Shuffle the namespaces in the previous around a bit, and make it
rumpcomp_user instead of rumpuser_component.  This makes sure the
rumpuser namespace is used only by librumpuser.
2013-03-01 18:11:11 +00:00
pooka
dc276bbdbc Allow rump kernel components to define their own hypercalls. This is
useful for example for supporting the tap device on Linux, for which
Linux-specific ioctl's are required (or at least so I was told).
2013-03-01 14:05:43 +00:00
pooka
2b493f5e4b Pass linker script with -Wl,-T to avoid clang incompating itself out
without flagging an error.
2012-11-22 21:21:21 +00:00
pooka
e4cca1b663 Instead of maintaining an evergrowing list of -U's, leave that up
to an external script.
2012-11-21 17:53:10 +00:00
pooka
49029daa1a Don't duplicate arbitrary chunks of bsd.sys.mk in here (especially
-Wsign-compare, since that doesn't even work with the kernel, and was
just previously masked by -isystem).  Reorder a bit too.
2012-11-21 17:51:42 +00:00
pooka
8d40a1e7f7 Don't unconditionally use the error-silencing magic of -isystem
(as opposed to -I) on every component, only the zfs ones depend on it
to build.  Regular modules might benefit from a similar move.
2012-11-21 17:48:05 +00:00
pooka
ee0fcc872d add some -U's for linux builds 2012-11-13 19:12:42 +00:00
joerg
c14f2d4ef8 Deal with optional HAVE_GCC. 2012-08-10 16:05:26 +00:00
pooka
232fe594f2 Make it easy to turn -DDIAGNOSTIC off (RUMP_DIAGNOSTIC=no) and -DDEBUG
on (RUMP_DEBUG=yes).
2012-08-05 15:37:39 +00:00
matt
12a3861acb Make rump compile things with -std=gnu99 like the kernel and modules. 2011-05-10 00:33:58 +00:00
matt
658d254929 Define COMPAT_50 to be 1 just like config(8) would be opt_compat_netbsd.h 2011-02-01 01:15:51 +00:00
pooka
cd73d116db Support LOCKDEBUG. To use it, compile sys/rump with RUMP_LOCKDEBUG=yes.
requested by martin (sparc64 gdb cannot reliably produce a stack trace)
2011-01-06 11:22:54 +00:00
pooka
6816648ce4 use -isystem where appropriate 2010-12-06 09:12:34 +00:00
pooka
d3280f90bc Limit visibility of _RUMPKERNEL to prevent abuse. 2010-05-11 21:08:07 +00:00
pooka
560d308a49 Give a cpp hint if the native kernel abi is supported. 2010-04-26 23:01:53 +00:00
mrg
98a4c48317 apply a patch from dennis fergusson:
fix the powerpc64 quirk handling by introducing a prefix quirk and
using it as appropriate.  fix the (postfix) quirk.

now rump and powerpc64 get along nicely.
2010-03-28 04:29:34 +00:00
mrg
eeea16608f add + _SYMQUIRK='|\.(rump|RUMP)' for powerpc64, as recommended by pooka.
it gets rid of many of the warnings trying to link rump_cd9960, but
there are a bunch remaining.  atomic ops seem missing, and some ktrace
points.
2010-03-22 05:39:00 +00:00
pooka
40bb87a667 Move make snippets for use with config(1) ioconf functionality from
rump into share/mk.  This is to make it useful for all kernel
builders.

Note: we have waaay too many weird and wonderful ways of making
kernel code (monolithic kernel, modules, rump).  There should be
only one way to build kernel code instead of a maze of twisty little
.mk files, all not quite alike.  When that is fixed, this snippet can go
into the more generic .mk file.
2010-03-21 06:55:44 +00:00
pooka
89e1ba2569 Rename IOCONFIG to IOCONF. It matches the config(1) keyword and
aligns better in Makefiles.
2010-03-01 15:41:15 +00:00
pooka
35257440bd Invert inverted comment and verbosify it. 2010-02-17 13:28:40 +00:00
pooka
643ba90bf0 Globally define -Wno-pointer-sign, as it has become a pointless
exercise of "add it to every Makefile individually".

XXX: should autosynchronize with the rest of the kernel buildflags
in sys/conf/Makefile.kern.inc.
2010-02-16 20:42:44 +00:00
pooka
a1e25c6e46 IOCONFIG comes from .CURDIR 2010-02-09 16:16:26 +00:00
pooka
b68d6b80c0 add a rule for locators.h too 2010-02-03 21:15:39 +00:00
pooka
61cce04cfe If IOCONFIG is defined, autogenerate ioconf.c and locators.h
from ${IOCONFIG}.
2010-02-03 21:11:24 +00:00
pooka
5412e3f097 Make (no pun intended) it possible to perform component symbol
protection from a shell prompt with the command line:

    make -f /sys/rump/Makefile RUMP_SYMREN=module.kobj

This is benefitial especially on i386, where rump ABI matches the
kernel ABI (sans the renaming isolation).  In the above example
module.kobj can then be loaded in a rump kernel either statically
at link-time simply by giving module.kobj as an object to the
linker, or dynamically at runtime by calling rump_sys_modctl(MODCTL_LOAD).
2010-01-31 00:38:36 +00:00
pooka
fbc989bbef Use linker script to make __start/stop_link_set_modules be present
in libs built with binutils >=2.19.  This is a less error-prone
method than the previous where components had to be tagged in the
Makefile as modules (and if they weren't, things broke.  and vice
versa).
2009-12-12 17:10:19 +00:00
pooka
67cd12f07f Include arch/include/Makefile.inc for some compiler flags. 2009-11-27 13:36:30 +00:00
pooka
59f20ea12d Hmm, in addition to leaving out -lc, -nostdlibs also leaves out
libgcc, and causes problems on some platforms.  Currently there is
no easy way to say "link against libgcc but not against libc", so
just comment out -nostdlibs until a better way is invented.
2009-11-20 12:24:17 +00:00
pooka
1fb57ddbb5 Don't link rump kernel libs against libc. They have no host system
dependencies apart from indirect ones via rumpuser.
2009-11-17 16:17:06 +00:00
pooka
48b3a6f7a3 binutils 2.19 has changed the old behaviour of defining __start_SECTNAME
for orphaned sections to using PROVIDE.  What this means is that
unless a rump component internally references that symbol, it will
not be included in the component shared library, and hence cannot
be referenced when the component is loaded.  Add a workaround which
works both with 2.16 and 2.19: force a reference to the __start
symbol internally and hence retain it in the resulting library.
2009-09-13 22:51:41 +00:00
pooka
725cff3f33 kernel code needs -Wno-format-zero-length 2009-09-08 20:24:08 +00:00