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
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.
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
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.
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
. 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>
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.
There was an off-by-one in the old MINIX-specific implementation,
which caused ttyname(3) to fail at random. Since we now have a working
devname(3), there is no need for MINIX-specific code anymore here.
Change-Id: I27d8b6c4f66c84f383156ed494b740d071af02a7
- Fix a bug where an FKEY_EVENT request would always return EINVAL
- Replace two manual usage of FKEY_EVENT messages by a call to
fkey_events which is mapped to fkey_ctl.
Change-Id: I7bc54cade45a29f14c89313b3ec4c28d81a4ec93
replace invocations of -Ttext=.. with --section-start=.text=.. for
gnu gold-ld. it was giving very weird results when given page-rounded
values. --section-start=.text=.. works for both bfd-ld and gold.