Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Add support for the same encodings of the personality function that gnu as | Rafael Espindola | 2010-12-27 | 1 | -11/+424 | |
| | | | | | | supports. llvm-svn: 122577 | |||||
* | Add support for @note. Patch by Jörg Sonnenberger. | Rafael Espindola | 2010-12-26 | 1 | -1/+14 | |
| | | | | llvm-svn: 122568 | |||||
* | Add basic support for .cfi_personality. | Rafael Espindola | 2010-12-26 | 1 | -7/+37 | |
| | | | | llvm-svn: 122566 | |||||
* | Simplify the handling of .size expressions. | Rafael Espindola | 2010-12-22 | 1 | -10/+0 | |
| | | | | llvm-svn: 122404 | |||||
* | Set the value of absolute symbols. | Roman Divacky | 2010-12-20 | 1 | -1/+14 | |
| | | | | llvm-svn: 122268 | |||||
* | Print all 64bits for st_value and st_size. Adjust tests accordingly. | Roman Divacky | 2010-12-20 | 17 | -134/+134 | |
| | | | | llvm-svn: 122263 | |||||
* | Add a test that shows that we produce no fixups when computing the difference | Rafael Espindola | 2010-12-18 | 1 | -0/+16 | |
| | | | | | | of two symbols in the same fragment. llvm-svn: 122145 | |||||
* | Test for push being relaxed. | Rafael Espindola | 2010-12-18 | 1 | -0/+7 | |
| | | | | llvm-svn: 122124 | |||||
* | "Fix" FDE alignment to match what gas does. | Rafael Espindola | 2010-12-17 | 1 | -6/+17 | |
| | | | | llvm-svn: 122006 | |||||
* | Make pushq produce signed relocations. | Rafael Espindola | 2010-12-16 | 1 | -0/+8 | |
| | | | | llvm-svn: 122005 | |||||
* | Fixed version of 121434 with no new memory leaks. | Rafael Espindola | 2010-12-10 | 2 | -1/+42 | |
| | | | | llvm-svn: 121471 | |||||
* | Revert my previous patch to make the valgrind bots happy. | Rafael Espindola | 2010-12-10 | 2 | -42/+1 | |
| | | | | llvm-svn: 121461 | |||||
* | Initial support for the cfi directives. This is just enough to get | Rafael Espindola | 2010-12-09 | 2 | -1/+42 | |
| | | | | | | | | | | | f: .cfi_startproc nop .cfi_endproc assembled (on ELF). llvm-svn: 121434 | |||||
* | Next step: Only pad debug_line when the target is darwin. Add a FIXME to avoid | Rafael Espindola | 2010-12-04 | 1 | -0/+21 | |
| | | | | | | | | | | | doing that if the target is darwin10 or newer. This fixes *) Direct object emission was producing objects without the workaround on darwin9. *) Assembly printing was producing objects with the workaround on linux. llvm-svn: 120866 | |||||
* | Fix some broken CHECK lines. | Benjamin Kramer | 2010-11-29 | 1 | -1/+1 | |
| | | | | llvm-svn: 120332 | |||||
* | Factor some code to parseSectionFlags and fix the default type of a section. | Rafael Espindola | 2010-11-25 | 1 | -0/+13 | |
| | | | | llvm-svn: 120145 | |||||
* | Behave a bit more like gnu as and use the symbol (instead of the section) | Rafael Espindola | 2010-11-24 | 1 | -1/+64 | |
| | | | | | | for any relocation to a symbol defined in a tls section. llvm-svn: 120121 | |||||
* | Relocate with the symbol if the relocation is of kind NTPOFF. | Rafael Espindola | 2010-11-24 | 1 | -13/+34 | |
| | | | | | | Patch by David Meyer, I added the test. llvm-svn: 120104 | |||||
* | Fix and add tests for all cases in x86 and x86_64 where gnu as implicitly | Rafael Espindola | 2010-11-24 | 2 | -11/+96 | |
| | | | | | | sets the type of a symbol to STT_TLS. llvm-svn: 120100 | |||||
* | If a symbol is used as tls, mark it as tls even if not declare as so. Probably | Rafael Espindola | 2010-11-24 | 1 | -2/+14 | |
| | | | | | | fixes PR8659. llvm-svn: 120076 | |||||
* | Produce a relocation for pcrel absolute values. Based on a patch by David Meyer. | Rafael Espindola | 2010-11-23 | 1 | -0/+16 | |
| | | | | llvm-svn: 120006 | |||||
* | Handle PCRel relocations with absolute values. Fixes PR8656. | Rafael Espindola | 2010-11-21 | 1 | -0/+7 | |
| | | | | llvm-svn: 119917 | |||||
* | Add support for .int. | Rafael Espindola | 2010-11-17 | 1 | -3/+3 | |
| | | | | llvm-svn: 119512 | |||||
* | Add support for .2byte, .4byte and .8byte. | Rafael Espindola | 2010-11-17 | 1 | -0/+20 | |
| | | | | | | Fixes PR8631. llvm-svn: 119511 | |||||
* | A bit more of gnu as compatibility when handling relocations with aliases. | Rafael Espindola | 2010-11-16 | 1 | -5/+8 | |
| | | | | llvm-svn: 119328 | |||||
* | Change MCExpr::EvaluateAsRelocatableImpl of variables to return the original | Rafael Espindola | 2010-11-15 | 1 | -0/+26 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | |||||
* | Fix PR8565. | Rafael Espindola | 2010-11-15 | 1 | -0/+21 | |
| | | | | | | | | | | | This moves most of the isUsed logic to the MCSymbol itself. With this we get a bit more relaxed about allowing definitions after uses: uses that don't evaluate their argument immediately (jmp foo) are accepted. ddunbar, this was the smallest compromise I could think of that lets us accept gcc (and clang!) assembly. llvm-svn: 119144 | |||||
* | Move the logic to decide with which symbol we produce a relocation (if any) to | Rafael Espindola | 2010-11-14 | 1 | -7/+17 | |
| | | | | | | a central location. This also makes us a bit more compatible with gas. llvm-svn: 119094 | |||||
* | Fix another case of a .comm directive without a corresponding .type | Rafael Espindola | 2010-11-14 | 1 | -4/+17 | |
| | | | | | | directive. llvm-svn: 119073 | |||||
* | Fix the type of a symbol created with .comm and no corresponding .type. | Rafael Espindola | 2010-11-14 | 1 | -0/+12 | |
| | | | | llvm-svn: 119060 | |||||
* | Handle a peculiar comdat case: Creating a section with an undefined | Rafael Espindola | 2010-11-14 | 1 | -6/+53 | |
| | | | | | | | signature symbol causes a local symbol to be created unless there is some other use of the symbol. llvm-svn: 119026 | |||||
* | Parse and record the gnu_unique_object type. | Rafael Espindola | 2010-11-13 | 1 | -0/+3 | |
| | | | | llvm-svn: 118980 | |||||
* | Fix the encoding of negative line deltas. | Rafael Espindola | 2010-11-13 | 1 | -0/+32 | |
| | | | | llvm-svn: 118962 | |||||
* | gnu as support both % and @ before types, do the same. | Rafael Espindola | 2010-11-12 | 2 | -7/+38 | |
| | | | | llvm-svn: 118893 | |||||
* | Mark labels declared in tls sections as STT_TLS. This matches the behavior of | Rafael Espindola | 2010-11-11 | 1 | -0/+15 | |
| | | | | | | gas. llvm-svn: 118818 | |||||
* | Initial comdat implementation. | Rafael Espindola | 2010-11-11 | 2 | -6/+47 | |
| | | | | llvm-svn: 118805 | |||||
* | Make AliasedSymbol able to handle MCTargetExpr. They can get here if | Rafael Espindola | 2010-11-11 | 1 | -0/+8 | |
| | | | | | | a weakref is used with a VariantKind. llvm-svn: 118798 | |||||
* | Fix the symbol index of weak references. Also make RecordRelocation a bit | Rafael Espindola | 2010-11-11 | 1 | -0/+49 | |
| | | | | | | | easier to read by having const references to the symbol, aliased symbol and renamed symbol. llvm-svn: 118793 | |||||
* | Set default flags for .rodata. | Rafael Espindola | 2010-11-08 | 1 | -2/+15 | |
| | | | | llvm-svn: 118395 | |||||
* | Relax dwarf line fragments. This fixes a crash in the included testcase. | Rafael Espindola | 2010-11-07 | 1 | -0/+11 | |
| | | | | llvm-svn: 118365 | |||||
* | Add support for expressions in .sleb/.uleb directives. | Rafael Espindola | 2010-11-02 | 1 | -0/+19 | |
| | | | | llvm-svn: 118023 | |||||
* | Fix test. | Rafael Espindola | 2010-11-01 | 1 | -1/+1 | |
| | | | | llvm-svn: 117932 | |||||
* | Write the line info to .debug_line. | Rafael Espindola | 2010-11-01 | 1 | -0/+22 | |
| | | | | llvm-svn: 117930 | |||||
* | Implement .weakref. | Rafael Espindola | 2010-11-01 | 1 | -0/+234 | |
| | | | | llvm-svn: 117911 | |||||
* | Be more strict on when we produce an undefined reference. In gas a file with | Rafael Espindola | 2010-10-29 | 3 | -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 Espindola | 2010-10-28 | 1 | -0/+5 | |
| | | | | | | | | | | * 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 | |||||
* | Defined weak symbols should have non-zero value. | Rafael Espindola | 2010-10-28 | 1 | -2/+2 | |
| | | | | llvm-svn: 117585 | |||||
* | Fix relocations with renamed symbols. | Rafael Espindola | 2010-10-28 | 1 | -0/+46 | |
| | | | | llvm-svn: 117575 | |||||
* | Aliases defined with .symver should copy the binding of the symbols they alias. | Rafael Espindola | 2010-10-28 | 1 | -3/+26 | |
| | | | | | | | Move the existing patching for undefined symbols so that all the patching is done in the same function. llvm-svn: 117570 | |||||
* | Implement R_X86_64_DTPOFF32. | Rafael Espindola | 2010-10-28 | 1 | -0/+7 | |
| | | | | llvm-svn: 117548 |