|
Revision tags: 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, working, 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 |
|
| #
1562e455 |
| 22-Feb-2021 |
James Henderson <james.henderson@sony.com> |
[llvm-objcopy][llvm-strip][test] Improve testing
This patch adds a number of new test cases that cover various llvm-objcopy and llvm-strip features that had missing test coverage of various descript
[llvm-objcopy][llvm-strip][test] Improve testing
This patch adds a number of new test cases that cover various llvm-objcopy and llvm-strip features that had missing test coverage of various descriptions: * --add-section - checked the shdr properties, not just the content. * Dedicated test case for --add-symbol when there are many sections. * Show that --change-start accepts negative values without overflow. This was previously present but got lost between review versions. * --dump-section - show that multiple sections can be dumped simultaneously to different files, and that an error is reported when a section cannot be found. * --globalize-symbol(s) - show that symbols that are not mentioned are not globalized, if they would otherwise be, and that missing symbols from the list do not cause problems. * --keep-global-symbol - show that the --regex option can be used in conjunction with this option. * --keep-symbol - show that the --regex option can be used in conjunction with this option. * --localize-symbol(s) - show that symbols that are not mentioned are not localized, if they would otherwise be, and that missing symbols from the list do not cause problems. * --prefix-alloc-sections - show the behaviour of an empty string argument and multiple arguments. * --prefix-symbols - show the behaviour of an empty string argument and multiple arguments. Also show the option applies to undefined symbols. * --redefine-symbol - show that symbols with no name can be renamed, that it is not an error if a symbol is not specified, and that the option doesn't chain (i.e. --redefine-sym a=b --redefine-sym b=c does not redefine a as c). * --rename-section - show that all section flags are preserved if none are specified. Also show that the option does not chain. * --set-section-alignment - show that only specified sections have their alignments changed. * --set-section-flags - show which section flags are preserved when this option is used. Also show that unspecified sections are not affected. * --preserve-dates - show that -p is an alias of --preserve-dates. * --strip-symbol - show that --regex works with this option for llvm-objcopy as well as llvm-strip. * --strip-unneeded-symbol(s) - show more clearly that needed symbols are not stripped even if requested by this option. * --allow-broken-links - show the sh_link of a symbol table is set to 0 when its string table has been removed when this option is specified. * --weaken-symbol(s) - show that symbols that are not mentioned are not weakened, if they would otherwise be, and that missing symbols from the list do not cause problems. * --wildcard - show the wildcard behaviour for several options that were previously unchecked.
Reviewed by: alexshap
Differential Revision: https://reviews.llvm.org/D97666
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, llvmorg-10.0.0-rc1 |
|
| #
55c81d42 |
| 22-Jan-2020 |
Fangrui Song <maskray@google.com> |
[test] Use yaml2obj -o %t instead of > %t
To improve consistency and avoid unneeded shell feature (output redirection).
While here, make other changes to improve consistency
--docnum 1 => --docnum
[test] Use yaml2obj -o %t instead of > %t
To improve consistency and avoid unneeded shell feature (output redirection).
While here, make other changes to improve consistency
--docnum 1 => --docnum=1 -docnum=x => --docnum=x
show more ...
|
|
Revision tags: 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, llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1 |
|
| #
6da44ad7 |
| 03-Apr-2019 |
George Rimar <grimar@accesssoftek.com> |
[yaml2obj][obj2yaml] - Change how symbol's binding is descibed when parsing/dumping.
Currently, YAML has the following syntax for describing the symbols:
Symbols: Local: LocalSymbol1: ...
[yaml2obj][obj2yaml] - Change how symbol's binding is descibed when parsing/dumping.
Currently, YAML has the following syntax for describing the symbols:
Symbols: Local: LocalSymbol1: ... LocalSymbol2: ... ... Global: GlobalSymbol1: ... Weak: ... GNUUnique:
I.e. symbols are grouped by their bindings. That is not very convenient, because:
It does not allow to set a custom binding, what can be useful for producing broken/special outputs for test cases. Adding a new binding would require to change a syntax (what we observed when added GNUUnique recently).
It does not allow to change the order of the symbols in .symtab/.dynsym, i.e. currently all Local symbols are placed first, then Global, Weak and GNUUnique are following, but we are not able to change the order.
It is not consistent. Binding is just one of the properties of the symbol, we do not group them by other properties.
It makes the code more complex that it can be. This patch shows it can be simplified with the change performed.
The patch changes the syntax to just:
Symbols: Symbol1: ... Symbol2: ... ...
With that, we are able to work with the binding field just like with any other symbol property.
Differential revision: https://reviews.llvm.org/D60122
llvm-svn: 357595
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 |
|
| #
e08fe35d |
| 08-Feb-2019 |
Eugene Leviant <eleviant@accesssoftek.com> |
[llvm-objcopy] Add few file processing directives
Differential revision: https://reviews.llvm.org/D57877
llvm-svn: 353521
|
|
Revision tags: llvmorg-8.0.0-rc2 |
|
| #
ef6eba24 |
| 06-Feb-2019 |
Eugene Leviant <eleviant@accesssoftek.com> |
Attempt to fix buildbot after r353289
llvm-svn: 353294
|
| #
f324f6dc |
| 06-Feb-2019 |
Eugene Leviant <eleviant@accesssoftek.com> |
[llvm-objcopy] Allow regular expressions in name comparison
Differential revision: https://reviews.llvm.org/D57517
llvm-svn: 353289
|
| #
bd7735f7 |
| 31-Jan-2019 |
Jordan Rupprecht <rupprecht@google.com> |
[llvm-objcopy] Skip --localize-symbol for undefined symbols
Summary: Include the symbol being defined in the list of requirements for using --localize-symbol.
This is used, for example, when someon
[llvm-objcopy] Skip --localize-symbol for undefined symbols
Summary: Include the symbol being defined in the list of requirements for using --localize-symbol.
This is used, for example, when someone is depending on two different projects that have the same (or close enough) method defined in each library, and using "-L sym" for a conflicting symbol in one of the libraries so that the definition from the other one is used. However, the library may have internal references to the symbol, which cause program crashes when those are used, i.e.:
``` $ cat foo.c int foo() { return 5; } $ cat bar.c int foo(); int bar() { return 2 * foo(); } $ cat foo2.c int foo() { /* Safer implementation */ return 42; } $ cat main.c int bar(); int main() { __builtin_printf("bar = %d\n", bar()); return 0; } $ ar rcs libfoo.a foo.o bar.o $ ar rcs libfoo2.a foo2.o # Picks the wrong foo() impl $ clang main.o -lfoo -lfoo2 -L. -o main # Picks the right foo() impl $ objcopy -L foo libfoo.a && clang main.o -lfoo -lfoo2 -L. -o main # Links somehow, but crashes at runtime $ llvm-objcopy -L foo libfoo.a && clang main.o -lfoo -lfoo2 -L. -o main ```
Reviewers: jhenderson, alexshap, jakehehrlich, espindola
Subscribers: emaste, arichardson
Differential Revision: https://reviews.llvm.org/D57417
llvm-svn: 352767
show more ...
|
|
Revision tags: llvmorg-8.0.0-rc1 |
|
| #
298ea3f5 |
| 11-Jan-2019 |
Jordan Rupprecht <rupprecht@google.com> |
[llvm-objcopy][NFC] Consistenly use two dashes for flags in tests.
Summary: As pointed out in D53667, our use of hyphens in flags can be inconsistent, mixing `-` with `--`. This change makes all lon
[llvm-objcopy][NFC] Consistenly use two dashes for flags in tests.
Summary: As pointed out in D53667, our use of hyphens in flags can be inconsistent, mixing `-` with `--`. This change makes all long style flags use `--`.
Automatically changed via:
``` find test/tools/llvm-objcopy/ELF -type f | xargs sed -i 's/ -\([a-zA-Z]\{3\}\)/ --\1/g' ```
Two false positives were manually fixed/reverted.
Reviewers: jhenderson, espindola, alexshap
Reviewed By: jhenderson
Subscribers: emaste, javed.absar, arichardson, fedor.sergeev, jakehehrlich, llvm-commits
Differential Revision: https://reviews.llvm.org/D56513
llvm-svn: 350944
show more ...
|
|
Revision tags: llvmorg-7.0.1, llvmorg-7.0.1-rc3 |
|
| #
6e4dc6f2 |
| 30-Nov-2018 |
Alexander Shaposhnikov <shal1t712@gmail.com> |
[llvm-objcopy] Move elf-specific tests into subfolder
In this diff the elf-specific tests are moved into the subfolder llvm-objcopy/ELF (the change was discussed in the comments on https://reviews.l
[llvm-objcopy] Move elf-specific tests into subfolder
In this diff the elf-specific tests are moved into the subfolder llvm-objcopy/ELF (the change was discussed in the comments on https://reviews.llvm.org/D54674). A separate code reivew wasn't sent for this change since Phabricator is failing to create such a large diff.
Test plan: make check-all make check-llvm-tools make check-llvm-tools-llvm-objcopy
llvm-svn: 347958
show more ...
|