| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
specifically assert on unexpected flags.
llvm-svn: 115143
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 112995
|
|
|
|
|
|
|
|
|
|
| |
and output the dwarf line number tables. This takes the current loc info after
an instruction is assembled and saves the needed info into an object that has
vector and for each section. These objects will be used for the final patch to
build and emit the encoded dwarf line number tables. Again for now this is only
in the Mach-O streamer but at some point will move to a more generic place.
llvm-svn: 112668
|
|
|
|
|
|
|
|
| |
previously collected info from the .file directives and outputs the encoded
bytes for it. For now this is only in the Mach-O streamer but at some point
will move to a more generic place.
llvm-svn: 110617
|
|
|
|
|
|
|
| |
them. They aren't important enough to abort the entire assembly, and failing
early makes testing more annoying.
llvm-svn: 108747
|
|
|
|
|
|
|
|
| |
into MCObjectStreamer.
Origonal Windows COFF implementation by Nathan Jedffords.
llvm-svn: 108678
|
|
|
|
| |
llvm-svn: 107886
|
|
|
|
|
|
|
|
| |
instead of tracking as part of emission.
- This allows sharing more code with the MCObjectStreamer.
llvm-svn: 106143
|
|
|
|
| |
llvm-svn: 106142
|
|
|
|
| |
llvm-svn: 106141
|
|
|
|
|
|
| |
object file format writers.
llvm-svn: 106140
|
|
|
|
|
|
| |
avoid creating unnecessary MCInstFragments.
llvm-svn: 104736
|
|
|
|
|
|
| |
MCInstFragments or appending onto an MCDataFragment.
llvm-svn: 104735
|
|
|
|
| |
llvm-svn: 104709
|
|
|
|
|
|
| |
before encoding.
llvm-svn: 104707
|
|
|
|
| |
llvm-svn: 104699
|
|
|
|
| |
llvm-svn: 104697
|
|
|
|
| |
llvm-svn: 104396
|
|
|
|
|
|
| |
Fixes build failure as well.
llvm-svn: 104059
|
|
|
|
|
|
|
|
| |
section header.
Also, create symbol data for LHS of assignment, to match 'as' symbol ordering better.
llvm-svn: 104033
|
|
|
|
| |
llvm-svn: 104031
|
|
|
|
|
|
|
| |
- This fixes a string table mismatch with 'as' when two new symbols are defined
in a single instruction.
llvm-svn: 103979
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Don't clear weak reference flag, 'as' was only "trying" to do this, it wasn't
actually succeeding.
- Clear the "lazy bound" bit when we mark something external. This corresponds
roughly to the lazy clearing of the bit that 'as' implements in
symbol_table_lookup.
- The exact meaning of these flags appears pretty loose, since 'as' isn't very
consistent. For now we just try to match 'as', we will clean this up one day
hopefully.
llvm-svn: 103964
|
|
|
|
|
|
| |
Nothing uses this yet.
llvm-svn: 103757
|
|
|
|
| |
llvm-svn: 103665
|
|
|
|
| |
llvm-svn: 103664
|
|
|
|
|
|
| |
MCAlignFragments for this.
llvm-svn: 103661
|
|
|
|
|
|
| |
for each fragment (not yet used).
llvm-svn: 103438
|
|
|
|
|
|
| |
patch by Nathan Jeffords!
llvm-svn: 103346
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 103111
|
|
|
|
| |
llvm-svn: 103095
|
|
|
|
|
|
|
| |
exactly two passes in that case, and don't ever need to recompute any layout,
so this is a nice baseline for relaxation performance.
llvm-svn: 99563
|
|
|
|
|
|
| |
Also, both MCMachOStreamer and MCAssembler are now target independent!
llvm-svn: 99256
|
|
|
|
|
|
| |
particular instruction + fixups might need relaxation.
llvm-svn: 99249
|
|
|
|
|
|
| |
dependencies in MCMachOStreamer and MCAssembler.
llvm-svn: 99248
|
|
|
|
| |
llvm-svn: 99229
|
|
|
|
| |
llvm-svn: 99204
|
|
|
|
| |
llvm-svn: 98953
|
|
|
|
| |
llvm-svn: 98464
|
|
|
|
| |
llvm-svn: 98379
|
|
|
|
| |
llvm-svn: 98222
|
|
|
|
| |
llvm-svn: 98186
|
|
|
|
| |
llvm-svn: 98167
|
|
|
|
|
|
|
|
|
|
|
| |
to be aligned with optimal nops. This patch does not change any functionality
and when the compiler is changed to use EmitCodeAlignment() it should also not
change the resulting output. Once the compiler change is made and everything
looks good the next patch with the table of optimal X86 nops will be added to
WriteNopData() changing the output. There are many FIXMEs in this patch which
will be removed when we have better target hooks (coming soon I hear).
llvm-svn: 96963
|
|
|
|
| |
llvm-svn: 96809
|