summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
Commit message (Collapse)AuthorAgeFilesLines
* Fix another case of a .comm directive without a corresponding .typeRafael Espindola2010-11-141-1/+2
| | | | | | directive. llvm-svn: 119073
* Fix the type of a symbol created with .comm and no corresponding .type.Rafael Espindola2010-11-141-0/+1
| | | | llvm-svn: 119060
* Handle a peculiar comdat case: Creating a section with an undefinedRafael Espindola2010-11-142-29/+55
| | | | | | | signature symbol causes a local symbol to be created unless there is some other use of the symbol. llvm-svn: 119026
* Simplify getSymbolIndexInSymbolTable by setting the actual index ofRafael Espindola2010-11-141-11/+6
| | | | | | the symbols. llvm-svn: 119022
* Fix warning.Rafael Espindola2010-11-141-0/+4
| | | | llvm-svn: 119021
* MC: Simplify Mach-O and ELF object writer implementations.Daniel Dunbar2010-11-132-192/+98
| | | | | | - What was I thinking????? llvm-svn: 118992
* Fix warning and add support for printing gnu_unique_object.Rafael Espindola2010-11-131-0/+2
| | | | llvm-svn: 118981
* Parse and record the gnu_unique_object type.Rafael Espindola2010-11-132-0/+2
| | | | llvm-svn: 118980
* Parse and remember discriminators in .loc line. I try to output them withRafael Espindola2010-11-132-2/+8
| | | | | | | another patch. This lets us parse a bit more of the gcc 4.5 output. llvm-svn: 118975
* Fix the encoding of negative line deltas.Rafael Espindola2010-11-131-1/+1
| | | | llvm-svn: 118962
* MCELF: Copy the symbol name only if we're going to modify it.Benjamin Kramer2010-11-121-9/+8
| | | | llvm-svn: 118920
* Remove what looks like dead code in the production of debug lines.Rafael Espindola2010-11-121-45/+2
| | | | | | | | | We only produce debug line information if we have seen a line directive, so this code is dead. Also, if we want to be bug by bug compatible with gas and sometimes produce "empty" .debug_line sections, this will match the content produced by gas. llvm-svn: 118914
* gnu as support both % and @ before types, do the same.Rafael Espindola2010-11-121-10/+4
| | | | llvm-svn: 118893
* Trailing whitespace.Jim Grosbach2010-11-111-5/+5
| | | | llvm-svn: 118831
* Mark labels declared in tls sections as STT_TLS. This matches the behavior ofRafael Espindola2010-11-112-33/+37
| | | | | | gas. llvm-svn: 118818
* Initial comdat implementation.Rafael Espindola2010-11-113-28/+145
| | | | llvm-svn: 118805
* Make AliasedSymbol able to handle MCTargetExpr. They can get here ifRafael Espindola2010-11-111-3/+16
| | | | | | a weakref is used with a VariantKind. llvm-svn: 118798
* Fix the symbol index of weak references. Also make RecordRelocation a bitRafael Espindola2010-11-111-22/+12
| | | | | | | easier to read by having const references to the symbol, aliased symbol and renamed symbol. llvm-svn: 118793
* Remove some explicit arguments to getELFSection. This isRafael Espindola2010-11-111-6/+4
| | | | | | a leftover from the removal of isExplicit. llvm-svn: 118774
* Factor some code into WriteSection.Rafael Espindola2010-11-101-62/+72
| | | | llvm-svn: 118733
* Update the section index map after we add the medatada sections.Rafael Espindola2010-11-101-0/+4
| | | | llvm-svn: 118728
* Use SectionIndexMap in WriteSymbolTable to make it a little less brittle.Rafael Espindola2010-11-101-16/+17
| | | | llvm-svn: 118725
* Factor some code into ComputeIndexMap.Rafael Espindola2010-11-101-14/+28
| | | | llvm-svn: 118722
* Change the String<size> methods to take a fragment instead of a buffer.Rafael Espindola2010-11-101-77/+40
| | | | llvm-svn: 118709
* Use MCSectionELF in places we know we have an ELF section.Rafael Espindola2010-11-102-8/+7
| | | | llvm-svn: 118699
* Update ARMConstantPoolValue to not use a modifier string. Use an explicitJim Grosbach2010-11-101-1/+11
| | | | | | | VariantKind marker to indicate the additional information necessary. Update MC to handle the new Kinds. rdar://8647623 llvm-svn: 118671
* Fixed version of 118639 with an extra assert to catch similar problemsRafael Espindola2010-11-094-40/+30
| | | | | | earlier. Implicit bool -> int conversions are evil! llvm-svn: 118651
* Revert previous patch. Missed a case.Rafael Espindola2010-11-094-29/+40
| | | | llvm-svn: 118645
* Remove IsExplicit. It was always false.Rafael Espindola2010-11-094-40/+29
| | | | llvm-svn: 118639
* Fix typo.Daniel Dunbar2010-11-081-1/+1
| | | | llvm-svn: 118421
* Set default flags for .rodata.Rafael Espindola2010-11-081-1/+3
| | | | llvm-svn: 118395
* Speed up AddSectionToTheEnd. It was walking all fragments in all sections.Rafael Espindola2010-11-071-19/+4
| | | | | | | | | | 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
* Relax dwarf line fragments. This fixes a crash in the included testcase.Rafael Espindola2010-11-071-13/+18
| | | | llvm-svn: 118365
* Add '.code 32' assembler directive to MC streamers.Jim Grosbach2010-11-053-0/+3
| | | | llvm-svn: 118309
* MC'ize the '.code 16' and '.thumb_func' ARM directives.Jim Grosbach2010-11-056-2/+36
| | | | llvm-svn: 118301
* Put class into an anonymous namespace.Benjamin Kramer2010-11-051-0/+2
| | | | llvm-svn: 118294
* Allow targets to specify the MachO CPUType/CPUSubtype information.Jim Grosbach2010-11-051-7/+13
| | | | llvm-svn: 118288
* syntaxunified directive is a no-op for MachO writing.Jim Grosbach2010-11-051-0/+1
| | | | llvm-svn: 118287
* Add 118023 back, but with proper spelling for .uleb128/.sleb128.Rafael Espindola2010-11-041-2/+4
| | | | llvm-svn: 118254
* Do relaxations with FT_Org fragments. Fixes the FIXME:Rafael Espindola2010-11-021-18/+24
| | | | | | | | | // 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
* Add support for expressions in .sleb/.uleb directives.Rafael Espindola2010-11-028-87/+159
| | | | llvm-svn: 118023
* Write the line info to .debug_line.Rafael Espindola2010-11-011-0/+9
| | | | llvm-svn: 117930
* Move EmitInstruction to MCObjectStreamer so that ELF and MachO can share it.Rafael Espindola2010-11-014-69/+46
| | | | llvm-svn: 117925
* Add support for .value.Rafael Espindola2010-11-011-0/+2
| | | | llvm-svn: 117922
* Implement .weakref.Rafael Espindola2010-11-018-2/+121
| | | | llvm-svn: 117911
* Add support for files with more than 65280 sections. No testcase sinceRafael Espindola2010-10-311-42/+109
| | | | | | it would be a bit too big :-) llvm-svn: 117849
* Be more strict on when we produce an undefined reference. In gas a file withRafael Espindola2010-10-291-1/+4
| | | | | | | | | | | | | | | | | | | | | | | just .type foo,@object will produce an undefined reference to foo. On the other hand, a file with just .weakref bar, foo will not. It is somewhat hard to support both in MC since both statements should create the symbols. It should be possible if we really need to by adding to the flags, but hopefully that is not necessary. With this patch we do not produce a undefined reference in any of those cases. The assembly file needs an actual use for the undefined reference to be present. This is in preparation for a patch implementing .weakref. llvm-svn: 117735
* Improvements to .section parsing:Rafael Espindola2010-10-281-10/+38
| | | | | | | | | | * If we have a M or a G, reject sections without the type * Only parse the flag specific arguments if we have M or G * Parse the corresponding arguments for M and G We ignore the G arguments and flag for now. llvm-svn: 117608
* Add support for the .string directive.Rafael Espindola2010-10-281-8/+10
| | | | llvm-svn: 117592
* Defined weak symbols should have non-zero value.Rafael Espindola2010-10-281-4/+3
| | | | llvm-svn: 117585
OpenPOWER on IntegriCloud