|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2 |
|
| #
962b29d7 |
| 13-Feb-2021 |
Fangrui Song <[email protected]> |
ELFObjectWriter: Don't sort non-local symbols
As we don't sort local symbols, don't sort non-local symbols. This makes non-local symbols appear in their register order, which matches GNU as. The re
ELFObjectWriter: Don't sort non-local symbols
As we don't sort local symbols, don't sort non-local symbols. This makes non-local symbols appear in their register order, which matches GNU as. The register order is nice in that you can write tests with interleaved CHECK prefixes, e.g.
``` // CHECK: something about foo .globl foo foo: // CHECK: something about bar .globl bar bar: ```
With the lexicographical order, the user needs to place lexicographical smallest symbol first or keep CHECK prefixes in one place.
show more ...
|
|
Revision tags: llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2 |
|
| #
81cebfd0 |
| 13-Feb-2020 |
Fangrui Song <[email protected]> |
[ELF][test] Change -o %t to -o /dev/null if the output is not needed
|
|
Revision tags: llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4 |
|
| #
8f10a5f4 |
| 06-Sep-2019 |
Fangrui Song <[email protected]> |
[ELF][test] Simplify and reorganize tests
Add file-level comments Delete insignificant addresses to make them more tolerant to layout changes Simplify test output Delete simple Inputs/*.s files
Del
[ELF][test] Simplify and reorganize tests
Add file-level comments Delete insignificant addresses to make them more tolerant to layout changes Simplify test output Delete simple Inputs/*.s files
Delete version-script-copy-rel.s - covered by verdef-defaultver.s Delete version-wildcard.test - covered by version-script-glob.s
llvm-svn: 371213
show more ...
|
|
Revision tags: llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2 |
|
| #
8f6cf97b |
| 04-Aug-2019 |
Fangrui Song <[email protected]> |
[ELF][test] Delete redundant version-script-*.s tests
Delete version-script-missing.s: it is covered by version-script-noundef.s Delete version-script-anonymous-local.s: it is covered by version-scr
[ELF][test] Delete redundant version-script-*.s tests
Delete version-script-missing.s: it is covered by version-script-noundef.s Delete version-script-anonymous-local.s: it is covered by version-script-{glob,weak}.s etc Delete version-script-no-warn{,2}.s: add --fatal-warnings to some version-script.s commands instead
llvm-svn: 367778
show more ...
|
|
Revision tags: llvmorg-9.0.0-rc1, llvmorg-10-init |
|
| #
be827575 |
| 11-Jul-2019 |
Fangrui Song <[email protected]> |
[ELF] Warn rather than error when duplicate version assignments occur
In lvm2, libdevmapper.so is linked with a version script with duplicate version assignments:
DM_1_02_138 { global: ... dm_b
[ELF] Warn rather than error when duplicate version assignments occur
In lvm2, libdevmapper.so is linked with a version script with duplicate version assignments:
DM_1_02_138 { global: ... dm_bitset_parse_list; ... }; DM_1_02_129 { global: ... dm_bitset_parse_list; ... };
ld.bfd silently accepts this while gold issues a warning. We currently error, thus inhibit producing the executable. Change the error to warning to allow this case, and improve the message.
There are some cases where ld.bfd error `anonymous version tag cannot be combined with other version tags` but we just warn. It is probably OK for now.
Reviewed By: grimar, ruiu
Differential Revision: https://reviews.llvm.org/D64549
llvm-svn: 365759
show more ...
|
|
Revision tags: llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1 |
|
| #
b159906a |
| 01-May-2019 |
Fangrui Song <[email protected]> |
[test] Change llvm-readobj -long-option to --long-option or well-known short options. NFC
Also change some options that have different semantics (cause confusion) in llvm-readelf mode:
-s => -S -t
[test] Change llvm-readobj -long-option to --long-option or well-known short options. NFC
Also change some options that have different semantics (cause confusion) in llvm-readelf mode:
-s => -S -t => --symbols -sd => --section-data
llvm-svn: 359651
show more ...
|
|
Revision tags: llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3, llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2, llvmorg-8.0.0-rc1 |
|
| #
4ba1777a |
| 08-Jan-2019 |
James Henderson <[email protected]> |
[ELF] Remove checking for spurious '@' at the end of dynamic sym names
llvm-readobj currently has a bug (see PR40097) where it prints '@' at the end of unversioned dynamic symbols. This bug will be
[ELF] Remove checking for spurious '@' at the end of dynamic sym names
llvm-readobj currently has a bug (see PR40097) where it prints '@' at the end of unversioned dynamic symbols. This bug will be fixed in a separate later commit, but these tests need fixing first.
Reviewed by: ruiu, Higuoxing
Differential Revision: https://reviews.llvm.org/D56388
llvm-svn: 350614
show more ...
|
|
Revision tags: llvmorg-7.0.1, llvmorg-7.0.1-rc3, llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1, llvmorg-7.0.0, llvmorg-7.0.0-rc3, llvmorg-7.0.0-rc2, llvmorg-7.0.0-rc1 |
|
| #
40a9f225 |
| 02-Jul-2018 |
Fangrui Song <[email protected]> |
[ELF] Replace unused output filenames with /dev/null in tests
Post commit review at rLLD335992
llvm-svn: 336129
|
|
Revision tags: llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2, llvmorg-6.0.1-rc1, llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1 |
|
| #
ddb33c09 |
| 06-Mar-2018 |
Rafael Espindola <[email protected]> |
Improve duplicated version handling.
It looks like the problem that caused us to originally warn instead of error was that of a symbol being assigned to the same version twice.
Now we don't warn if
Improve duplicated version handling.
It looks like the problem that caused us to originally warn instead of error was that of a symbol being assigned to the same version twice.
Now we don't warn if a symbol is assigned to the same version twice, but error if it is assigned to multiple.
This fixes pr28342.
llvm-svn: 326813
show more ...
|
|
Revision tags: llvmorg-6.0.0, llvmorg-6.0.0-rc3, llvmorg-6.0.0-rc2, llvmorg-6.0.0-rc1 |
|
| #
892b1465 |
| 07-Dec-2017 |
Igor Kudrin <[email protected]> |
[ELF] Handle multiple "--version-script" options.
Both ld.bfd and ld.gold can handle this case.
Differential Revision: https://reviews.llvm.org/D40878
llvm-svn: 320006
|
|
Revision tags: llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2, llvmorg-5.0.1-rc1 |
|
| #
d46753e4 |
| 06-Oct-2017 |
George Rimar <[email protected]> |
[ELF] - Do --hash-style=both by default.
Its PR34712,
GNU linkers recently changed default values to "both" of "sysv". Patch do the same for all targets except MIPS, where .gnu.hash section is not
[ELF] - Do --hash-style=both by default.
Its PR34712,
GNU linkers recently changed default values to "both" of "sysv". Patch do the same for all targets except MIPS, where .gnu.hash section is not yet supported.
Code suggested by Rui Ueyama.
Differential revision: https://reviews.llvm.org/D38407
llvm-svn: 315051
show more ...
|
|
Revision tags: llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2, llvmorg-5.0.0-rc1, llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1, llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2 |
|
| #
4524268c |
| 03-Feb-2017 |
Rafael Espindola <[email protected]> |
Handle numbers followed by ":" in linker scripts.
This is a fix for Bugzilla 31813.
The problem is that the tokenizer does not create a separate token for ":" unless there's white space before it.
Handle numbers followed by ":" in linker scripts.
This is a fix for Bugzilla 31813.
The problem is that the tokenizer does not create a separate token for ":" unless there's white space before it. Changed it to always create a token for ":" and reworked some logic that relied on ":" being attached to some tokens like "global:" and "local:".
llvm-svn: 294006
show more ...
|
|
Revision tags: llvmorg-4.0.0-rc1 |
|
| #
d0ebd84c |
| 08-Dec-2016 |
Rafael Espindola <[email protected]> |
Change the implementation of --dynamic-list to use linker script parsing.
The feature is documented as ----------------------------- The format of the dynamic list is the same as the version node wi
Change the implementation of --dynamic-list to use linker script parsing.
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
show more ...
|
|
Revision tags: llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1 |
|
| #
8fd0196c |
| 23-Nov-2016 |
Ed Maste <[email protected]> |
lld: Default image base address to 0x200000 on x86-64
Align to the large page size (known as a superpage or huge page). FreeBSD automatically promotes large, superpage-aligned allocations.
Differen
lld: Default image base address to 0x200000 on x86-64
Align to the large page size (known as a superpage or huge page). FreeBSD automatically promotes large, superpage-aligned allocations.
Differential Revision: https://reviews.llvm.org/D27042
llvm-svn: 287782
show more ...
|
| #
aade0e29 |
| 17-Nov-2016 |
Rui Ueyama <[email protected]> |
Add single quotes to a warning message for consistency.
llvm-svn: 287197
|
| #
5fc84a18 |
| 01-Nov-2016 |
Rui Ueyama <[email protected]> |
Remove string table offsets from tests.
<N> where "foo (<N>)" is the offset of string "foo" in the string table.
llvm-svn: 285751
|
| #
a3b7546c |
| 07-Sep-2016 |
Rui Ueyama <[email protected]> |
Fix inconsistent indentation.
llvm-svn: 280860
|
| #
95769b4a |
| 31-Aug-2016 |
Rui Ueyama <[email protected]> |
Linker script: support VERSION command.
Summary: VERSION commands define symbol versions. The grammar of the commnad is as follows
VERSION { version-script-commands }
where version-script-comman
Linker script: support VERSION command.
Summary: VERSION commands define symbol versions. The grammar of the commnad is as follows
VERSION { version-script-commands }
where version-script-commands is
[ name ] { version-definitions }.
Note that we already support version-script-commands because it is being used for version script command.
This patch is based on George's patch https://reviews.llvm.org/D23609
Reviewers: grimar
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D24089
llvm-svn: 280284
show more ...
|
|
Revision tags: llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1 |
|
| #
2100aa08 |
| 28-Jun-2016 |
Rafael Espindola <[email protected]> |
Don't check the section index, it is not relevant for this test.
llvm-svn: 274070
|
| #
4fdc6485 |
| 28-Jun-2016 |
Davide Italiano <[email protected]> |
[ELF] Warn for duplicate symbols in version scripts instead of erroring out.
Emitting an error in this case breaks real-world application (e.g. libreoffice). See http://reviews.llvm.org/D21555 for c
[ELF] Warn for duplicate symbols in version scripts instead of erroring out.
Emitting an error in this case breaks real-world application (e.g. libreoffice). See http://reviews.llvm.org/D21555 for context.
Differential Revision: http://reviews.llvm.org/D21781
llvm-svn: 273989
show more ...
|
| #
50b80359 |
| 22-Jun-2016 |
George Rimar <[email protected]> |
[ELF] - Do not allow to mix global symbols versions.
For next version script: VER1{ global: a; };
VER2{ global: a; }; gold would produce warning like: "warning: using 'VER1' as version for
[ELF] - Do not allow to mix global symbols versions.
For next version script: VER1{ global: a; };
VER2{ global: a; }; gold would produce warning like: "warning: using 'VER1' as version for 'a' which is also named in version 'VER2' in script."
Documentation also says we do not want this duplications (https://people.freebsd.org/~deischen/symver/library_versioning.txt): "Note that you do not want to duplicate symbols in the map file. The .symver directives are all that is required to add compatibility symbols into old versions."
This patch restricts such mixing and makes lld to produce error in this case.
Differential revision: http://reviews.llvm.org/D21555
llvm-svn: 273396
show more ...
|
| #
d3566309 |
| 20-Jun-2016 |
George Rimar <[email protected]> |
[ELF] - Recommit r273143("[ELF] - Basic versioned symbols support implemented.")
With fix: -soname flag was not set in testcase. Hash calculated for base def was different on local and bot machines
[ELF] - Recommit r273143("[ELF] - Basic versioned symbols support implemented.")
With fix: -soname flag was not set in testcase. Hash calculated for base def was different on local and bot machines because filename fos used for calculating.
Initial commit message: Patch implements basic support of versioned symbols. There is no wildcards patterns matching except local: *; There is no support for hierarchies. There is no support for symbols overrides (@ vs @@ not handled).
This patch allows programs that using simple scripts to link and run.
Differential revision: http://reviews.llvm.org/D21018
llvm-svn: 273152
show more ...
|
| #
d03f9721 |
| 20-Jun-2016 |
George Rimar <[email protected]> |
Revert r273143 "[ELF] - Basic versioned symbols support implemented."
It broke buildbot: http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast
llvm-svn: 273146
|
| #
c31fee22 |
| 20-Jun-2016 |
George Rimar <[email protected]> |
[ELF] - Basic versioned symbols support implemented.
Patch implements basic support of versioned symbols. There is no wildcards patterns matching except local: *; There is no support for hierarchies
[ELF] - Basic versioned symbols support implemented.
Patch implements basic support of versioned symbols. There is no wildcards patterns matching except local: *; There is no support for hierarchies. There is no support for symbols overrides (@ vs @@ not handled).
This patch allows programs that using simple scripts to link and run.
Differential revision: http://reviews.llvm.org/D21018
llvm-svn: 273143
show more ...
|
| #
f70fb04e |
| 17-Jun-2016 |
Rafael Espindola <[email protected]> |
Make local: optional.
Doing that in an anonymous version is a bit silly, but this opens the way for supporting it in general.
Since we don't support actual versions, for now we just disable the ver
Make local: optional.
Doing that in an anonymous version is a bit silly, but this opens the way for supporting it in general.
Since we don't support actual versions, for now we just disable the version script if we detect that it is missing a local.
llvm-svn: 273000
show more ...
|