1
1
mirror of https://github.com/rui314/mold.git synced 2024-11-15 14:36:25 +03:00
mold/test
Rui Ueyama 475a250ad4 Do not promote unresolved weak undefs to dynamic symbols
Previously, we try to promote unresolved weak undefined symbols to
dynamic symbols so that they will get another chance to be resolved at
runtime. This is not always doable. Consider the following two cases:

 - There's a relocation that directly refers a weak undefined symbol

 - There's a relocation that is in a read-only section

In the former case, we need to create a copy relocation, but we can't
do that against a weak undef becasue a weak undef doesn't have the notion
of the symbol size.

In the latter case, we need to create a dynamic relocation, but such
dynamic relocation would fail at load-time when the runtime linker tries
to mutate the contents of a read-only section.

So, we had a logic to detect the above cases and promote weak undefs
only when they can be promoted. But the logic is not as robust as I
hoped. So, in this patch, I removed the logic and stop promoting weak
undefs.
2021-08-27 12:50:23 +09:00
..
aarch64-hello-static.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
allow-multiple-definition.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
ar-alignment.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
as-needed2.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
as-needed-weak.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
as-needed.sh Fix tests for AARCH63 2021-08-19 12:31:23 +00:00
auxiliary.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
basic.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
bsymbolic-functions.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
bsymbolic.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
build-id.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
canonical-plt.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
cmdline.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
comment.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
common-archive.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
common-ref.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
common.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
compress-debug-sections.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
compressed-debug-info.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
copyrel-protected.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
copyrel-relro.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
copyrel.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
ctors-dtors.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
defs.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
demangle.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
discard.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
dt-init.sh Use hyphen instead of underscore in filename 2021-07-26 21:34:04 +09:00
dt-needed.sh Use hyphen instead of underscore in filename 2021-07-26 21:34:04 +09:00
duplicate-error.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
dynamic-linker.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
dynamic.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
empty-file.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
empty-version.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
entry.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
exception.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
exclude-libs2.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
exclude-libs.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
execstack.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
export-dynamic.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
export-from-exe.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
fatal-warnings.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
filler.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
filter.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
func-addr.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
gc-sections.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
gnu-hash.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
gnu-warning.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
hello-dynamic.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
hello-static.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
help.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
i386-hello-dynamic.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
i386-hello-static.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
i386-mergeable-strings.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
i386-shared.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
i386-tls-gd.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
i386-tls-ld.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
i386-tlsdesc.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
icf.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
ifunc-dso.sh Fix CI 2021-08-23 18:40:05 +09:00
ifunc-dynamic.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
ifunc-export.sh Fix tests for AARCH63 2021-08-19 12:31:23 +00:00
ifunc-static.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
image-base.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
incompatible-libs.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
init-array-priorities.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
init-array.sh Fix tests for AARCH64 2021-08-20 09:48:10 +00:00
initfirst.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
interpose.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
link-order.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
linker-script2.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
linker-script3.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
linker-script4.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
linker-script.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
lto-gcc-error.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
lto-llvm-error.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
Makefile Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
many-sections.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
mergeable-strings.sh Fix tests for AARCH64 2021-08-20 09:48:10 +00:00
missing-but-ok.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
missing-error.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
mold-wrapper2.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
mold-wrapper.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
no-quick-exit.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
nocopyreloc.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
note-property.sh Fix tests for AARCH64 2021-08-20 09:48:10 +00:00
note.sh Fix tests for AARCH63 2021-08-19 12:31:23 +00:00
now.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
omagic.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
pie.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
plt-dso.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
plt.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
pltgot.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
preload.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
protected-dynsym.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
protected.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
push-pop-state.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
relax.sh Fix tests for AARCH64 2021-08-20 09:48:10 +00:00
reloc-overflow.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
reloc.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
relocatable-archive.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
relocatable.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
relro.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
repro.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
response-file.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
retain-symbols-file.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
rpath.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
run.sh Fix CI 2021-07-28 23:40:29 +09:00
section-alignment.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
section-name.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
shared.sh Fix tests for AARCH64 2021-08-20 09:48:10 +00:00
soname.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
spare-dynamic-tags.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
start-stop-symbol.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
static-archive.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
stdout.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
strip.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
symbol-version.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
symtab.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
synthetic-symbols.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
sysroot-linker-script.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
sysroot.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
thin-archive.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
tls-dso.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
tls-gd.sh Support TLSGD relocations for AArch64 2021-08-24 06:29:04 +00:00
tls-ld.sh Support TLSGD relocations for AArch64 2021-08-24 06:29:04 +00:00
tls-le.sh Support TLSGD relocations for AArch64 2021-08-24 06:29:04 +00:00
tls-nopic.sh Support TLSGD relocations for AArch64 2021-08-24 06:29:04 +00:00
tls-pic.sh Support TLSGD relocations for AArch64 2021-08-24 06:29:04 +00:00
tlsdesc-import.sh Fix TLSDESC relocations against imported symbols 2021-08-23 13:38:53 +09:00
tlsdesc-static.sh Fix TLSDESC relocations for statically-linked executables 2021-08-22 22:01:38 +09:00
tlsdesc.sh Implement TLSDESC relaxation for AArch64 2021-08-23 03:24:18 +00:00
trace-symbol.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
trace.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
undefined.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
unique.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
unresolved-symbols.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
verbose.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
version-script2.sh Fix test/nocopyreloc.sh for AARCH64 2021-08-22 10:33:38 +00:00
version-script3.sh Fix test/nocopyreloc.sh for AARCH64 2021-08-22 10:33:38 +00:00
version-script4.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
version-script5.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
version-script6.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
version-script.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
version.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
versioned-undef.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
warn-common.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
warn-unresolved-symbols.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
weak-export.sh Do not promote unresolved weak undefs to dynamic symbols 2021-08-27 12:50:23 +09:00
whole-archive.sh Fix tests for AArch64 2021-08-23 09:21:31 +00:00
wrap.sh Remove an argument from test scripts 2021-07-21 16:27:29 +09:00
z-nodump.sh Use hyphen instead of underscore in filename 2021-07-26 21:34:04 +09:00
z-origin.sh Use hyphen instead of underscore in filename 2021-07-26 21:34:04 +09:00
z-test.sh Fix tests for AARCH63 2021-08-19 12:31:23 +00:00