| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 119999
|
|
|
|
| |
llvm-svn: 119788
|
|
|
|
| |
llvm-svn: 119547
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
variable if recursing fails to simplify it.
Factor AliasedSymbol to be a method of MCSymbol.
Update MCAssembler::EvaluateFixup to match the change in
EvaluateAsRelocatableImpl.
Remove the WeakRefExpr hack, as the object writer now sees the weakref with
no extra effort needed.
Nothing else is using MCTargetExpr, but keep it for now.
Now that the ELF writer sees relocations with aliases, handle
.weak foo2
foo2:
.weak bar2
.set bar2,foo2
.quad bar2
the same way gas does and produce a relocation with bar2.
llvm-svn: 119152
|
|
|
|
|
|
|
|
|
|
| |
This is really slow with we have 1000s of sections each with a corresponding
relocation section. Also, it is only used by the ELF writer to add
basic data, so there is no need to force a new layout pass.
Should fix PR8563.
llvm-svn: 118377
|
|
|
|
| |
llvm-svn: 118365
|
|
|
|
|
|
|
|
|
| |
// FIXME: We should compute this sooner, we don't want to recurse here, and
// we would like to be more functional.
In MCAssembler::ComputeFragmentSize.
llvm-svn: 118080
|
|
|
|
| |
llvm-svn: 118023
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and output the dwarf line number tables. This contains the code to emit and
encode the dwarf line tables from the previously gathered information in the
MCLineSection objects. This contains all the details to encode the line and
address deltas into the dwarf line table.
To do this an MCDwarfLineAddrFragment has been added.
Also this moves the interface code out of Mach-O streamer into
MCDwarf so it should be useable by other object file formats.
There is now one call to be made from an MCObjectStreamer
EmitInstruction() method:
MCLineEntry::Make(this, getCurrentSection());
to create a line entry after each instruction is assembled.
And one call call to be made from an MCObjectStreamer Finish() method:
MCDwarfFileTable::Emit(this, DwarfLineSection);
when getContext().hasDwarfFiles() is true and is passed a object file specific
MCSection where to emit the dwarf file and the line tables.
This appears to now be correct for 32-bit targets, at least x86. But the
relocation entries for 64-bit Darwin needs some further work which is next
up to work on. So for now the 64-bit Mach-O target does not output the
dwarf file and line tables.
llvm-svn: 115157
|
|
|
|
|
|
|
|
|
|
|
| |
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: 114717
|
|
|
|
| |
llvm-svn: 114594
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ELF implementation now creates text, data and bss to match the gnu as
behavior.
The text streamer still has the old MachO specific behavior since
the testsuite checks that it will error when a directive is given
before a setting the current section for example.
A nice benefit is that -n is not required anymore when producing
ELF files.
llvm-svn: 114027
|
|
|
|
|
|
| |
large object file (> 1GB).
llvm-svn: 113494
|
|
|
|
|
|
| |
directives for putting contents in .bss, for example.
llvm-svn: 111376
|
|
|
|
|
|
|
|
| |
Introduce a helper method to add a section to the end of a layout. This
will be used by the ELF ObjectWriter code to add the metadata sections
(symbol table, etc) to the end of an object file.
llvm-svn: 111171
|
|
|
|
| |
llvm-svn: 111170
|
|
|
|
| |
llvm-svn: 109875
|
|
|
|
| |
llvm-svn: 109649
|
|
|
|
|
|
| |
Patch by Olivier Meurant!
llvm-svn: 109080
|
|
|
|
|
|
| |
ignored! Remove it.
llvm-svn: 107138
|
|
|
|
| |
llvm-svn: 106142
|
|
|
|
|
|
| |
and doesn't know where the output is going.
llvm-svn: 105274
|
|
|
|
|
|
| |
avoid creating unnecessary MCInstFragments.
llvm-svn: 104736
|
|
|
|
| |
llvm-svn: 104713
|
|
|
|
|
|
| |
before encoding.
llvm-svn: 104707
|
|
|
|
| |
llvm-svn: 104699
|
|
|
|
| |
llvm-svn: 104697
|
|
|
|
| |
llvm-svn: 104689
|
|
|
|
|
|
| |
- The eliminates the last major algorithmic problem with MC.
llvm-svn: 103754
|
|
|
|
|
|
| |
out, and enforce several invariants to LayoutFragment to ensure we only do layout in a sensible order.
llvm-svn: 103753
|
|
|
|
| |
llvm-svn: 103752
|
|
|
|
|
|
| |
the file.
llvm-svn: 103751
|
|
|
|
|
|
| |
Also, elimminate MCAsmLayout::set*, which are no longer needed.
llvm-svn: 103750
|
|
|
|
| |
llvm-svn: 103738
|
|
|
|
| |
llvm-svn: 103724
|
|
|
|
| |
llvm-svn: 103715
|
|
|
|
|
|
| |
get assigned ordinals properly.
llvm-svn: 103711
|
|
|
|
|
|
| |
simplifies layout.
llvm-svn: 103710
|
|
|
|
| |
llvm-svn: 103709
|
|
|
|
| |
llvm-svn: 103697
|
|
|
|
|
|
| |
utility functions.
llvm-svn: 103695
|
|
|
|
|
|
|
|
| |
of manually doing padding/editing layout in LayoutSection().
- This probably seems like six-of-one and half-dozen of another, but there
is a method to my madness.
llvm-svn: 103693
|
|
|
|
|
|
| |
says the align fragment shouldn't contribute to the logical section size, it is will be used for cleaning up the code to handle section alignment.
llvm-svn: 103690
|
|
|
|
|
|
| |
consumed by the section. This can differ from both the section logical size, and the section size on disk (although the current code handles this without making an explicit distinction).
llvm-svn: 103689
|
|
|
|
| |
llvm-svn: 103665
|
|
|
|
| |
llvm-svn: 103664
|
|
|
|
| |
llvm-svn: 103663
|
|
|
|
|
|
| |
This allows using ValueSize==0 to represent a virtual fill.
llvm-svn: 103662
|