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

117 Commits

Author SHA1 Message Date
Rui Ueyama
042b14653e Do not update the man page for branches other than main 2024-03-16 09:18:48 +09:00
Rui Ueyama
c6e5e2c0a0 Dogfood setup-mold 2024-03-01 20:23:35 +09:00
Tal Zussman
e09b877146
Fix typos in ci.yml 2023-12-01 10:01:25 -05:00
Rui Ueyama
421cd1c3ca Revert "Attempt to fix CI"
This reverts commit 5e8729bd6f.
2023-12-01 10:26:10 +09:00
Rui Ueyama
5e8729bd6f Attempt to fix CI 2023-12-01 10:19:48 +09:00
Rui Ueyama
76d057a418 Archive entire build directory when CI fails 2023-11-30 19:34:08 +09:00
Rui Ueyama
02a7640047 Fix build artifact pathnames 2023-11-29 16:59:23 +09:00
Rui Ueyama
efb952ef12 Use the release version of setup-mold GitHub action 2023-11-19 10:32:51 +09:00
Rui Ueyama
a2b300b863 Fix CI 2023-11-17 19:12:19 +09:00
Rui Ueyama
2d8297a562 Fix CI 2023-11-17 18:22:16 +09:00
Rui Ueyama
deb7728b46 Fix CI 2023-11-17 18:08:13 +09:00
Rui Ueyama
bbd6d86af4 Fix CI 2023-11-17 17:57:59 +09:00
Rui Ueyama
b6361b8cad Refactor 2023-11-17 17:51:25 +09:00
Rui Ueyama
04fdae124f Refactor 2023-11-17 17:41:24 +09:00
Rui Ueyama
18212a21ab Refactor 2023-11-17 17:04:43 +09:00
Rui Ueyama
e13d28bfe6 Create non-x86 binaries on daily basis
Building non-native binaries using Qemu is extremely heavy.
It takes ~2 hours on a GitHub Actions runner. We don't want to
run it on each push.
2023-11-17 15:45:39 +09:00
Rui Ueyama
76ea83e791 Create binary tarballs for non-x86-46 targets 2023-11-17 14:15:04 +09:00
Rui Ueyama
55daf7385d Cache Docker images for GitHub Actions 2023-11-17 13:42:54 +09:00
Rui Ueyama
0e66e4b7e9 Create distribution tarballs for each commit 2023-11-16 22:54:38 +09:00
Rui Ueyama
25ce3738b9 Update workflow 2023-11-16 16:50:33 +09:00
Rui Ueyama
66d68c8a98 Auto-generate docs/mold.1 2023-11-16 16:15:28 +09:00
Rui Ueyama
8c35c80bb7 Enable qemu tests by default 2023-11-07 13:55:56 +09:00
Rui Ueyama
2ea08ac4b3 Revert "Enable to download build artifacts"
This reverts commit 82ace062db.
2023-10-02 19:58:37 +09:00
Rui Ueyama
82ace062db Enable to download build artifacts 2023-10-02 19:11:55 +09:00
Rui Ueyama
db5fa8a8cd Remove incomplete MIPS support
I made a fair amount of effort to try to support MIPS, but it turned out
that it is much harder than expected. I punted it instead of making
further efforts.

The problem is the MIPS ABI is hostile to the linker in the modern
environment. MIPS object files are still compiled for the small code
model in which GOT entries and data in the small data area are expected
to be accessible with a single machine instruction with a 16-bit
displacement. In other words, .got/.sdata/.sbss are expected to be
smaller than 64 KiB. This might have been a reasonable assumption in the
90s, but it's not suitable for modern applications that can be 1000x
larger than the binaries in the 90s.

MIPS requires the linker to implement tons of workarounds for its legacy
ABI assumptions. Our incomplete MIPS support can build binaries that
pass all our unit tests. However, it needed more effort to support
real-world programs that are larger than our test cases.

At this point, I don't think it is productive to implement workarounds
for the old ABI that is stuck in the 90s. It is honestly annoying to
think about workarounds for the code that is intentionally compiled to
be hostile to the linker. The situation is unfortunate, but if the
Open Source community is still serious about MIPS, they should improve
the ABI and the compiler instead of asking us to implement the legacy
ABI.

Closes https://github.com/rui314/mold/issues/1040
2023-09-04 13:12:03 +09:00
Rui Ueyama
86ab3890d6 Upgrade RV32 toolchain in CI 2023-08-11 15:05:51 +09:00
Rui Ueyama
ffb83247f4 Fix CI 2023-08-10 17:59:40 +09:00
Rui Ueyama
032931fa3b Enable LoongArch tests on CI 2023-08-10 16:41:08 +09:00
Rui Ueyama
6108e60936 Attempt to fix CI 2023-08-05 17:27:06 +09:00
Rui Ueyama
29dc0cf53f Initial MIPS64 support
Although incomplete, this implementation is capable of passing the
following tests:

  TRIPLE=mips64el-linux-gnuabi64 bash -x ../test/elf/hello-dynamic.sh
  TRIPLE=mips64-linux-gnuabi64 bash -x ../test/elf/hello-dynamic.sh
2023-07-14 15:11:53 +09:00
Rui Ueyama
325d12d169 Upload test artifacts only on test failure 2023-03-15 08:32:51 +08:00
Rui Ueyama
305153b9c7 Archive test results 2023-03-14 19:22:56 +08:00
Rui Ueyama
c4722fe5ae Build Linux binaries on GitHub Actions 2023-03-05 14:46:32 +08:00
Yang Liu
8c2ccd2f55 [CI] Use clang++-12 to suppress warnings 2023-02-11 15:00:08 +08:00
Rui Ueyama
651adad5f2 Support 32-bit PowerPC ABI 2022-12-31 17:56:37 +08:00
Rui Ueyama
6231510794 Support DEC Alpha 2022-12-28 13:57:00 +08:00
Rui Ueyama
352c086047 Refactor 2022-12-28 12:52:41 +08:00
Rui Ueyama
21855a194c Attempt to fix CI 2022-12-27 10:46:29 +08:00
Rui Ueyama
1283061d2b Remove CI logging 2022-12-23 14:38:42 +08:00
Rui Ueyama
5e976dbf97 Add logging to CI 2022-12-23 11:36:45 +08:00
Rui Ueyama
998c7afb67 Do not run tests on macOS 2022-12-12 17:33:23 +08:00
Rui Ueyama
5fe60e3b6d [ELF][m68k] Add initial m68k support 2022-10-30 11:10:14 +08:00
Rui Ueyama
5469f5ac1b Revert "Always enable assert()"
Turned out that what I wrote as a commit message for
800fcdc5d4 is wrong. mold is 5% slower
for linking clang with assertions enabled.
2022-10-22 16:24:22 +08:00
Rui Ueyama
068ce4654f Add a CI for a non-assert build
Even if we always enable assert(), we want code to be able to compile
with assert() being expanded to a null statement. I.e., we should not
write code that has side effect in assert().

In order to add a test case for it, I added a cmake option to force
disable assert().
2022-10-22 16:03:45 +08:00
Rui Ueyama
7db72a871c Remove Makefile
It's been deprecated for some time.
2022-10-22 14:40:47 +08:00
Tatsuyuki Ishi
bf2d6bda28 workflows: Disable PCH for the default configuration.
As stated in the comment, have at least one permutation that checks for missing
(implicit) header includes.

Signed-off-by: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
2022-10-17 17:03:32 +08:00
Martin Liska
38b2843f84 fix Github Actions warning:
Node.js 12 actions are deprecated. For more information see:
https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/
2022-10-15 10:24:18 +02:00
Rui Ueyama
ce12303229 Fix CI 2022-10-12 12:10:14 +08:00
Rui Ueyama
12ff7bb067 [ELF][PPC64V1] Enable QEMU tests on GitHub Actions
All tests now pass on my machine for ppc64v1 except a few disabled ones.
2022-10-11 13:24:24 +08:00
Rui Ueyama
e48b7e767b Refactor 2022-10-08 09:49:45 +08:00