1
1
mirror of https://github.com/rui314/mold.git synced 2024-12-26 09:51:53 +03:00
Commit Graph

2383 Commits

Author SHA1 Message Date
Rui Ueyama
04f82b4b13 Fix Gentoo build script 2021-06-20 00:55:26 +09:00
Rui Ueyama
b21ade127c Simplify 2021-06-20 00:51:38 +09:00
Rui Ueyama
793136a8f0 Give common symbols in archive files higher priority
If an object file in an static archive contains a common symbol
that can be used to resolve an undefined symbol, mold now pulls
out that object file from the archive. Previously, we ignore such
common symbols.

Object files generated by a Fortran compiler often contain a lot of
common symbols, and this change makes a difference.

Fixes Gentoo's sci-astronomy/wcslib-7.3 package, which contains a
program written in Fortran.
2021-06-19 21:42:21 +09:00
Rui Ueyama
9febec6c69 Rename a function 2021-06-19 20:29:16 +09:00
Rui Ueyama
2a5a15c858 Support global functions as exception handlers
Fixes a crash while building Gentoo's dev-lang/luajit-2.0.5-r3 package.
2021-06-19 12:37:18 +09:00
Rui Ueyama
1d16374763 Fix a test 2021-06-19 12:34:20 +09:00
Rui Ueyama
a690a88db7 Improve Gentoo test script 2021-06-19 12:33:41 +09:00
Rui Ueyama
a0ecd0c8dc Add --unique=PATTERN
This is needed by Gentoo's sys-fabric/infinipath-psm-3.2 package.
2021-06-19 01:09:26 +09:00
Rui Ueyama
bd858faf94 Add --unresolved-symbols
This is needed by Gentoo's dev-libs/wayland-protocols-1.21 package.
2021-06-18 15:51:57 +09:00
Rui Ueyama
725834e0b1 Do not garbage-collect C-identifer sections
This is needed for Gentoo's sys-fs/udev-245.5-r1 package.
2021-06-18 12:57:12 +09:00
Rui Ueyama
37b88e3f5a Do not set executable bit for --relocatable outputs 2021-06-18 01:45:38 +09:00
Rui Ueyama
2203644a3b Fix section addresses
This is needed for Gentoo's net-libs/nodejs-14.16.1 package.
2021-06-17 23:48:31 +09:00
Rui Ueyama
8571ce7c97 Fix assertion error
This is needed for Gentoo's net-misc/nx-3.5.99.25 package.
2021-06-17 15:09:24 +09:00
Rui Ueyama
219e6c92c3 Always create a .dynsym and .dynstr
This is needed for Gentoo's app-benchmarks/cpuburn-1.4a-r3 package.
2021-06-17 14:18:44 +09:00
Rui Ueyama
e88dddb820 Add -z {text,notext,textoff] 2021-06-17 14:18:44 +09:00
Rui Ueyama
4e2b6fd315 Handle thin archives containing absolute paths 2021-06-17 14:18:44 +09:00
Rui Ueyama
22ca6bc288 Ignore --verbose 2021-06-17 14:18:44 +09:00
Rui Ueyama
f8359fdafd Handle STV_INTETRNAL as an alias to STV_HIDDEN
This is needed for Gentoo's media-libs/libuninameslist package.
2021-06-17 14:18:44 +09:00
Rui Ueyama
59e971b61f Ignore empty symbol version
This is needed for Gentoo's sys-fs/mhddfs packages.
2021-06-16 22:41:50 +09:00
Rui Ueyama
eb8358e5d6 Tweak job timeout 2021-06-16 20:39:27 +09:00
Rui Ueyama
e1a964acb2 Do not write duplicate entries to .dynsym
Fixes Gentoo's sys-libs/slang package.
2021-06-16 19:50:42 +09:00
Rui Ueyama
e7019ebf86 Add -z keep-text-section-prefix 2021-06-16 19:50:08 +09:00
Rui Ueyama
1317132548 Update man page 2021-06-15 17:33:03 +09:00
Rui Ueyama
0280c39bc8 Document --{warn,error}-unresolved-symbols 2021-06-15 17:03:24 +09:00
Rui Ueyama
faee02060d Improve test script 2021-06-15 14:41:33 +09:00
Rui Ueyama
a715197be4 Export more symbols from executable if they could overwrite dso syms 2021-06-15 01:47:53 +09:00
Rui Ueyama
9c784ce735 Update docker configs 2021-06-15 01:47:33 +09:00
Rui Ueyama
0aeb77f8e3 Extend timeout timer 2021-06-14 14:55:01 +09:00
Rui Ueyama
06eb4c0452 Embed mold command line to .comment only when MOLD_DEBUG is set 2021-06-14 13:49:58 +09:00
Rui Ueyama
bc2ece0474 Fix --relocatable 2021-06-14 13:48:26 +09:00
Rui Ueyama
333843a33d Add --warn-unresolved-symbols and --error-unresolved-symbols 2021-06-14 00:04:07 +09:00
Rui Ueyama
10993a3251 Fix --relocatable 2021-06-13 17:02:44 +09:00
Rui Ueyama
4f31c22fac Fix output section name 2021-06-13 16:51:48 +09:00
Rui Ueyama
919e8cbc62 Write addends to sections even for RELA-type relocs
This is for bug-compatibility. Go wrongly assume that addends are
written to sections.

Fixes https://github.com/rui314/mold/issues/45
2021-06-13 01:35:31 +09:00
Rui Ueyama
45ee501b4c Do not generate unnecessary copy relocations 2021-06-13 01:35:31 +09:00
Rui Ueyama
a1e0aa88fe Fix issues found by ASAN 2021-06-11 22:54:37 +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
882036a729 Update README 2021-06-10 15:50:44 +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
bb050128b3 Allow R_NONE in .rel.eh_frame 2021-06-08 23:36:19 +09:00
Rui Ueyama
c53a71ada3 Simplify 2021-06-08 13:42:40 +09:00
Rui Ueyama
8c75327817 Simplify
AFAIK, GOT entry size is always the same as the machine word size,
so remove E::got_size and use E::wordsize instead.
2021-06-08 00:01:55 +09:00
Rui Ueyama
9fc6050f41 Simplify 2021-06-07 23:36:05 +09:00
Rui Ueyama
98dbddaa77 Ignore .gnu.warning.* sections 2021-06-07 22:35:32 +09:00
Rui Ueyama
3324acafc5 Rename --icf to --icf=all for compatibility with lld and gold 2021-06-07 21:55:08 +09:00
Rui Ueyama
8bf21f9ea0 Report an error for unknown -z flags 2021-06-07 20:53:35 +09:00
Rui Ueyama
6d13fe2e7f Add -z muldefs as an alias to --allow-multiple-definition 2021-06-07 20:48:06 +09:00
Rui Ueyama
b9e1bd8117 Document --allow-multiple-definition option 2021-06-07 20:44:56 +09:00
Rui Ueyama
3f693a3d31 Remove unused #include 2021-06-07 19:44:10 +09:00