Rui Ueyama
02fa969295
Place .ctors and .dtors into .init_array and .fini_array
...
This change is needed to build Gentoo's dev-lang/gprolog-1.4.5,
which is the GNU Forth package. GNU Forth creates ELF objects
itself, and it still uses .ctors and .dtors as opposed to .init_array
and .fini_array.
2021-05-30 22:05:07 +09:00
Rui Ueyama
ed98211a24
Allow to refer unversioned symbol within an object file
...
Previously, mold couldn't handle an object file which contains
versioned symbol `foo@@SOME_VERSION` that also has an undefined
symbol `foo`. Now, `foo` is resolved to `foo@@SOME_VERSION`.
This change is required to build Gentoo's media-libs/alsa-lib-1.2.3.2-r1
package.
2021-05-30 18:03:21 +09:00
Rui Ueyama
aeecf2cba6
Ignore symbol versions when creating executables
...
This is needed for Gentoo's dev-libs/libaio-0.3.112 package.
2021-05-30 13:33:05 +09:00
Rui Ueyama
a2017e5d3a
Skip incompatible library files
...
This change is required to build Gentoo's net-libs/libtorrent-0.13.8-r1
package.
2021-05-29 20:47:16 +09:00
Rui Ueyama
60fee59742
Ignore --no-undefined-version
...
Gentoo's sys-boot/efibootmgr package uses this flag.
2021-05-29 17:07:54 +09:00
Rui Ueyama
3cfbc0d66c
Parallelize tests
2021-05-29 16:05:38 +09:00
Rui Ueyama
c805f7c087
Fix broken tests
2021-05-29 14:20:56 +09:00
Rui Ueyama
fbed89948c
Add -R as an alias for -rpath
...
This change is required to build Gentoo dev-erlang/stringprep package.
2021-05-29 13:42:10 +09:00
Rui Ueyama
6b10fbd834
Add end, etext and edata symbols
2021-05-29 02:07:46 +09:00
Rui Ueyama
8fe15c8dc8
Make linker-synthesized symbols to overwrite other symbols
2021-05-29 00:31:40 +09:00
Rui Ueyama
83c47216d1
Sort options alphabetically
2021-05-28 12:38:31 +09:00
Rui Ueyama
668b8cce42
Improve Gentoo test script
2021-05-27 19:38:34 +09:00
Rui Ueyama
215e7eda0a
Rename GitHub workflow name
2021-05-27 16:25:59 +09:00
Rui Ueyama
de7ba9014f
Add "GNU gold" to the --version string
...
The configure script in Gentoo's dev-libs/jansson-2.13.1-r1 package
treats mold 0.1.1 as GNU ld 0.1.1, which is from 1980s if existed.
Adding "GNU gold" to the help message solves the nasty issue, as the
configure script considers any version of GNU gold supports modern
features.
2021-05-27 15:24:30 +09:00
Rui Ueyama
a5294e88e2
Improve Gentoo test script
2021-05-27 12:12:08 +09:00
Rui Ueyama
310980fb7e
Add --retain-symbols-file
2021-05-27 00:31:08 +09:00
Rui Ueyama
ca926e0ad9
Improve test script
2021-05-26 22:36:50 +09:00
Rui Ueyama
a4b23c7df5
Update a comment
2021-05-26 17:26:53 +09:00
Rui Ueyama
c58071ff1c
Ignore -nostdlib
2021-05-26 17:18:26 +09:00
Rui Ueyama
a26586138e
Fix the --help message
2021-05-26 01:31:17 +09:00
Rui Ueyama
be34b9c26f
Remove an existing file if it is not statically-linked
2021-05-25 15:49:42 +09:00
Rui Ueyama
d00b65d0de
Add strings to the --help message for autoconf
...
Gentoo's app-emulation/hercules package contains a configure script
that recognizes "supported targets" and "supported emulations" in
the --help message. Without them, mold is recognized as a linker that
does not support dynamic linking.
2021-05-25 15:48:25 +09:00
Rui Ueyama
712eab03d8
Add a script to build programs with mold using Docker
2021-05-25 15:41:51 +09:00
Rui Ueyama
1727e5bba2
Update man page
2021-05-24 14:43:59 +09:00
Rui Ueyama
3e7d81f0fc
Limit make parallelism
2021-05-23 18:32:44 +09:00
Rui Ueyama
ec6e873329
Clean a temporary directory before running tests
2021-05-23 18:23:27 +09:00
Rui Ueyama
8dd0accc89
Do not exit immediately on --version
2021-05-23 18:22:20 +09:00
Rui Ueyama
3fab4ce3d2
Add missing dependencies
2021-05-23 16:20:55 +09:00
Rui Ueyama
729cfced1c
Compile in parallel
2021-05-23 16:00:43 +09:00
Rui Ueyama
1e9f4abf33
Fix CI
2021-05-23 15:59:05 +09:00
Rui Ueyama
83026471f9
Update man page
2021-05-23 15:57:08 +09:00
Rui Ueyama
17c4e788e6
Create c-cpp.yml
2021-05-23 15:54:49 +09:00
Rui Ueyama
9ec590f4e2
Update man page
2021-05-23 13:03:38 +09:00
Rui Ueyama
9fcee2d5cf
Simplify
2021-05-22 11:39:42 +09:00
Rui Ueyama
a0a94f4637
Add -wrap option
2021-05-22 01:54:08 +09:00
Rui Ueyama
4d2e97e4dc
Update man page
2021-05-22 00:57:23 +09:00
Rui Ueyama
b9ab55dfa7
Add --image-base
2021-05-21 18:37:38 +09:00
Rui Ueyama
c4caec5bd5
Move .text.{hot,unknown,unlikely,startup,exit}. to a separate segment
2021-05-21 16:48:32 +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
a69f4c8b60
Exit immediately if a command fails
2021-05-21 12:50:11 +09:00
Rui Ueyama
ef0ebc0e93
Accept "tests" and "check" as aliases for "test"
2021-05-21 12:48:52 +09:00
Rui Ueyama
99abd52d6e
Fix a broken test
2021-05-21 12:43:34 +09:00
Rui Ueyama
eb3cd2386a
Update README
2021-05-21 12:38:16 +09:00
Rui Ueyama
b100f6a486
Add "mold: " prefix for all error and warning messages
2021-05-21 09:25:42 +09:00
Rui Ueyama
eb78d185f1
Automatically check out mimalloc repo
2021-05-21 09:25:42 +09:00
Rui Ueyama
513289582e
Fix an assertion
2021-05-20 15:12:46 +09:00
Rui Ueyama
d01fbc4b2e
Simplify
2021-05-20 15:02:13 +09:00
Rui Ueyama
02e6c6ab5d
Make -run to intercept not only ld but also ld.lld and ld.gold
2021-05-20 14:14:35 +09:00