1
1
mirror of https://github.com/rui314/mold.git synced 2024-10-04 16:48:04 +03:00
Commit Graph

2463 Commits

Author SHA1 Message Date
Rui Ueyama
d502b6ec60 Initial AARCH64 support 2021-07-03 20:48:38 +09:00
Rui Ueyama
546df46eaf Define AARCH64 type and other constants for ARM64 2021-07-03 19:58:46 +09:00
Rui Ueyama
fe3af50fb8 Fix comment 2021-07-03 18:32:43 +09:00
Rui Ueyama
6935272033 Create $PREFIX/bin if not exists 2021-07-03 15:07:26 +09:00
Rui Ueyama
3c992c02ea
Merge pull request #72 from nehaljwani/fix-pie-test
[tests] Fix pie test when cc isn't built with --enable-default-pie
2021-07-03 14:30:05 +09:00
Rui Ueyama
4c4bfca20e Make make clean to remove artifacts of vendored repos 2021-07-03 14:29:01 +09:00
Rui Ueyama
2abca8b5c1 Fix tests for non-Ubuntu-20 systems
Fixes https://github.com/rui314/mold/issues/67
2021-07-03 14:26:38 +09:00
Rui Ueyama
662e8aa60a Support R_386_TLS_IE relocation 2021-07-03 14:14:50 +09:00
Nehal J Wani
3208ceaac6
[tests] Fix pie test when cc isn't built with --enable-default-pie
mold: /__w/mold/mold/test/tmp/pie/a.o:(.text): R_X86_64_32 relocation
       against symbol `.rodata' can not be used; recompile with -fPIE
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Signed-off-by: Nehal J Wani <nehaljw.kkd1@gmail.com>
2021-07-03 01:05:28 -04:00
Rui Ueyama
c278c66e16
Merge pull request #70 from nehaljwani/gcc-11-fix
Fix compilation error with GCC 11
2021-07-03 12:52:21 +09:00
Nehal J Wani
a48eee9179
Fix compilation error with GCC 11
mold.h:128:19: error: explicit specialization of
  ‘template<class Key> class tbb::detail::d1::tbb_hash_compare’
  outside its namespace must use a nested-name-specifier [-fpermissive]
  128 | template<> struct tbb_hash_compare<std::string_view> {
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Nehal J Wani <nehaljw.kkd1@gmail.com>
2021-07-02 23:40:16 -04:00
Rui Ueyama
475fad3a78 Allow sysroot to be a relative path
Chromium cannot be built with out this patch.
2021-07-03 12:02:32 +09:00
Rui Ueyama
4749764e3e
Merge pull request #68 from nehaljwani/tbb-only
[oneTBB] build only required target(s)
2021-07-03 01:43:44 +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
2f681babf5 Do not attempt to call dlopen
Without this change, statically-linked mold executable crashes
on startup.
2021-07-03 00:08:47 +09: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
Rui Ueyama
a32c81f94c Merge commit 'c3c791efcb97384ae25bbdd8a165bbc7473598a8' as 'oneTBB' 2021-07-03 00:01:04 +09:00
Rui Ueyama
c3c791efcb Squashed 'oneTBB/' content from commit 261fe226
git-subtree-dir: oneTBB
git-subtree-split: 261fe22630bd61ec137b66f6dd4403ad7ab36a14
2021-07-03 00:01:04 +09:00
Rui Ueyama
d19c7dbafc Do not ignore oneTBB directory 2021-07-03 00:00:41 +09:00
Rui Ueyama
29a7d06dd4 Fix race condition 2021-07-01 23:10:00 +09:00
Rui Ueyama
cd55d22611
Merge pull request #64 from Logarithmus/fix-makefile
Makefile: add $(DESTDIR) to strip
2021-07-01 20:29:37 +09:00
Artur Sinila
5c846496a2
Makefile: add $(DESTDIR) to strip 2021-07-01 13:05:43 +03:00
Rui Ueyama
0fd62ce693 Fix sysroot handling
Fix https://github.com/rui314/mold/issues/59
2021-07-01 17:40:45 +09:00
Rui Ueyama
18156f3965 Do not set a variable instead of undefine it later 2021-07-01 10:38:30 +09:00
Rui Ueyama
4efc795520
Merge pull request #62 from Logarithmus/fix-makefile
Various fixes in Makefile
2021-07-01 10:05:14 +09:00
Rui Ueyama
9abfeee0e3 Split a function and add tests 2021-07-01 10:00:08 +09:00
Rui Ueyama
44bdbbb164
Merge pull request #61 from johejo/fix_dso_detection
Fix DSO detection for installed with PREFIX
2021-07-01 09:39:11 +09:00
Rui Ueyama
b044ac844c
Merge pull request #63 from Logarithmus/readme-gcc-guide
README.md: add guide to using mold with GCC via -B option
2021-07-01 09:38:34 +09:00
Rui Ueyama
34a75dee02 Update README
I recommend users use the latest release instead of git HEAD
because HEAD may be broken in a subtle way. Before a release,
I build all Gentoo packages using mold, but I don't do that for
every commit because it takes ~2 days.
2021-07-01 09:28:35 +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
Artur Sinila
aa7d0f5cca
README.md: add guide to using mold with GCC via -B option
Signed-off-by: Artur Sinila <freesoftware@logarithmus.dev>
2021-06-30 20:46:26 +03:00
Mitsuo Heijo
b6e97e5fb5 Fix DSO detection for installed with PREFIX
Signed-off-by: Mitsuo Heijo <mitsuo.heijo@gmail.com>
2021-07-01 01:48:39 +09:00
Rui Ueyama
6432114e2a Fix handling of --sysroot
Fixes https://github.com/rui314/mold/issues/59
2021-06-30 22:15:19 +09: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
782b7f9c55 Improve Gentoo test script 2021-06-29 21:41:30 +09:00
Rui Ueyama
6b7f7cd965 Allow R_NONE relocations against non-allocated sections
This is needed by Gentoo's virtual/dist-kernel package.
2021-06-29 21:37:43 +09:00
Rui Ueyama
989f69fdc5 Do not apply version scripts to DSO symbols
This is needed by Gentoo's dev-perl/Image-Imlib2-2.30.0-r1 package
because this fixes a mis-link issue of libbsd.
2021-06-27 21:44:42 +09:00
Rui Ueyama
27c0f9df16 Improve Gentoo test script 2021-06-27 17:48:38 +09:00
Rui Ueyama
5761dbc399 Fix a broken test 2021-06-27 17:03:59 +09:00
Rui Ueyama
4717afacf3 Add mimalloc as a git subtree instead of a submodule 2021-06-27 17:01:59 +09:00
Rui Ueyama
f0a11821a5 Merge commit 'f66a682401a2ab4544534574981e4c7f4d8c33fb' as 'mimalloc' 2021-06-27 16:59:21 +09:00
Rui Ueyama
f66a682401 Squashed 'mimalloc/' content from commit b19da8e
git-subtree-dir: mimalloc
git-subtree-split: b19da8e362acae8944c60a40cf5c40c8f5ebeb44
2021-06-27 16:59:21 +09:00
Rui Ueyama
ab8d3dd3f6 Remove a git submodule 2021-06-27 16:55:12 +09:00
Rui Ueyama
472ae01486 Refactor 2021-06-27 16:19:25 +09:00
Rui Ueyama
570a3556c5 Fix exported weak symbol
This is needed by Gentoo's app-admin/filebeat-7.9.3 package.
2021-06-27 12:37:14 +09:00
Rui Ueyama
d4e630221a Report an error if compiled on a big-endian machine 2021-06-26 15:25:09 +09:00
Rui Ueyama
4436e4a57d Improve error message for an attempt of LTO 2021-06-26 15:05:05 +09:00
Rui Ueyama
a0f7ee1e04 Sort 2021-06-26 14:11:46 +09:00