- Mar 16, 2017
-
-
George Rimar authored
llvm-svn: 297941
-
George Rimar authored
llvm-svn: 297939
-
George Rimar authored
llvm-svn: 297938
-
George Rimar authored
llvm-svn: 297937
-
George Rimar authored
I suppose it is the reason of BB fail: http://lab.llvm.org:8011/builders/clang-cmake-aarch64-lld/builds/921 https://bugs.llvm.org/show_bug.cgi?id=32167 llvm-svn: 297933
-
- Mar 15, 2017
-
-
George Rimar authored
Suggested by Rui Ueyama, also groups member variables in a single place, while I am here. llvm-svn: 297850
-
George Rimar authored
Became possible after r297844 llvm-svn: 297848
-
George Rimar authored
Patch splits In<ELFT> into 2 classes: one for non-templated sections, second contains ELFT templated ones. That allows to code that was detemplated to access non-templated sections freely, and should open road for futher detemplation proccess. Differential revision: https://reviews.llvm.org/D30939 llvm-svn: 297844
-
Rafael Espindola authored
llvm-svn: 297831
-
Rafael Espindola authored
llvm-svn: 297829
-
George Rimar authored
After introducing Config->is64Bit() and recent changes in LinkerScriptBase, some sections can be detemplated trivially. This is one of such cases. llvm-svn: 297825
-
George Rimar authored
StringTableSection was <ELFT> templated previously, It disallow to de-template code that uses it, for example LinkerScript<ELFT>::discard uses it as: if (S == In<ELFT>::ShStrTab) error("discarding .shstrtab section is not allowed"); It seems we can try to detemplate some of synthetic sections and somehow make them available for non-templated calls. (move out of In<ELFT> struct probably). Differential revision: https://reviews.llvm.org/D30933 llvm-svn: 297815
-
George Rimar authored
That removes CopyRelSection class completely, making Bss/BssRelRo to be just regular synthetics. This is splitted from D30541 and polished. Difference from D30541 that all logic of SharedSymbol converting to DefinedRegular was removed for now and probably will be posted as separate patch. Differential revision: https://reviews.llvm.org/D30892 llvm-svn: 297814
-
George Rimar authored
Patch introduces Config->is64Bit() and with help of that detemplates GotPltSection and IgotPltSection sections Differential revision: https://reviews.llvm.org/D30944 llvm-svn: 297813
-
Petr Hosek authored
This also requires postponing the assignment the assignment of symbols defined in input linker scripts since those can refer to output sections and in case we don't have a SECTIONS command, we need to wait until all output sections have been created and assigned addresses. Differential Revision: https://reviews.llvm.org/D30851 llvm-svn: 297802
-
- Mar 14, 2017
-
-
Rafael Espindola authored
Being passed -z notext is a pretty strong indication that the user is OK with text relocations. This is not the same behavior as bfd, but bfd defaults to -z notext, so it has to try to avoid text relocations and use them as a last resort. llvm-svn: 297789
-
George Rimar authored
That moves all members that s possible to move for now (all which does not depend on ELFT templating). After that change LinkerScript contains only 8 methods in total, and I believe it is possible to move them all after tweaking other parts of linker. And we will be able to have single class for linkerscript at the end. llvm-svn: 297735
-
George Rimar authored
llvm-svn: 297734
-
George Rimar authored
llvm-svn: 297732
-
George Rimar authored
It does not use ELFT templates so can be non-virtual. llvm-svn: 297727
-
George Rimar authored
It does not use ELFT templates so can be non-virtual. llvm-svn: 297725
-
George Rimar authored
That makes it not dependent on virtual call, keeping logic the same. llvm-svn: 297723
-
George Rimar authored
One more step to combine LinkerScript and LinkerScriptBase. llvm-svn: 297722
-
George Rimar authored
OutputSectionFactory has no ELFT templates anymore. llvm-svn: 297720
-
George Rimar authored
llvm-svn: 297719
-
George Rimar authored
llvm-svn: 297718
-
George Rimar authored
llvm-svn: 297717
-
George Rimar authored
We can move all not templated functionality to LinkerScriptBase. Patch do that for hasPhdrsCommands() and shows how it helps to detemplate things in other places. Probably we should be able to merge these 2 classes into single one after such steps. Even if not, it still looks as reasonable cleanup for me. Differential revision: https://reviews.llvm.org/D30895 llvm-svn: 297714
-
Eugene Leviant authored
Differential revision: https://reviews.llvm.org/D30832 llvm-svn: 297713
-
Eugene Leviant authored
lld crashes when .eh_frame or .eh_frame_hdr section is discarded in linker script and there is no PHDRS directive. Differential revision: https://reviews.llvm.org/D30885 llvm-svn: 297712
-
Eugene Leviant authored
Synthetic sections don't belong to any input file, but still they are input sections. Whenever problem occurs with relocations in these sections lld crashes in error reporting, trying to print input file name. Differential revision: https://reviews.llvm.org/D30889 llvm-svn: 297711
-
Rui Ueyama authored
llvm-svn: 297687
-
Rui Ueyama authored
llvm-svn: 297686
-
- Mar 13, 2017
-
-
Rui Ueyama authored
llvm-svn: 297677
-
Rui Ueyama authored
Patch from James Henderson. If a user has a long link, e.g. due to a large LTO link, they do not wish to run it and find that it failed because there was a mistake in their command-line, after they waited for some significant amount of time. This change adds some basic checking of the linker output file path, which is run shortly after parsing the command-line and linker script. An error is emitted if LLD cannot write to the specified path. Differential Revision: https://reviews.llvm.org/D30449 llvm-svn: 297645
-
Peter Collingbourne authored
Fix a bug introduced in r297313 which caused them to resolve to the end of the ELF header in PIEs and DSOs. Differential Revision: https://reviews.llvm.org/D30843 llvm-svn: 297638
-
George Rimar authored
llvm-svn: 297622
-
- Mar 10, 2017
-
-
Petr Hosek authored
Differential Revision: https://reviews.llvm.org/D30628 llvm-svn: 297525
-
Rui Ueyama authored
Options can start with `-` or `--` unless they start with "o". Any option that starts with `-o` should be interpreted as an output file name. This is a quote from the GNU ld man page. Note -- there is one exception to this rule. Multiple letter options that start with a lower case 'o' can only be preceded by two dashes. This is to reduce confusion with the -o option. So for example -omagic sets the output file name to magic whereas --omagic sets the NMAGIC flag on the output. We didn't handle that properly before. llvm-svn: 297508
-
Petr Hosek authored
Using .eh_frame input section pattern in linker script currently causes a crash; this is because .eh_frame input sections require special handling since they're all combined into a synthetic section rather than regular output section. Differential Revision: https://reviews.llvm.org/D30627 llvm-svn: 297501
-