Commit graph

6756 commits

Author SHA1 Message Date
Cristiano Giuffrida
8d9b87e365 kernel: Add bitcode support. 2014-07-28 17:06:13 +02:00
Cristiano Giuffrida
dea274570b llvm: Add SERIALOUT option to clientctl script. 2014-07-28 17:06:13 +02:00
Koustubha Bhat
98141c6587 build.llvm: including configure.llvm.inc must be optional 2014-07-28 17:06:13 +02:00
Cristiano Giuffrida
bf1ab51c95 llvm: Use a separate common.overrides file for MINIX. 2014-07-28 17:06:12 +02:00
Cristiano Giuffrida
646a6b144b llvm: Fix rc script. 2014-07-28 17:06:12 +02:00
Cristiano Giuffrida
5c95bc4d9f llvm: Add clientctl actions for external disk support. 2014-07-28 17:06:11 +02:00
Cristiano Giuffrida
3bfef65a9a releasetools: Add rc.local support when building x86 images. 2014-07-28 17:06:11 +02:00
Cristiano Giuffrida
0810704c3d llvm: Preserve default OPTFLAGS when adding instrumentation. 2014-07-28 17:06:10 +02:00
Cristiano Giuffrida
5119c2fe3a llvm: Use default LLVMPREFIX when building passes. 2014-07-28 17:06:10 +02:00
Erik van der Kouwe
ca39637dcc LLVM clientctl: activate the KVM module only if available 2014-07-28 17:06:10 +02:00
Erik van der Kouwe
d7b27ed4f9 Fix LLVM clientctl: if the kvm command is not available, just use QEMU directly 2014-07-28 17:06:09 +02:00
Erik van der Kouwe
193bd04207 configure.llvm: add INTERACTIVE environment variable which can be set to no to prevent questions from being asked 2014-07-28 17:06:09 +02:00
Cristiano Giuffrida
d27de61ef2 llvm: Fix llvm-apps bridging. 2014-07-28 17:06:08 +02:00
Cristiano Giuffrida
07ae148a06 llvm: serverctl is now clientctl. 2014-07-28 17:06:08 +02:00
Cristiano Giuffrida
635e44315c llvm: Always build memory last. 2014-07-28 17:06:08 +02:00
Cristiano Giuffrida
8eb30202e6 llvm: Add the serverctl script. 2014-07-28 17:06:07 +02:00
Cristiano Giuffrida
4ddc42d97a llvm: Use common.overrides* files the llvm-apps way. 2014-07-28 17:06:07 +02:00
Cristiano Giuffrida
d9cd49c332 sef: Add fault injection (and EDFI) support. 2014-07-28 17:06:06 +02:00
Cristiano Giuffrida
9f6977d22d llvm: Split BITCODE_LD_FLAGS
Split across the two linking steps for instrumentation purposes.
2014-07-28 17:06:06 +02:00
Cristiano Giuffrida
79f9fd0612 llvm: Readd mistakenly deleted minix.inc. 2014-07-28 17:06:06 +02:00
Cristiano Giuffrida
c2a6ec6824 llvm: A few bitcode-related fixes. 2014-07-28 17:06:05 +02:00
Cristiano Giuffrida
76c4605bfe llvm: Remove no longer needed SLOPPY_FLIST option. 2014-07-28 17:06:05 +02:00
Cristiano Giuffrida
0e560ca0c8 llvm: Avoid versioning configuration files directly. 2014-07-28 17:06:04 +02:00
Koustubha Bhat
2d00147b3f CREATE_IMAGE_ONLY option added to releasetools/x86_hdimage.sh 2014-07-28 17:06:04 +02:00
Koustubha Bhat
dd85959391 LLVM Hello pass: inserts printf statement in main() method. 2014-07-28 17:06:04 +02:00
Koustubha Bhat
5ba302fdea Bridging Minix & llvm-apps repos for instrumentating Minix
Allows instrumentation of Minix components using LLVM passes from
"llvm-apps" repository

In addition, the change does the following:
 1. Move releasetools/generate_gold_plugin.sh to minix/llvm
 2. Move external/bsd/llvm/passes to minix/llvm/passes
 3. libLTO.so, LLVMgold.so and WeakAliasModuleOverride.so files
    now get installed in minix/llvm/bin
2014-07-28 17:06:03 +02:00
Ben Gras
33c4e94990 Empty libgcc_s.
This library is built just so that something is present in
/usr/lib/libgcc_s.so.1.  This is needed for dynamically programs built
with gcc, which might reference that library at runtime (i.e. all pkgsrc
packages). The necessary symbols are in libc however, so when built on a
clang-only system, so an empty library is a working stopgap.
2014-07-28 17:06:03 +02:00
Lionel Sambuc
ac74a77a40 Remove obsolete commands/cpp
Change-Id: Ib5335286bb6f1895f9c6006aeee8828bc9f58a45
2014-07-28 17:06:02 +02:00
Lionel Sambuc
4359ff87e0 Replace cc, c++ & cpp with symlinks
In case of installation of both clang and GCC, we want to be able to
switch which one is the default by adapting the cc, c++ & cpp symlinks.

The default behaviour implemented here is to prefer clang over gcc if
they are both installed.

Change-Id: Ic14720cd876d2bf934d345a955cb5789378209e6
2014-07-28 17:06:02 +02:00
Lionel Sambuc
b811a43401 default CC to clang
Change-Id: I5a4e6bfebd0b283f8f025fa91d27b1ac832f7b81
2014-07-28 17:06:01 +02:00
Ben Gras
b029fb598a new libunwind, updated to netbsd b1f513eedd
existing libunwind used '0' in lsda_encoding as 'not present,'
whereas that is a valid encoding and does occur and would be
ignored. a missing encoding is actually 0xff.

The commit that addresses this is:

commit 8d4b51028d1a12b58d616f4b605254a877caafcf
Author: joerg <joerg>
Date:   Tue Mar 11 23:52:17 2014 +0000

    0 is a valid LSDA encoding and can be seen in statically linked
    programs. Initialize lsdaEncoding to DW_EH_PE_omit and check for that
    value to decide whether a value should be decoded.

more bugfixes are necessary. this update is up to:

commit b1f513eedd332426d88acbb118b6e9070966dcb9
Author: joerg <joerg>
Date:   Wed May 14 22:13:36 2014 +0000

    Lazy VFP processing works a lot better if the functions contain a return
    instruction.
2014-07-28 17:06:01 +02:00
Lionel Sambuc
472758f313 Importing sys/libunwind for clang
Change-Id: Ib073b27e3b883837e682414ef7df56c84ca10816
2014-07-28 17:06:01 +02:00
Lionel Sambuc
fed2e50bd7 Compile gold as a tool on MINIX/llvm-only system
This patch is mostly copy-past from answers found in:
  http://www.marshut.com/ikhnkn/compiling-gold-with-libc-and-stl-hash-string.html

This combines the first submitted patch, but applied on gold/gold.h
instead of gold/system.h, as well as the freebsd changes.
2014-07-28 17:06:00 +02:00
Lionel Sambuc
4684ddb6aa LLVM Minix changes
- import libcxx
 - reduce targets to the one when compiled as a tools

Change-Id: Iabb8427f80ff8e89463559a28bcb8b4f2bdbc496
2014-07-28 17:05:59 +02:00
Lionel Sambuc
fe5a129a88 I should not have been born.
This patch is a ugly, but a this moment I have no better alternatives to
offer.

 - Add a script to compile the llvm sources through the standard
   makefiles instead of the bsd build system. The produced gold plugin
   is then copied into the source tree and used from there by the BSD
   Makefiles.

Change-Id: I7fd7ad80be8efcedf27a047b872930ed602d7874
2014-07-28 17:05:58 +02:00
Lionel Sambuc
c03229e600 LLVM Passe which fixes weak aliases overriden from bitcode 2014-07-28 17:05:58 +02:00
Lionel Sambuc
f4a2713ac8 Importing netbsd clang -- pristine
Change-Id: Ia40e9ffdf29b5dab2f122f673ff6802a58bc690f
2014-07-28 17:05:57 +02:00
David van Moolenbroek
83a31a3592 Kernel: fix getrusage microsecond computation
Change-Id: I5e443ddbed1bcd49ed81721afda3aa3c1880ad52
2014-07-28 17:05:56 +02:00
David van Moolenbroek
87d31b0645 Correct a few library dependency tracking mistakes
Change-Id: I3d509db3946ca6c284be64c92c4cec313cc4ca1b
2014-07-28 17:05:56 +02:00
Zachary Storer
a8492e9397 Import NetBSD mv command.
Change-Id: I08cd4e866685080f7b4d617ee150f5b9d7626e7e
2014-07-28 17:05:55 +02:00
Jan Kobler
29fe671680 arm: clear highly mapped kernel bss
. added bss range values for the high (paged) kernel and
	  clear it in pre_init
	. this changes the meaning of the current _edata end _end in the
	  pre_init phase to mean: highly mapped bss; and the new symbols
	  _kern_unpaged_edata ... _kern_unpaged_edata to mean directly
	  mapped (pre_init) bss. This was previously _edata and _end.
	. added a sanity check in kmain (ben@)

The values can be verified by:

${CROSS_TOOLS}/arm-elf32-minix-objdump -xD ${OBJ}/kernel/kernel

Signed-off-by: Jan Kobler <eng1@koblersystems.de>
2014-07-28 17:05:55 +02:00
Ben Gras
f80046feea size_t declaration 2014-07-28 17:05:55 +02:00
Wojciech Zajac
78cd341562 Fixed usb_storage to support more USB sticks
More TEST UNIT READY calls, as some sticks seem to require them, while others are indifferent.

Mass storage 'reset recovery' is disabled by default, as it broke communication with some sticks.

Minor fixes.
2014-07-28 17:05:55 +02:00
Wojciech Zajac
3316064b29 USB bulk only transport 'reset recovery' added
Control URB formatting for mass storage driver was also fixed.
2014-07-28 17:05:55 +02:00
Wojciech Zajac
6763c425bb Corrected invalid URBs handling 2014-07-28 17:05:55 +02:00
Wojciech Zajac
e858b9b5e9 Make MUSB use 'interval' for bulk transfers 2014-07-28 17:05:54 +02:00
Wojciech Zajac
e0f92bef05 More endpoint descriptor data held by usb_storage
Makes usb_storage remember endpoint interval and other parameters, instead of endpoint number only.
2014-07-28 17:05:54 +02:00
Wojciech Zajac
d2cf1e60b4 Removed unused transfer flags for usb_storage 2014-07-28 17:05:54 +02:00
Wojciech Zajac
cbaad3ed4b Graceful exiting for USBD 2014-07-28 17:05:54 +02:00
Wojciech Zajac
7df0836d35 USBD return value for wrong URB submit 2014-07-28 17:05:54 +02:00