aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
AgeCommit message (Collapse)AuthorFilesLines
2011-05-05Remove a flag that would set the ".eh" symbol as .globl. MachO was the only oneBill Wendling1-5/+0
who used this flag, and it now emits CFI and doesn't emit this anymore. All other targets left this flag "false". <rdar://problem/8486371> llvm-svn: 130918
2011-05-01GCC uses a different encoding of pointers in the FDE when usingRafael Espindola1-1/+1
-fno-dwarf2-cfi-asm. Implement the same behavior. llvm-svn: 130637
2011-04-27Remove unnecessary argument.Rafael Espindola1-2/+2
llvm-svn: 130343
2011-04-27Rename getPersonalityPICSymbol to getCFIPersonalitySymbol, document it, andRafael Espindola1-5/+42
give it a bit more responsibility. Also implement it for MachO. If hacked to use cfi, 32 bit MachO will produce .cfi_personality 155, L___gxx_personality_v0$non_lazy_ptr and 64 bit will produce .cfi_presonality ___gxx_personality_v0 The general idea is that .cfi_personality gets passed the final symbol. It is up to codegen to produce it if using indirect representation (like 32 bit MachO), but it is up to MC to decide which relocations to create. llvm-svn: 130341
2011-04-27Fix indentation.Rafael Espindola1-21/+21
llvm-svn: 130331
2011-04-20Remove unused arguments.Rafael Espindola1-4/+2
llvm-svn: 129844
2011-04-20ADT/Triple: Renambe isOSX... methods to isMacOSX for consistency with the OSDaniel Dunbar1-1/+1
triple component. llvm-svn: 129838
2011-04-19CodeGen: Eliminate a use of getDarwinMajorNumber().Daniel Dunbar1-11/+3
- There is a minor semantic change here (evidenced by the test change) for Darwin triples that have no version component. I debated changing the default behavior of isOSVersionLT, but decided it made more sense for triples to be explicit. llvm-svn: 129802
2011-04-16Put each personality function in a section. This fixes the gnu ld warning:Rafael Espindola1-0/+33
error in foo.o; no .eh_frame_hdr table will be created. llvm-svn: 129635
2011-03-19Reapply 127939 since Daniel fixed the breakage. <rdar://problem/9012638>Stuart Hastings1-7/+4
llvm-svn: 127944
2011-03-19Revert 127939. <rdar://problem/9012638>Stuart Hastings1-4/+7
llvm-svn: 127943
2011-03-19Revise r126127 to address Daniel's comments. <rdar://problem/9012638>Stuart Hastings1-7/+4
llvm-svn: 127939
2011-02-24Fix llvm-gcc bootstrap with gnu ld.Rafael Espindola1-0/+7
The problem was codegen guessing the wrong values and printing .section .eh_frame,"aMS",@progbits,4 It is not clear at all if Codegen should try to guess, MC is the one that should know the default flags. llvm-svn: 126421
2011-02-21Revert r125960, it's breaking darwin10 bootstrap.Eric Christopher1-4/+8
llvm-svn: 126163
2011-02-21Fix to correctly support attribute((section("__DATA, __common"))).Stuart Hastings1-1/+10
Radar 9012638. llvm-svn: 126127
2011-02-18Reapply r114997 now that the buildbots have been updated.Bill Wendling1-8/+4
llvm-svn: 125960
2011-02-14Switch llvm to using comdats. For now always use groups with a singleRafael Espindola1-23/+9
section. llvm-svn: 125526
2011-01-23Delay the creation of eh_frame so that the user can change the defaults.Rafael Espindola1-20/+23
Add support for SHT_X86_64_UNWIND. llvm-svn: 124059
2011-01-23Remove more duplicated code.Rafael Espindola1-29/+29
llvm-svn: 124056
2011-01-23Remove duplicated code.Rafael Espindola1-34/+35
llvm-svn: 124054
2010-12-10Fixed version of 121434 with no new memory leaks.Rafael Espindola1-1/+1
llvm-svn: 121471
2010-12-10Revert my previous patch to make the valgrind bots happy.Rafael Espindola1-1/+1
llvm-svn: 121461
2010-12-09Initial support for the cfi directives. This is just enough to getRafael Espindola1-1/+1
f: .cfi_startproc nop .cfi_endproc assembled (on ELF). llvm-svn: 121434
2010-11-09Fixed version of 118639 with an extra assert to catch similar problemsRafael Espindola1-1/+1
earlier. Implicit bool -> int conversions are evil! llvm-svn: 118651
2010-10-27COFF: Add IMAGE_SCN_MEM_READ to text sections.Michael J. Spencer1-0/+1
There are currently 100 references to COFF::IMAGE_SCN in 6 files and 11 different functions. Section to attribute mapping really needs to happen in one place to avoid problems like this. llvm-svn: 117473
2010-10-27Fix whitespace.Michael J. Spencer1-15/+15
llvm-svn: 117472
2010-10-19lib/CodeGen/TargetLoweringObjectFileImpl.cpp: Tweak to emit ↵NAKAMURA Takumi1-5/+5
".{section}${name}" instead of ".{section}$linkonce_{name}" for linkonce sections. It seems GNU ld/PECOFF relies on section names, linking with g++'s libstdc++.a would fail. llvm-svn: 116791
2010-10-08Do not check that the bodies of two defs of same linkonce global are the same.Anton Korobeynikov1-1/+1
Such a check does not make any sense in presense of inlining and other compiler-dependent stuff. This should fix bunch of warnings on mingw32. llvm-svn: 116113
2010-09-28Revert r114997. It was causing a failure on darwin10-selfhost.Bill Wendling1-5/+13
llvm-svn: 115002
2010-09-28Fix a FIXME. _foo.eh symbols are currently always exported so that the linkerBill Wendling1-13/+5
knows about them. This is not necessary on 10.6 and later. llvm-svn: 114997
2010-09-27the latest assembler that runs on powerpc 10.4 machines doesn'tChris Lattner1-0/+14
support aligned comm. Detect when compiling for 10.4 and don't emit an alignment for comm. THis will hopefully fix PR8198. llvm-svn: 114817
2010-08-30two changes:Chris Lattner1-5/+0
1) nuke ConstDataCoalSection, which is dead. 2) revise my previous patch for rdar://8018335, which was completely wrong. Specifically, it doesn't make sense to mark __TEXT,__const_coal as PURE_INSTRUCTIONS, because it is for readonly data. templates (it turns out) go to const_coal_nt. The real fix for rdar://8018335 was to give ConstTextCoalSection a section kind of ReadOnly instead of Text. llvm-svn: 112496
2010-07-15fix the definitions of ConstTextCoalSection/ConstDataCoalSectionChris Lattner1-2/+3
to keep "Text" in sync with the "pure instructions" section attribute. Lack of this attribute was preventing the assembler from emitting multibyte noops instructions for templates (and inlines, and other coalesced stuff) and was causing the assembler to mismatch .o files. This fixes rdar://8018335 llvm-svn: 108461
2010-07-06Fix a major regression on COFF targets introduced by r103267: 'discardable' ↵Anton Korobeynikov1-1/+1
section means that it is used only during the program load and can be discarded afterwards. This way *only* debug sections can be discarded, but not the opposite. Seems like the copy-and-pasto from ELF code, since there it contains the reverse flag ('alloc'). llvm-svn: 107658
2010-07-01MC: Move COFF enumeration constants to llvm/Support/COFF.h, patch by MichaelDaniel Dunbar1-55/+55
Spencer! llvm-svn: 107418
2010-06-29Revert r107205 and r107207.Bill Wendling1-4/+3
llvm-svn: 107215
2010-06-29Introducing the "linker_weak" linkage type. This will be used for Objective-CBill Wendling1-3/+4
metadata types which should be marked as "weak", but which the linker will remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is defined like this: .globl l_objc_msgSend_fixup_alloc .weak_definition l_objc_msgSend_fixup_alloc .section __DATA, __objc_msgrefs, coalesced .align 3 l_objc_msgSend_fixup_alloc: .quad _objc_msgSend_fixup .quad L_OBJC_METH_VAR_NAME_1 This is different from the "linker_private" linkage type, because it can't have the metadata defined with ".weak_definition". llvm-svn: 107205
2010-05-25Add support for initialized global data for darwin tls. Update commentsEric Christopher1-3/+2
and testcases accordingly. llvm-svn: 104635
2010-05-22Add full bss data support for darwin tls variables.Eric Christopher1-2/+8
llvm-svn: 104414
2010-05-17More data/parsing support for tls directives. Add a few more testcasesEric Christopher1-0/+6
and cleanup comments as well. llvm-svn: 103985
2010-05-17Add some section and constant support for darwin TLS.Eric Christopher1-1/+15
llvm-svn: 103974
2010-05-07add COFF support for COMDAT sections, patch by Nathan Jeffords!Chris Lattner1-4/+16
llvm-svn: 103304
2010-05-07switch MCSectionCOFF from a syntactic to semantic representation,Chris Lattner1-54/+115
patch by Peter Housel! llvm-svn: 103267
2010-04-13add llvm codegen support for -ffunction-sections and -fdata-sections,Chris Lattner1-2/+36
patch by Sylvere Teissier! llvm-svn: 101106
2010-04-08delete a forwarding function.Chris Lattner1-89/+87
llvm-svn: 100815
2010-04-08move elf section uniquing to MCContext. Along the wayChris Lattner1-19/+1
merge XCore's section into MCSectionELF llvm-svn: 100812
2010-04-08remove the TargetLoweringObjectFileMachO::getMachoSectionChris Lattner1-89/+102
api and update clients to use MCContext instead. llvm-svn: 100808
2010-04-08move macho section uniquing from MCParser and TLOF to MCContext whereChris Lattner1-32/+4
the compiler and asmparser now unique to the same sections. This fixes rdar://7835021. llvm-svn: 100807
2010-04-07rename llvm::llvm_report_error -> llvm::report_fatal_errorChris Lattner1-4/+4
llvm-svn: 100709
2010-03-30Rip out the 'is temporary' nonsense from the MCContext interface toChris Lattner1-2/+2
create symbols. It is extremely error prone and a source of a lot of the remaining integrated assembler bugs on x86-64. This fixes rdar://7807601. llvm-svn: 99902