| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 153429
|
|
|
|
|
|
|
|
| |
When not using subsections via symbols, the assembler can resolve
symbol differences (including pcrel references) to non-local
labels at assembly time, not just those in the same atom.
llvm-svn: 148865
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the two fragments are in the same Atom, then the difference
expression is resolvable at compile time. Previously we were checking
that they were in the same fragment, but that breaks down in the
presence of instruction relaxation which has multiple fragments in the
same atom.
rdar://10711829
llvm-svn: 148423
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the non-local symbol in the expression is in the same fragment
as the second symbol, the assembler can still evaluate the expression
without needing a relocation.
For example, on ARM:
_foo:
ldr lr, (_foo - 4)
rdar://10348687
llvm-svn: 148341
|
|
|
|
|
|
|
|
| |
When the file isn't being built with subsections-via-symbols, symbol
differences involving non-local symbols can be resolved more aggressively.
Needed for gas compatibility.
llvm-svn: 146054
|
|
|
|
| |
llvm-svn: 145878
|
|
|
|
|
|
| |
per http://llvm.org/docs/CodingStandards.html#ll_naming
llvm-svn: 145873
|
|
|
|
| |
llvm-svn: 139325
|
|
|
|
|
|
| |
without a base symbol that must not have a relocation entry.
llvm-svn: 139316
|
|
|
|
|
|
| |
instead. This matches what as does.
llvm-svn: 137414
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Assigned symbol addresses get truncated to 32-bits, even on 64-bit platforms.
That's obviously bogus.
For example,
.globl _foo
.equ _foo, 0x987654321ULL
rdar://9922863
llvm-svn: 137158
|
|
|
|
|
|
| |
createMCAsmBackend.
llvm-svn: 136010
|
|
|
|
|
|
| |
they belong.
llvm-svn: 135833
|
|
|
|
|
|
|
|
|
| |
Move the target-specific RecordRelocation logic out of the generic MC
MachObjectWriter and into the target-specific object writers. This allows
nuking quite a bit of target knowledge from the supposedly target-independent
bits in lib/MC.
llvm-svn: 133844
|
|
|
|
| |
llvm-svn: 133815
|
|
|
|
|
|
| |
rdar://9667872
llvm-svn: 133808
|
|
|
|
| |
llvm-svn: 133770
|
|
|
|
| |
llvm-svn: 133668
|
|
|
|
|
|
|
| |
line with LLVM's general coding style.
No functionality change.
llvm-svn: 133645
|
|
|
|
| |
llvm-svn: 130522
|
|
|
|
| |
llvm-svn: 130520
|
|
|
|
|
|
| |
assuming they are present in a fragment.
llvm-svn: 130519
|
|
|
|
|
|
| |
Luis Felipe Strano Moraes!
llvm-svn: 129558
|
|
|
|
|
|
| |
BLX, rather than a 2-byte instruction like B.
llvm-svn: 128169
|
|
|
|
|
|
|
| |
This fixes kimwitu++, bullet, and tramp3dv4 with the ARM integrated assembler.
Fixes <rdar://problem/9165738>.
llvm-svn: 128117
|
|
|
|
|
|
| |
MCFixupKind. This is the same technique that is used elsewhere in MC.
llvm-svn: 127676
|
|
|
|
|
|
| |
Patch by Erik Olofsson!
llvm-svn: 126796
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(yes, this is different from R_ARM_CALL)
- Adds a new method getARMBranchTargetOpValue() which handles the
necessary distinction between the conditional and unconditional br/bl
needed for ARM/ELF
At least for ARM mode, the needed fixup for conditional versus unconditional
br/bl is identical, but the ARM docs and existing ARM tools expect this
reloc type...
Added a few FIXME's for future naming fixups in ARMInstrInfo.td
llvm-svn: 124895
|
|
|
|
| |
llvm-svn: 124645
|
|
|
|
|
|
|
|
| |
- Fixed :upper16: fix up routine. It should be shifting down the top 16 bits first.
- Added support for Thumb2 :lower16: and :upper16: fix up.
- Added :upper16: and :lower16: relocation support to mach-o object writer.
llvm-svn: 123424
|
|
|
|
| |
llvm-svn: 122583
|
|
|
|
|
|
| |
have a single point where targets test if a relocation is needed.
llvm-svn: 122549
|
|
|
|
| |
llvm-svn: 122547
|
|
|
|
| |
llvm-svn: 122441
|
|
|
|
| |
llvm-svn: 122419
|
|
|
|
|
|
| |
esp. important given that the LOCAL_SECTDIFF enumeration got redefined.
llvm-svn: 122412
|
|
|
|
|
|
| |
figure out how it is supposed to work.
llvm-svn: 122410
|
|
|
|
| |
llvm-svn: 122409
|
|
|
|
| |
llvm-svn: 122408
|
|
|
|
| |
llvm-svn: 122407
|
|
|
|
| |
llvm-svn: 122406
|
|
|
|
|
|
| |
RecordRelocation with lots of FIXMEs.
llvm-svn: 122402
|
|
|
|
| |
llvm-svn: 122401
|
|
|
|
|
|
|
| |
clear how to keep in the generic path (yet).
- Will revisit when it actually works.
llvm-svn: 122400
|
|
|
|
|
|
|
| |
types, but they're just getting converted to unsigned anyway, so cast first
(and ask questions later).
llvm-svn: 122377
|
|
|
|
|
|
| |
type.
llvm-svn: 122334
|
|
|
|
| |
llvm-svn: 122148
|
|
|
|
| |
llvm-svn: 122147
|
|
|
|
|
|
|
|
|
|
| |
IsSymbolRefDifferenceFullyResolved, it turns out this does change behavior on
enough cases for x86-32 that I would rather wait a bit on it.
- In practice, we will want to change this eventually because it only means we
generate less relocations (it also eliminates the need for the horrible
'.set' hack that Darwin requires in some places).
llvm-svn: 122042
|
|
|
|
|
|
|
|
| |
- Unlike for fixups, we always do the "reliable" thing (not just for x86_64).
- Since Darwin 'as' would typically reject things that using this will allow,
we don't need to worry about compatibility.
llvm-svn: 122038
|