| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
they should be in the symbol table or not. Instead of "guessing", just compute
the symbol table after the relocations are known.
llvm-svn: 115619
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
where both symbols are "local", that is non-external symbols, and there is
no "base" for the symbols used in the expression, that is the section has
no non-temporary symbols. This case looks like this:
% cat local_reloc_A-B.s
.long 0
LB: .long 1
.long LA - LB - 4
.long 2
LA: .long 3
which llvm-mc will not encode without this patch, generates a "unsupported
local relocations in difference" error, but the Darwin assembler will
encode with relocation entries like this:
% otool -rv a.out l.out
a.out:
Relocation information (__TEXT,__text) 2 entries
address pcrel length extern type scattered symbolnum/value
00000008 False long False SUB False 1 (__TEXT,__text)
00000008 False long False UNSIGND False 1 (__TEXT,__text)
which is very similar to what is encoded when the symbols don't have the
leading 'L' and they are not temporary symbols. Which llvm-mc and the
Darwin assembler will encoded like this:
Relocation information (__TEXT,__text) 2 entries
address pcrel length extern type scattered symbolnum/value
00000008 False long True SUB False B
00000008 False long True UNSIGND False A
This is the missing relocation encoding needed to allow the Mach-O x86
Dwarf file and line table to be emitted. So this patch also removes the
TODO from the if() statement in MCMachOStreamer::Finish() that didn't
call MCDwarfFileTable::Emit() for 64-bit targets.
llvm-svn: 115389
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this patch in
movq $foo, foo(%rip)
foo:
.long foo
We produce a R_X86_64_32S for the first relocation and R_X86_64_32 for the
second one.
llvm-svn: 115134
|
|
|
|
|
|
|
|
|
|
|
| |
resolved or not. Different object files have different restrictions and
different native assemblers have different idiosyncrasies we want to emulate
for now.
Move the existing MachO logic to the new place and implement an ELF one that
gets fixups to globals right.
llvm-svn: 115131
|
|
|
|
| |
llvm-svn: 114852
|
|
|
|
| |
llvm-svn: 114176
|
|
|
|
|
|
| |
64 bits (was 64-bit shift intended?)", pointed out by 'nobled' on llvmdev
llvm-svn: 111148
|
|
|
|
|
|
|
|
| |
This reverts commit 110575.
Target.isAbsolute() is true if SD would be null.
llvm-svn: 110683
|
|
|
|
|
|
| |
Discovered by Microsoft Visual Studio 2010 Code Analysis.
llvm-svn: 110575
|
|
|
|
| |
llvm-svn: 107826
|
|
|
|
|
|
| |
but then not actually used - maybe a bug? Remove the variable.
llvm-svn: 107137
|
|
|
|
|
|
| |
Thanks Daniel!
llvm-svn: 106608
|
|
|
|
| |
llvm-svn: 106191
|
|
|
|
| |
llvm-svn: 106154
|
|
|
|
| |
llvm-svn: 106142
|
|
|
|
| |
llvm-svn: 106072
|
|
|
|
| |
llvm-svn: 106062
|
|
|
|
| |
llvm-svn: 104793
|
|
|
|
| |
llvm-svn: 104699
|
|
|
|
| |
llvm-svn: 104697
|
|
|
|
| |
llvm-svn: 104651
|
|
|
|
| |
llvm-svn: 104223
|
|
|
|
|
|
|
|
| |
section header.
Also, create symbol data for LHS of assignment, to match 'as' symbol ordering better.
llvm-svn: 104033
|
|
|
|
| |
llvm-svn: 104032
|
|
|
|
|
|
| |
used to replace a normal relocation, not a reference to a GOT entry.
llvm-svn: 103789
|
|
|
|
|
|
| |
offset instead of the fixup address as intended.
llvm-svn: 103527
|
|
|
|
|
|
| |
clarify.
llvm-svn: 103526
|
|
|
|
| |
llvm-svn: 103525
|
|
|
|
|
|
| |
scattered relocation entry with a .weak_definition.
llvm-svn: 103443
|
|
|
|
| |
llvm-svn: 103442
|
|
|
|
|
|
|
| |
external and the item to be relocated should not have the address of the
symbol added in.
llvm-svn: 103302
|
|
|
|
|
|
|
| |
writing them.
- <rdar://problem/7885351> integrated assembler broken for i386 objc code
llvm-svn: 103112
|
|
|
|
|
|
|
| |
when possible.
- <rdar://problem/7934873>
llvm-svn: 103092
|
|
|
|
|
|
| |
passed to free.
llvm-svn: 100767
|
|
|
|
| |
llvm-svn: 100709
|
|
|
|
| |
llvm-svn: 99853
|
|
|
|
| |
llvm-svn: 99504
|
|
|
|
| |
llvm-svn: 99499
|
|
|
|
| |
llvm-svn: 99474
|
|
|
|
| |
llvm-svn: 99473
|
|
|
|
|
|
| |
MCAsmLayout object.
llvm-svn: 99380
|
|
|
|
| |
llvm-svn: 99228
|
|
|
|
|
|
| |
of a MCDataFragment). Object files should only need the generic MCFragment features.
llvm-svn: 99205
|
|
|
|
| |
llvm-svn: 99031
|
|
|
|
| |
llvm-svn: 98994
|
|
|
|
|
|
|
|
| |
- This is "extraordinarily" Darwin 'as' compatible. See the litany of FIXMEs littered about for more information.
- There are a few cases which seem to clearly be 'as' bugs which I have left unsupported, and there is one cases where we diverge but should fix if it blocks diffing .o files (Darwin 'as' ends up widening a jump unnecessarily).
- 403.gcc build, runs, and diffs equivalently to the 'as' built version now (using llvm-mc). However, it builds so slowly that I wouldn't recommend trying it quite yet. :)
llvm-svn: 98974
|
|
llvm-svn: 98952
|