The feature is documented as ----------------------------- The format of the dynamic list is the same as the version node without scope and node name. See *note VERSION:: for more information. -------------------------------- And indeed qt uses a dynamic list with an 'extern "C++"' in it. With this patch we support that The change to gc-sections-shared makes us match bfd. Just because we kept bar doesn't mean it has to be in the dynamic symbol table. The changes to invalid-dynamic-list.test and reproduce.s are because of the new parser. The changes to version-script.s are the only case where we change behavior with regards to bfd, but I would like to see a mix of --version-script and --dynamic-list used in the wild before complicating the code. llvm-svn: 289082
38 lines
1.4 KiB
Plaintext
38 lines
1.4 KiB
Plaintext
## Different "echo" commands on Windows interpret quoted strings and
|
|
## wildcards in similar but different way (On Windows, ARGV tokenization
|
|
## and wildcard expansion are not done by the shell but by each command.)
|
|
## Because of that reason, this test fails on some Windows environment.
|
|
## We can't write quoted strings that are interpreted the same way
|
|
## by all echo commands. So, we don't want to run this on Windows.
|
|
|
|
# REQUIRES: shell
|
|
|
|
# RUN: mkdir -p %t.dir
|
|
|
|
# RUN: echo foobar > %t1
|
|
# RUN: not ld.lld --dynamic-list %t1 2>&1 | FileCheck -check-prefix=ERR1 %s
|
|
# ERR1: {{.*}}:1: { expected, but got foobar
|
|
|
|
# RUN: echo "{ foobar;" > %t1
|
|
# RUN: not ld.lld --dynamic-list %t1 2>&1 | FileCheck -check-prefix=ERR2 %s
|
|
# ERR2: {{.*}}:1: unexpected EOF
|
|
|
|
## Missing ';' before '}'
|
|
# RUN: echo "{ foobar }" > %t1
|
|
# RUN: not ld.lld --dynamic-list %t1 2>&1 | FileCheck -check-prefix=ERR3 %s
|
|
# ERR3: {{.*}}:1: ; expected, but got }
|
|
|
|
## Missing final ';'
|
|
# RUN: echo "{ foobar; }" > %t1
|
|
# RUN: not ld.lld --dynamic-list %t1 2>&1 | FileCheck -check-prefix=ERR4 %s
|
|
# ERR4: {{.*}}:1: unexpected EOF
|
|
|
|
## Missing \" in foobar definition
|
|
# RUN echo "{ \"foobar; };" > %t1
|
|
# RUN: not ld.lld --dynamic-list %t1 2>&1 | FileCheck -check-prefix=ERR5 %s
|
|
# ERR5: {{.*}}:1: unexpected EOF
|
|
|
|
# RUN: echo "{ extern \"BOGUS\" { test }; };" > %t1
|
|
# RUN: not ld.lld --dynamic-list %t1 2>&1 | FileCheck -check-prefix=ERR6 %s
|
|
# ERR6: {{.*}}:1: Unknown language
|