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