aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/StringExtras.cpp
diff options
context:
space:
mode:
authorPeter Smith <peter.smith@linaro.org>2017-11-28 13:51:48 +0000
committerPeter Smith <peter.smith@linaro.org>2017-11-28 13:51:48 +0000
commit57eb0469847bf535276f2a6364213b1fb1c2480c (patch)
treedda9138aa52a8c2652189f293ab8e512bb8d7552 /llvm/lib/Support/StringExtras.cpp
parent9d419d3b0cfda0f85d88633bd8620cd65ccb0498 (diff)
downloadllvm-57eb0469847bf535276f2a6364213b1fb1c2480c.zip
llvm-57eb0469847bf535276f2a6364213b1fb1c2480c.tar.gz
llvm-57eb0469847bf535276f2a6364213b1fb1c2480c.tar.bz2
[ELF] Read ARM BuildAttributes section to determine supported features.
lld assumes some ARM features that are not available in all Arm processors. In particular: - The blx instruction present for interworking. - The movt/movw instructions are used in Thunks. - The J1=1 J2=1 encoding of branch immediates to improve Thumb wide branch range are assumed to be present. This patch reads the ARM Attributes section to check for the architecture the object file was compiled with. If none of the objects have an architecture that supports either of these features a warning will be given. This is most likely to affect armv6 as used in the first Raspberry Pi. Differential Revision: https://reviews.llvm.org/D36823 llvm-svn: 319169
Diffstat (limited to 'llvm/lib/Support/StringExtras.cpp')
0 files changed, 0 insertions, 0 deletions