| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
$ svn merge -c -89279 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r89279 into '.':
U lib/CodeGen/AsmPrinter/DwarfException.cpp
U lib/Target/TargetLoweringObjectFile.cpp
$ svn merge -c -89270 https://llvm.org/svn/llvm-project/llvm/trunk
--- Reverse-merging r89270 into '.':
G lib/CodeGen/AsmPrinter/DwarfException.cpp
G lib/Target/TargetLoweringObjectFile.cpp
llvm-svn: 89379
|
|
|
|
|
|
| |
exception table than DataRel.
llvm-svn: 89279
|
|
|
|
|
|
| |
Place the EH table in the __TEXT section on MachO. It saves space.
llvm-svn: 89270
|
|
|
|
| |
llvm-svn: 86367
|
|
|
|
| |
llvm-svn: 86251
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
U lib/CodeGen/AsmPrinter/DwarfException.cpp
U lib/CodeGen/AsmPrinter/DwarfException.h
--- Reverse-merging r82274 into '.':
U lib/Target/TargetLoweringObjectFile.cpp
G lib/CodeGen/AsmPrinter/DwarfException.cpp
These revisions were breaking everything.
llvm-svn: 82396
|
|
|
|
| |
llvm-svn: 82356
|
|
|
|
|
|
|
|
| |
internal, they shouldn't use the indirect pointer stuff. In the case of
throw_rethrow_test, it was marked as 'internal' and calculated its own offset to
its contents.
llvm-svn: 82354
|
|
|
|
| |
llvm-svn: 82336
|
|
|
|
|
|
|
|
|
| |
into the __DATA section. At launch time, dyld has to update most of the section
to fix up the type info pointers. It's better to place it into the __TEXT
section and use pc-rel indirect pointer encodings. Similar to the personality
routine.
llvm-svn: 82274
|
|
|
|
|
|
| |
currently unused.
llvm-svn: 82157
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Eliminate the PersonalityPrefix/Suffix & NeedsIndirectEncoding
fields from MAI: they aren't part of the asm syntax, they are
related to the structure of the object file.
To replace their functionality, add a new
TLOF::getSymbolForDwarfGlobalReference method which asks targets
to decide how to reference a global from EH in a pc-relative way.
The default implementation just returns the symbol. The default
darwin implementation references the symbol through an indirect
$non_lazy_ptr stub. The bizarro x86-64 darwin specialization
handles the weird "foo@GOTPCREL+4" hack.
DwarfException.cpp now uses this to emit the reference to the
symbol in the right way, and this also eliminates another
horrible hack from DwarfException.cpp:
- if (strcmp(MAI->getPersonalitySuffix(), "+4@GOTPCREL"))
- O << "-" << MAI->getPCSymbol();
llvm-svn: 81991
|
|
|
|
| |
llvm-svn: 81322
|
|
|
|
| |
llvm-svn: 81321
|
|
|
|
| |
llvm-svn: 80176
|
|
|
|
| |
llvm-svn: 79346
|
|
|
|
|
|
|
|
| |
on linux.
Patch by Dmitry Gorbachev!
llvm-svn: 79334
|
|
|
|
|
|
| |
TLOF is reinitialized with a different MCContext.
llvm-svn: 79253
|
|
|
|
|
|
| |
if not supported by the ELF subtarget.
llvm-svn: 79249
|
|
|
|
|
|
|
| |
is why they are datarel). This should fix PR4724, and is fallout
from r78890.
llvm-svn: 79111
|
|
|
|
|
|
| |
them to null out the default section pointers.
llvm-svn: 79078
|
|
|
|
|
|
| |
accidentally match unrelated things.
llvm-svn: 78966
|
|
|
|
|
|
| |
must be emitted for PowerPC-Linux '.bss' section
llvm-svn: 78958
|
|
|
|
|
|
|
| |
syntactically as a string, very similiar to what Chris did with MachO.
The parsing support and validation is not introduced yet.
llvm-svn: 78890
|
|
|
|
|
|
|
|
| |
implementations.
MCContext no longer maintains a string -> section map.
llvm-svn: 78874
|
|
|
|
|
|
| |
them, so it doesn't have to explicitly free them.
llvm-svn: 78870
|
|
|
|
|
|
|
| |
int x __attribute__((section("_foo, _bar"))) = 4;
int y __attribute__((section("_foo, _bar, 4byte_literals"))) = 1;
llvm-svn: 78867
|
|
|
|
| |
llvm-svn: 78866
|
|
|
|
| |
llvm-svn: 78860
|
|
|
|
| |
llvm-svn: 78677
|
|
|
|
| |
llvm-svn: 78576
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead of syntactically as a string. This means that it keeps track of the
segment, section, flags, etc directly and asmprints them in the right format.
This also includes parsing and validation support for llvm-mc and
"attribute(section)", so we should now start getting errors about invalid
section attributes from the compiler instead of the assembler on darwin.
Still todo:
1) Uniquing of darwin mcsections
2) Move all the Darwin stuff out to MCSectionMachO.[cpp|h]
3) there are a few FIXMEs, for example what is the syntax to get the
S_GB_ZEROFILL segment type?
llvm-svn: 78547
|
|
|
|
|
|
|
|
|
| |
2. Move section switch printing to MCSection virtual method which takes a
TAI. This eliminates textual formatting stuff from TLOF.
3. Eliminate SwitchToSectionDirective, getSectionFlagsAsString, and
TLOFELF::AtIsCommentChar.
llvm-svn: 78510
|
|
|
|
|
|
| |
MCSection instances.
llvm-svn: 78500
|
|
|
|
|
|
|
|
| |
A TAI hook is appropriate in this case because this is just an
asm syntax issue, not a semantic difference. TLOF should model
the semantics of the section.
llvm-svn: 78498
|
|
|
|
|
|
|
| |
give the impls an object-file-specific name. In the future
they can take different arguments etc.
llvm-svn: 78495
|
|
|
|
|
|
| |
now that they create *all* the sections.
llvm-svn: 78494
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
creation activity into the target-specific subclasses of TLOF.
Before this, globals with explicit sections could be created by
the base class.
1. make getOrCreateSection protected, add a new getExplicitSectionGlobal
pure virtual method to assign sections to globals with a specified
section.
2. eliminate getSpecialCasedSectionGlobals, which is now PIC specific.
3. eliminate the getKindForNamedSection virtual method, which is
now just a static method for ELF.
4. Add implementions of getExplicitSectionGlobal for ELF/PECOFF/Darwin/PIC16.
They are now all detangled and understandable, woo! :)
llvm-svn: 78319
|
|
|
|
|
|
| |
getKindForGlobal.
llvm-svn: 78156
|
|
|
|
|
|
| |
__TEXT,__ustring section on darwin.
llvm-svn: 78068
|
|
|
|
|
|
| |
it is just being used as a prefix, so forward substitute it directly.
llvm-svn: 78067
|
|
|
|
|
|
| |
section on ELF targets.
llvm-svn: 78066
|
|
|
|
|
|
|
|
| |
add new concrete versions for 1/2/4-byte mergable strings.
These are not actually created yet.
llvm-svn: 78055
|
|
|
|
|
|
| |
more step towards "semantics sections"
llvm-svn: 78002
|
|
|
|
|
|
| |
TLOF, unifying all the dwarf targets at the same time.
llvm-svn: 77889
|
|
|
|
| |
llvm-svn: 77888
|
|
|
|
|
|
|
|
|
|
|
| |
getLSDASection() to be more specific. This makes it pretty obvious
that the ELF LSDA section is being specified wrong in PIC mode. We're
probably getting a lot of startup-time relocations to a readonly page,
which is expensive and bad.
Someone who cares about ELF C++ should investigate this.
llvm-svn: 77847
|
|
|
|
|
|
| |
TAI.
llvm-svn: 77842
|
|
|
|
| |
llvm-svn: 77834
|
|
|
|
|
|
|
|
|
|
|
|
| |
compute it based on what it knows. As part of this, rename getSectionForMergeableConstant
to getSectionForConstant because it works for non-mergable constants also.
The only functionality change from this is that Xcore will start dropping
its jump tables into readonly section instead of data section in -static mode.
This should be fine as the linker resolves the relocations. If this is a
problem, let me know and we'll come up with another solution.
llvm-svn: 77833
|