freebsd-dev/contrib/llvm/tools
Ed Maste afb4d242bc lld: Fix weak symbols on arm and aarch64
Given

.weak target
 .global _start
_start:
 b target

The intention is that the branch goes to the instruction after the
branch, effectively turning it on a nop.  The branch adds the runtime
PC, but we were adding it statically too.

I noticed the oddity by inspection, but llvm-objdump seems to agree,
since it now prints things like:

b       #-4 <_start+0x4>

Obtained from:  LLD commit r305212
Differential Revision:  https://reviews.freebsd.org/D11191

Reviewed by:	dim, Rafael Espíndola
Obtained from:	LLD r305212
MFC after:	3 days
2017-06-14 18:56:33 +00:00
..
bugpoint Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
clang Update clang, llvm, lld, lldb, compiler-rt and libc++ to 4.0.0 release. 2017-03-10 19:02:41 +00:00
llc Merge llvm, clang, lld and lldb trunk r291274, and resolve conflicts. 2017-01-06 20:24:06 +00:00
lld lld: Fix weak symbols on arm and aarch64 2017-06-14 18:56:33 +00:00
lldb lldb: map TRAP_CAP to a trace trap 2017-05-25 16:41:07 +00:00
lli Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-ar Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-as Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-bcanalyzer Merge llvm, clang, lld and lldb trunk r291012, and resolve conflicts. 2017-01-04 22:19:42 +00:00
llvm-cov Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-cxxdump Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-cxxfilt Merge llvm, clang, compiler-rt, libc++, lld and lldb release_40 branch 2017-01-24 19:56:22 +00:00
llvm-diff Update llvm to release_39 branch r276489, and resolve conflicts. 2016-08-16 21:02:59 +00:00
llvm-dis Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-dwarfdump Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-extract Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-link Merge llvm, clang, lld and lldb trunk r291012, and resolve conflicts. 2017-01-04 22:19:42 +00:00
llvm-lto Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-lto2 Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-mc Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-modextract Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-nm Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-objdump Merge llvm, clang, compiler-rt, libc++, lld and lldb release_40 branch 2017-02-05 19:57:41 +00:00
llvm-pdbdump Merge llvm, clang, lld and lldb release_40 branch r292009. Also update 2017-01-14 22:12:13 +00:00
llvm-profdata Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-readobj Merge llvm, clang, lld and lldb release_40 branch r292009. Also update 2017-01-14 22:12:13 +00:00
llvm-rtdyld Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-stress Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-symbolizer Update llvm to trunk r290819 and resolve conflicts. 2017-01-02 21:25:48 +00:00
llvm-xray Merge llvm, clang, compiler-rt, libc++, lld and lldb release_40 branch 2017-02-28 21:18:23 +00:00
opt Merge llvm, clang, lld and lldb release_40 branch r292009. Also update 2017-01-14 22:12:13 +00:00