File tree Expand file tree Collapse file tree 2 files changed +5
-7
lines changed Expand file tree Collapse file tree 2 files changed +5
-7
lines changed Original file line number Diff line number Diff line change @@ -2993,7 +2993,7 @@ template <class ELFT> void LinkerDriver::link(opt::InputArgList &args) {
2993
2993
2994
2994
// ELF dependent libraries may have introduced new input files after LTO has
2995
2995
// completed. This is an error if the files haven't already been parsed, since
2996
- // it's no longer legal to change the symbol table by parsing them .
2996
+ // changing the symbol table could break the semantic assumptions of LTO .
2997
2997
auto newInputFiles = ArrayRef (ctx.driver .files ).slice (numInputFilesBeforeLTO);
2998
2998
if (!newInputFiles.empty ()) {
2999
2999
DenseSet<StringRef> oldFilenames;
Original file line number Diff line number Diff line change 1
- # REQUIRES: x86
1
+ # REQUIRES: aarch64
2
2
3
3
# RUN: rm -rf %t && split-file %s %t && cd %t
4
4
# RUN: llvm-mc -filetype=obj -triple=aarch64 -o deplibs.o deplibs.s
7
7
# RUN: llvm-ar rc libdeplibs.a deplibs.o
8
8
# RUN: llvm-ar rc libfoo.a foo.o
9
9
10
- ## LTO emits a libcall (`__aarch64_ldadd4_relax`) that is resolved using a
11
- ## library (libdeplibc.a) that contains a `.deplibs` section pointing to a file
12
- ## not yet added to the link .
13
-
10
+ ## LTO emits a libcall (__aarch64_ldadd4_relax) that is resolved using a
11
+ ## library (libdeplibs.a) that contains a .deplibs section pointing to a file
12
+ ## (libfoo.a) not yet added to the link .
14
13
# RUN: not ld.lld lto.o -u a -L. -ldeplibs 2 >&1 | FileCheck %s
15
14
# CHECK: error: input file 'foo.o' added after LTO
16
15
17
16
## Including the file before LTO prevents the issue.
18
-
19
17
# RUN: ld.lld lto.o -u a -L. -ldeplibs -lfoo
20
18
21
19
#--- foo.s
You can’t perform that action at this time.
0 commit comments