Dimitry Andric 6ca8079c85 Pull in r265122 from upstream llvm trunk (by James Molloy):
Fix for pr24346: arm asm label calculation error in sub

  Some ARM instructions encode 32-bit immediates as a 8-bit integer
  (0-255) and a 4-bit rotation (0-30, even) in its least significant 12
  bits. The original fixup, FK_Data_4, patches the instruction by the
  value bit-to-bit, regardless of the encoding. For example, assuming
  the label L1 and L2 are 0x0 and 0x104 respectively, the following
  instruction:

    add r0, r0, #(L2 - L1) ; expects 0x104, i.e., 260

  would be assembled to the following, which adds 1 to r0, instead of
  260:

    e2800104 add r0, r0, #4, 2 ; equivalently 1

  The new fixup kind fixup_arm_mod_imm takes care of the encoding:

    e2800f41 add r0, r0, #260

  Patch by Ting-Yuan Huang!

This fixes label calculation for ARM assembly, and is needed to enable
ARM assembly sources for OpenSSL.

Requested by:	jkim
MFC after:	3 days
2016-08-20 14:04:51 +00:00
..
2016-08-14 09:26:10 +00:00
MFH
2016-04-04 23:55:32 +00:00
MFH
2016-03-02 16:14:46 +00:00
MFH
2016-03-02 16:14:46 +00:00
MFH
2016-02-10 04:20:39 +00:00
MFH
2016-03-02 16:14:46 +00:00
2016-05-12 03:53:20 +00:00
2016-06-14 16:55:05 +00:00
2016-02-16 02:14:30 +00:00
MFH
2016-03-02 16:14:46 +00:00
MFH
2016-03-02 16:14:46 +00:00
MFH
2016-03-02 16:14:46 +00:00
MFH
2016-03-02 16:14:46 +00:00
MFH
2016-03-02 16:14:46 +00:00
2016-06-04 14:57:25 +00:00
MFH
2016-03-14 18:54:29 +00:00
MFH
2016-04-11 15:24:59 +00:00
2016-05-18 15:25:45 +00:00
MFH
2016-04-13 16:19:50 +00:00
2016-05-29 01:43:28 +00:00
MFH
2016-04-16 02:32:12 +00:00
MFH
2016-04-04 23:55:32 +00:00