| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
| |
There seems to be no reason to keep st_size of undefined symbols.
This patch removes the member for it. This patch will change outputs
in cases that undefined symbols are copied to output, but I think
this is unimportant.
Differential Revision: http://reviews.llvm.org/D19574
llvm-svn: 267826
|
| |
|
|
| |
llvm-svn: 267822
|
| |
|
|
| |
llvm-svn: 267821
|
| |
|
|
|
|
|
| |
perl-5 uses the former, so provide an alias. Found while linking
the whole set of FreeBSD ports with lld.
llvm-svn: 267801
|
| |
|
|
|
|
|
|
| |
versioned DSOs.
Differential Revision: http://reviews.llvm.org/D19464
llvm-svn: 267775
|
| |
|
|
|
|
|
|
|
|
| |
It is now used only for relocations that only set the low bits inside a
page. Everything else is handled by getRelExpr.
I will send a another review renaming and better documenting
isRelRelative.
llvm-svn: 267705
|
| |
|
|
|
|
| |
That way we only need to subtract the offset is relocateOne.
llvm-svn: 267702
|
| |
|
|
|
|
| |
This simplifies the logic for computing the value of the toc base.
llvm-svn: 267701
|
| |
|
|
| |
llvm-svn: 267698
|
| |
|
|
| |
llvm-svn: 267685
|
| |
|
|
|
|
|
|
|
|
|
| |
System V ABI 4.1 specifies that program header's p_vaddr should equal p_offset, modulo p_align.
(https://docs.oracle.com/cd/E19683-01/816-1386/chapter6-83432/index.html).
It was possible to violate this using the linkerscript.
Patch fixes the issue.
Differential revision: http://reviews.llvm.org/D19416
llvm-svn: 267684
|
| |
|
|
| |
llvm-svn: 267673
|
| |
|
|
| |
llvm-svn: 267663
|
| |
|
|
|
|
|
| |
Since this semicolon existed in an early test file,
it has spread to many files.
llvm-svn: 267659
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D19566
llvm-svn: 267640
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The semantics of the -u flag are to load the lazy symbol named by the flag. We
were previously relying on this behavior falling out of symbol resolution
against a synthetic undefined symbol, but that didn't quite give us the
correct behavior, so we needed a flag to mark symbols created with -u so
we could treat them specially in the writer. However, it's simpler and less
error prone to implement the required behavior directly and remove the flag.
This fixes an issue where symbols loaded with -u would receive hidden
visibility even when the definition in an object file had wider visibility.
Differential Revision: http://reviews.llvm.org/D19560
llvm-svn: 267639
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D19490
llvm-svn: 267637
|
| |
|
|
|
|
|
| |
This lets Writer.cpp know that they are got relative, which will allow
further simplifications.
llvm-svn: 267613
|
| |
|
|
|
|
| |
Every caller was doing it.
llvm-svn: 267603
|
| |
|
|
| |
llvm-svn: 267602
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When --reproduce <path> is given, then we need to concatenate input
file paths to the given path to save input files to the directory.
Previously, path concatenation didn't handle Windows drive letters
so it could generate invalid paths such as "C:\D:\foo". It also didn't
handle ".." path components, so it could produce some bad paths
such as "foo/../../etc/passwd".
In this patch, Windows drive letters and ".." are removed before
concatenating paths.
Differential Revision: http://reviews.llvm.org/D19551
llvm-svn: 267600
|
| |
|
|
|
|
|
|
|
|
| |
Previously, the test didn't work on Windows because it tried to
concatenate two (possibly) absolute paths. If two paths are absolute
paths that have drive letters, then the result would become something
like C:\foo\D:\bar. That's not a valid path. I changed the test to
use relative paths.
llvm-svn: 267588
|
| |
|
|
| |
llvm-svn: 267569
|
| |
|
|
|
|
|
|
|
| |
We were only doing it for .so and --export-dynamic, but those are not
the only ways a symbol ends up in the dynamic symbol table.
Problem diagnostic and earlier patch version by Peter Collingbourne.
llvm-svn: 267568
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D19517
llvm-svn: 267566
|
| |
|
|
| |
llvm-svn: 267565
|
| |
|
|
|
|
| |
This matches the behavior of both gold and bfd.
llvm-svn: 267558
|
| |
|
|
|
|
|
| |
This remove a fixme, cleans up the weak undef interaction with archives and
lets us keep weak undefs still weak if they resolve to shared.
llvm-svn: 267555
|
| |
|
|
| |
llvm-svn: 267523
|
| |
|
|
| |
llvm-svn: 267505
|
| |
|
|
|
|
|
|
|
|
| |
--reproduce dumps the object files in a directory chosen
(preserving the file system layout) and the linker invocation
so that people can create an archive and upload for debugging.
Differential Revision: http://reviews.llvm.org/D19494
llvm-svn: 267497
|
| |
|
|
|
|
|
|
|
|
|
| |
MIPS is the only target requires GOT header. We already have MIPS
specific code in the `GotSection` class, so move MIPS GOT header
generation there and delete redundant stuff like `GotHeaderEntriesNum`
field and `writeGotHeader` method.
Differential Revision: http://reviews.llvm.org/D19465
llvm-svn: 267460
|
| |
|
|
| |
llvm-svn: 267409
|
| |
|
|
| |
llvm-svn: 267396
|
| |
|
|
| |
llvm-svn: 267394
|
| |
|
|
| |
llvm-svn: 267391
|
| |
|
|
|
|
|
|
| |
Patch adds support of <,>,!=,==,>=,<= operators.
Differential revision: http://reviews.llvm.org/D19419
llvm-svn: 267382
|
| |
|
|
| |
llvm-svn: 267381
|
| |
|
|
| |
llvm-svn: 267371
|
| |
|
|
|
|
| |
It turns out it's actually needed.
llvm-svn: 267358
|
| |
|
|
| |
llvm-svn: 267333
|
| |
|
|
| |
llvm-svn: 267327
|
| |
|
|
|
|
|
|
| |
non-DSOs.
Add a test for -Bsymbolic + undefined symbols.
llvm-svn: 267323
|
| |
|
|
| |
llvm-svn: 267316
|
| |
|
|
| |
llvm-svn: 267315
|
| |
|
|
|
|
|
|
|
| |
Fixes check-llvm when bootstrapping.
Also remove mostly dead and most likely incorrect logic regarding preemption
of weak undefined symbols.
llvm-svn: 267314
|
| |
|
|
|
|
| |
Now that the support for the 'new' relocations is available.
llvm-svn: 267310
|
| |
|
|
|
|
| |
comments.
llvm-svn: 267261
|
| |
|
|
| |
llvm-svn: 267260
|
| |
|
|
| |
llvm-svn: 267259
|