1
1
mirror of https://github.com/rui314/mold.git synced 2024-11-11 16:58:12 +03:00
Commit Graph

2306 Commits

Author SHA1 Message Date
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