1
1
mirror of https://github.com/rui314/mold.git synced 2024-09-21 18:08:01 +03:00
Commit Graph

156 Commits

Author SHA1 Message Date
Rui Ueyama
e855b90344 Show stacktrace on SEGV and assertion failure 2021-07-09 23:34:39 +09:00
Rui Ueyama
accf96877f Add a stub for AArch64
It can generate an executable, but generated executable won't run
correctly because we don't process relocations at all yet.
2021-07-03 21:39:44 +09:00
Rui Ueyama
d502b6ec60 Initial AARCH64 support 2021-07-03 20:48:38 +09:00
Rui Ueyama
6935272033 Create $PREFIX/bin if not exists 2021-07-03 15:07:26 +09:00
Rui Ueyama
4c4bfca20e Make make clean to remove artifacts of vendored repos 2021-07-03 14:29:01 +09:00
Nehal J Wani
9c541ad461
[oneTBB] build only required target(s)
The 'all' target builds tbbmalloc and tbbmalloc_proxy
which mold does not care about.

Signed-off-by: Nehal J Wani <nehaljw.kkd1@gmail.com>
2021-07-02 12:38:26 -04:00
Rui Ueyama
3e3d58b6f1 Static-link oneTBB by default
oneTBB API is changing rapidly, so even if a oneTBB is installed
into a system already, it is likely that that is not a compatible
version with mold. This makes program building unnecessarily hard.

This change intends to solve the problem once and for all by
including oneTBB as a subdirectory and static-link against it at
build-time.

oneTBB is released under the Apache License 2.0, which is compatible
with AGPL. Therefore, we can still distribute the binary of mold
under AGPL.

If you do not want to static-link oneTBB, pass `SYSTEM_TBB=1`
to `make`.

This change also ports mold from oneTBB v2020.3 to v2021.3.0.

Fixes https://github.com/rui314/mold/issues/66
2021-07-03 00:08:33 +09:00
Artur Sinila
5c846496a2
Makefile: add $(DESTDIR) to strip 2021-07-01 13:05:43 +03:00
Rui Ueyama
18156f3965 Do not set a variable instead of undefine it later 2021-07-01 10:38:30 +09:00
Artur Sinila
da619e8615
Various fixes in Makefile
Signed-off-by: Artur Sinila <freesoftware@logarithmus.dev>
2021-06-30 20:53:49 +03:00
Rui Ueyama
a89df30537
Merge pull request #57 from nehaljwani/mimalloc-static-only
[mimalloc] build only required target(s)
2021-06-30 08:18:32 +09:00
Rui Ueyama
9a09c777d9 Bump mold version to 0.9.1 2021-06-30 08:11:15 +09:00
Nehal J Wani
a1073e69b0
[mimalloc] build only required target(s)
The 'all' target builds the shared library as well as test binaries
which mold doesn't care about

Signed-off-by: Nehal J Wani <nehaljw.kkd1@gmail.com>
2021-06-29 16:34:46 -04:00
Rui Ueyama
4717afacf3 Add mimalloc as a git subtree instead of a submodule 2021-06-27 17:01:59 +09:00
Rui Ueyama
b21ade127c Simplify 2021-06-20 00:51:38 +09:00
Rui Ueyama
9cc309af75 Implement --relocatable
Fixes https://github.com/rui314/mold/issues/46
2021-06-11 21:57:43 +09:00
Rui Ueyama
3102ab867c Refactor 2021-06-11 02:12:19 +09:00
Rui Ueyama
cce738c9d5 Add mimalloc as a git submodule
This change adds mimalloc as a git submodule so that `make` doesn't
try to clone mimalloc repo. This change should allow building mold
with the nix package manager, which doesn't provide network access
while building.

This change may conflict with a local `mimalloc` directory. If you
already have checked out mold and `mimalloc` directory exists in the
mold directory, you may need to remove it by `rm -r mimalloc` before
running `make`.

Requested by David Yamnitsky.

Fixes https://github.com/rui314/mold/issues/50
2021-06-10 13:20:43 +09:00
Rui Ueyama
8219fdd688 Simplify input file priority
This change is required to build Gentoo's net-libs/libtorrent-0.13.8-r1
package with FEATURES=test, e.g.

  $ FEATURES=test emerge net-libs/libtorrent
2021-05-31 17:09:40 +09:00
Rui Ueyama
3cfbc0d66c Parallelize tests 2021-05-29 16:05:38 +09:00
Rui Ueyama
ec6e873329 Clean a temporary directory before running tests 2021-05-23 18:23:27 +09:00
Rui Ueyama
d279da3435 Enable -Wswitch 2021-05-21 16:06:47 +09:00
Rui Ueyama
17c191ccf2 Bump a verison number 2021-05-21 13:58:59 +09:00
Rui Ueyama
2e73024e18 Do not assume that the main directory is a git checkout 2021-05-21 13:58:59 +09:00
Rui Ueyama
ef0ebc0e93 Accept "tests" and "check" as aliases for "test" 2021-05-21 12:48:52 +09:00
Rui Ueyama
eb78d185f1 Automatically check out mimalloc repo 2021-05-21 09:25:42 +09:00
Rui Ueyama
ebe37ef642 Include a version number to the --version message 2021-05-18 21:55:10 +09:00
Rui Ueyama
0f6c9ca2b8 Fix a compiler warning 2021-05-18 20:16:12 +09:00
Rui Ueyama
0cdac81166 Remove debug info from installed binaries 2021-05-18 20:11:35 +09:00
Rui Ueyama
30eb2b74c8 Remove runtime dependency to libxxhash.so 2021-05-18 19:29:15 +09:00
Rui Ueyama
effadb0296 Update build procedure 2021-05-18 16:57:54 +09:00
Rui Ueyama
394805d67b Make "make ASAN=1" work 2021-05-17 23:34:01 +09:00
Rui Ueyama
f49cc3e089 Add "make uninstall" rule 2021-05-17 22:56:58 +09:00
Rui Ueyama
de4d1eb67c Allow mold to be installed to /usr/local instead of /usr 2021-05-17 21:47:51 +09:00
Rui Ueyama
346991c4f3 Ensure that a compressed man page does not exist 2021-05-17 21:09:07 +09:00
Rui Ueyama
8467684f97 Build mold as a static executable by default 2021-05-17 20:41:32 +09:00
Rui Ueyama
927882876c Do not call "mandb -q" 2021-05-17 15:39:35 +09:00
Rui Ueyama
9af37c2fb2 Install mold-wrapper.so to /usr/lib/mold 2021-05-14 21:59:47 +09:00
Rui Ueyama
f7bb70d950 Add make install rule 2021-05-14 20:41:21 +09:00
Rui Ueyama
d93ad61a60 Compress debug sections in parallel 2021-05-06 23:33:41 +09:00
Rui Ueyama
2bb0653afb Remove -march=native to be on the safe side 2021-04-26 14:25:41 +09:00
Rui Ueyama
c16b792e14 wip 2021-04-17 21:14:41 +09:00
Rui Ueyama
209744e606 Add tar.cc 2021-04-09 01:44:26 +09:00
Rui Ueyama
b488948499 wip 2021-04-07 18:52:38 +09:00
Rui Ueyama
48ccc2adde Make mold AddressSanitizer clean 2021-04-07 18:41:42 +09:00
Rui Ueyama
2e37f3c040 Add "make LTO=1" to enable LTO build 2021-04-05 22:51:15 +09:00
Rui Ueyama
a552711249 Make it possible to create a statically-linked mold executable 2021-04-03 17:37:07 +09:00
Rui Ueyama
b55d68365a wip 2021-04-01 00:52:10 +09:00
Rui Ueyama
3fcb758d1e wip 2021-03-30 23:53:04 +09:00
Rui Ueyama
b19a4873a4 Split input_sections.cc 2021-03-30 22:55:58 +09:00