History log of /seL4-camkes-master/tools/rumprun/app-tools/cc.in
Revision Date Author Comments
# b3c1033b 13-Feb-2018 Kent McLeod <Kent.Mcleod@data61.csiro.au>

Add further -no-pie checks to Rumprun build tools

This builds upon the previous commit to add -no-pie anywhere the
relocatable flag (-Wl,-r) is used to handle compilers that enable -pie
by default (Such as Debian Stretch).


# 1d9cdfb3 02-May-2016 Antti Kantee <pooka@iki.fi>

cc: exit with success if nothing fails


# 70826dee 02-May-2016 Antti Kantee <pooka@iki.fi>

cc: make output of -dump{machine,specs} match reality


# 25782f49 05-Nov-2015 Antti Kantee <pooka@iki.fi>

app-tools cc: fail for -print-multiarch

Some packages (e.g. python) will do the wrong thing if the
compiler pretends to support multiarch.

with thanks to @rday


# 98e38a03 05-Nov-2015 Antti Kantee <pooka@iki.fi>

app-tools cc: use basename $0 for error, not whole $0


# 17198751 28-Oct-2015 Antti Kantee <pooka@iki.fi>

set --sysroot for compiler wrapper

Makes cc -print-sysroot work. That said, why do we still
need -isystem and -L in our specs? (yes, I tried without them,
lossage generated)


# 87286488 27-Oct-2015 Antti Kantee <pooka@iki.fi>

Use destdir/rumprun-$MACHINE_GNU_ARCH$ as a GNU-like prefix.


# 7695cf4a 27-Oct-2015 Antti Kantee <pooka@iki.fi>

Use MACHINE_GNU_ARCH, not MACHINE_ARCH

That matches the terms (and make variables!) with the NetBSD
Makefiles and avoids mismatch lossage.


# d280285b 27-Oct-2015 Antti Kantee <pooka@iki.fi>

Install specs to lib instead of share root.

specs are now split into arch and machine specs.


# 41dac3c7 27-Oct-2015 Antti Kantee <pooka@iki.fi>

Install brprintmetainfo, it's used by cc

Fixes all kinds of problems in not detecting compile failures.

Problem reported by meena on irc.


# 0ff44251 23-Oct-2015 Antti Kantee <pooka@iki.fi>

Use more consistent !REPLACE! pattern names.


# 303cd8e4 22-Oct-2015 Antti Kantee <pooka@iki.fi>

install toolchain to destdir


# ed6c0336 01-Oct-2015 Antti Kantee <pooka@iki.fi>

Make sure -lc++ comes before -lunwind in C++ compilations

from issue #52


# aec05029 17-Sep-2015 Antti Kantee <pooka@iki.fi>

librumprun_unwind -> libunwind

There's nothing rumprun-specific in there. The original idea with the
rumprun prefix was to avoid namespace conflicts, but if someone wants
to link in another libunwind we'll be in trouble regardless. Also,
consistency with libcompiler_rt.


# bcbe240e 01-Sep-2015 Antti Kantee <pooka@iki.fi>

Do not assume that all compiler invocations generate output.

Fixes a problem reported by Vincent Schwarzer, namely that
"ccwrapper -print-search-dirs" throws an error.


# 539c68b7 29-Aug-2015 Martin Lucina <martin@lucina.net>

Specify C++ language standard and includes using compiler specs

To address issue #43, the gcc driver knows (based on a list of suffixes)
if it is compiling C or C++. So, we can use this knowledge in the specs
to set the required C++ standard.

Note that -std=c++11 must be specified in both the cpp_options and
cc1plus spec for this to work.

This change also sets the cpp options to only add the C++ include paths
when compiling C++ programs.


# 3eecc7ba 25-Aug-2015 Antti Kantee <pooka@iki.fi>

Default to -std=c++11

We do this here instead of in the specs file since I couldn't figure
out how to make -std=c++11 apply only to C++ for the preprocessor
options line. Fix if you know how.

The only bug is that "foo-gcc foo.cc" will not use C++11, but I'm
not sure we care about that.


# ed47a8cf 08-Jul-2015 Antti Kantee <pooka@iki.fi>

No longer define the rumprun_fermented symbol.

The presense (or lack thereof) of the ELF note from which the baking
parameters are retrieved serves the same purpose.


# e87fa508 08-Jul-2015 Antti Kantee <pooka@iki.fi>

Make rumpbake constant over all platforms.

Embed the necessary information to move from a ferment to a baked product
into an ELF note section. Use that information during baking to determine
where to find the appropriate toolchain from.


# 66531a26 08-Jul-2015 Antti Kantee <pooka@iki.fi>

Display a verbose warning if RUMPRUN_STUBLINK is set.

Even if it's undocumented, people have a tendency to read the source.


# dc96c917 08-Jul-2015 Martin Lucina <martin@lucina.net>

cc.in: Allow overriding stub link failure

Add an undocumented RUMPRUN_STUBLINK toggle to always succeed in the
stub link phase, so that I can build clock_test with -DBMK without
having to modify the generated cc each time.


# a0eb690c 02-Jul-2015 Antti Kantee <pooka@iki.fi>

Build compiler wrapper as -gcc or -clang, not -cc.

Note: user-visible change (-cc was visible only for ~24h, so not
bothering with leaving -cc around as compat).


# 4baa8b54 29-Jun-2015 Antti Kantee <pooka@iki.fi>

Rename the toolchain tuple to what was discussed on the mailing list.

e.g. x86_64-rumprun-netbsd will work now both for xen and hw. The
platform is selected during the "bake" phase, everything before that is
(or should be) platform-independent, only target ISA dependent.


# bca647a8 29-Jun-2015 Antti Kantee <pooka@iki.fi>

Bake directly from rumpbake without calling compiler.

This decouples the compiler wrapper from any bake-time specs.


# deaf3c53 29-Jun-2015 Antti Kantee <pooka@iki.fi>

Don't give a generic LDFLAGS to app-tools, just LDFLAGS_BAKE


# ea26e9cd 29-Jun-2015 Antti Kantee <pooka@iki.fi>

Apptools variable consistency naming.

Make everything that is a directory pathname contain "DIR"


# 8482a427 23-Jun-2015 Antti Kantee <pooka@iki.fi>

Remove duplication from specs.

Call the compile/ferment one "compile-or-ferment". We need that
one to serve both roles, because "cc -o foo.c".

Remove the cpp/cc1 bits from the stub and bake "pure linker specs".


# 4db4f8c2 24-Jun-2015 Antti Kantee <pooka@iki.fi>

specs-inter -> specs-ferment

Follows change done for specs-final -> specs-bake.
Now the specfile names and the stage names are the same.


# e90b9fd7 24-Jun-2015 Antti Kantee <pooka@iki.fi>

call the specs used by bake "specs-bake" instead of "specs-final"


# 676272ec 10-Jun-2015 Antti Kantee <pooka@iki.fi>

honor LDFLAGS


# 4dbcabfd 01-Jun-2015 Antti Kantee <pooka@iki.fi>

if pseudolinking fails, cleanup the relocatable output


# 0738d985 01-Jun-2015 Antti Kantee <pooka@iki.fi>

indent consistently with rest of rumpkernel.org


# ed6d7783 28-May-2015 Martin Lucina <martin@lucina.net>

cc.in/rumpbake/rumprun: Don't depend on 'nm'

Make the magic symbols somewhat more magic and just use grep


# 88f92db1 28-May-2015 Martin Lucina <martin@lucina.net>

cc.in: Cosmetic fix to use of -Wl,-u


# cd4cf07c 28-May-2015 Martin Lucina <martin@lucina.net>

cc.in: Don't need a temporary file here


# 1578dab2 28-May-2015 Martin Lucina <martin@lucina.net>

Use standard idiom for switching on $0


# 0800d677 28-May-2015 Martin Lucina <martin@lucina.net>

rumprun: Refuse to run non-baked images

With the introduction of rumpbake, we don't want to confuse users who
will be following old instructions and running the output of
rumprun-*-cc directly.


# 941759fa 28-May-2015 Martin Lucina <martin@lucina.net>

Some build systems insist the intermediate output is executable


# 8c275734 28-May-2015 Martin Lucina <martin@lucina.net>

Rumpbake improvements

- Use TOOLCHAIN rather than CC in the configuration
- Embed a rumprun-specific symbol into the intermediate link output,
this is used by rumpbake to check that the user has passed a suitable
relocatable object. (And is also there as an example of how to embed
extra information about the output for later use by rumpbake.)


# 16a57c40 28-May-2015 Martin Lucina <martin@lucina.net>

Fix C++ linkage


# 4ba7e728 27-May-2015 Martin Lucina <martin@lucina.net>

Introduce `rumpbake' for final linking of unikernels

As discussed on the mailing list:

- toolchain 'cc.in' produces an intermediate relocatable file, and
verifies the userspace link using a stub version of librumprun_base
and the minimal set of rump components.
- rumpbake is used to produce the final unikernel image, and supports
defining target configurations in rumpbake.conf.


# 7ea93b7d 20-Mar-2015 Antti Kantee <pooka@iki.fi>

use values from buildrump.sh toolchain-conf.mk


# 9c3b59ea 20-Mar-2015 Antti Kantee <pooka@iki.fi>

readability improvements

no functional change


# 4345c0c4 20-Mar-2015 Antti Kantee <pooka@iki.fi>

run toolchain bits specified to buildrump.sh


# 2ef91a92 06-Mar-2015 Antti Kantee <pooka@iki.fi>

platform-independence changes for app-tools


# 4840185f 06-Mar-2015 Antti Kantee <pooka@iki.fi>

seed platform-independent app-tools with the platform/xen versions