cd81d94322a39503e4a3e87b6ee03d4fcb3465fb |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for rebase to r212749. Includes a cherry-pick of: r212948 - fixes a small issue with atomic calls Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/MC/MCELFStreamer.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/MC/MCELFStreamer.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/MC/MCELFStreamer.cpp
|
06866a72b0117e15463b0706d994270b3e20948d |
|
01-Dec-2013 |
Bill Wendling <isanbard@gmail.com> |
Merging r195677: ------------------------------------------------------------------------ r195677 | dpeixott | 2013-11-25 11:11:13 -0800 (Mon, 25 Nov 2013) | 41 lines ARM integrated assembler generates incorrect nop opcode This patch fixes a bug in the assembler that was causing bad code to be emitted. When switching modes in an assembly file (e.g. arm to thumb mode) we would always emit the opcode from the original mode. Consider this small example: $ cat align.s .code 16 foo: add r0, r0 .align 3 add r0, r0 $ llvm-mc -triple armv7-none-linux align.s -filetype=obj -o t.o $ llvm-objdump -triple thumbv7 -d t.o Disassembly of section .text: foo: 0: 00 44 add r0, r0 2: 00 f0 20 e3 blx #4195904 6: 00 00 movs r0, r0 8: 00 44 add r0, r0 This shows that we have actually emitted an arm nop (e320f000) instead of a thumb nop. Unfortunately, this encodes to a thumb branch which causes bad things to happen when compiling assembly code with align directives. The fix is to notify the ARMAsmBackend when we switch mode. The MCMachOStreamer was already doing this correctly. This patch makes the same change for the MCElfStreamer. There is still a bug in the way nops are emitted for alignment because the MCAlignment fragment does not store the correct mode. The ARMAsmBackend will emit nops for the last mode it knew about. In the example above, we still generate an arm nop if we add a `.code 32` to the end of the file. PR18019 ------------------------------------------------------------------------ git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_34@196001 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
72580780a98cb8b0019b7ec4ed88e3f3328b9969 |
|
29-Oct-2013 |
Joerg Sonnenberger <joerg@bec.de> |
Move the STT_FILE symbols out of the normal symbol table processing for ELF. They can overlap with the other symbols, e.g. if a source file "foo.c" contains a function "foo" with a static variable "c". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
c7ce3e4f42219003f30382be17d966cb2dfb4e71 |
|
16-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move .ident handling to MCStreamer. No functionality change, but exposes the API so that codegen can use it too. Patch by Katya Romanova. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
320296a4cfe414ce59f406b8a5ce15272f563103 |
|
08-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add a MCTargetStreamer interface. This patch fixes an old FIXME by creating a MCTargetStreamer interface and moving the target specific functions for ARM, Mips and PPC to it. The ARM streamer is still declared in a common place because it is used from lib/CodeGen/ARMException.cpp, but the Mips and PPC are completely hidden in the corresponding Target directories. I will send an email to llvmdev with instructions on how to use this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
5cc319a42a914b24b164a94d9a563c728a7a4026 |
|
20-Sep-2013 |
Richard Mitton <richard@codersnotes.com> |
Added support for generate DWARF .debug_aranges sections automatically. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
da11df0c22f5d0ba2e2be3ae4a7076c806233db8 |
|
09-Sep-2013 |
Bill Wendling <isanbard@gmail.com> |
Call generateCompactUnwindEncodings() right before we need to output the frame information. There are more than one paths to where the frame information is emitted. Place the call to generateCompactUnwindEncodings() into the method which outputs the frame information, thus ensuring that the encoding is there for every path. This involved threading the MCAsmBackend object through to this method. <rdar://problem/13623355> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
1c9cd021c8999d9c2c0786dff074d1e75bbd0eb2 |
|
09-Aug-2013 |
Saleem Abdulrasool <compnerd@compnerd.org> |
[CodeGen] prevent abnormal on invalid attributes Currently, when an invalid attribute is encountered on processing a .s file, clang will abort due to llvm_unreachable. Invalid user input should not cause an abnormal termination of the compiler. Change the interface to return a boolean to indicate the failure as a first step towards improving hanlding of malformed user input to clang. Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
7a34599db017a5486cf7cd11eb124984acec8286 |
|
09-Jul-2013 |
Ulrich Weigand <ulrich.weigand@de.ibm.com> |
[PowerPC] Revert r185476 and fix up TLS variant kinds In the commit message to r185476 I wrote: >The PowerPC-specific modifiers VK_PPC_TLSGD and VK_PPC_TLSLD >correspond exactly to the generic modifiers VK_TLSGD and VK_TLSLD. >This causes some confusion with the asm parser, since VK_PPC_TLSGD >is output as @tlsgd, which is then read back in as VK_TLSGD. > >To avoid this confusion, this patch removes the PowerPC-specific >modifiers and uses the generic modifiers throughout. (The only >drawback is that the generic modifiers are printed in upper case >while the usual convention on PowerPC is to use lower-case modifiers. >But this is just a cosmetic issue.) This was unfortunately incorrect, there is is fact another, serious drawback to using the default VK_TLSLD/VK_TLSGD variant kinds: using these causes ELFObjectWriter::RelocNeedsGOT to return true, which in turn causes the ELFObjectWriter to emit an undefined reference to _GLOBAL_OFFSET_TABLE_. This is a problem on powerpc64, because it uses the TOC instead of the GOT, and the linker does not provide _GLOBAL_OFFSET_TABLE_, so the symbol remains undefined. This means shared libraries using TLS built with the integrated assembler are currently broken. While the whole RelocNeedsGOT / _GLOBAL_OFFSET_TABLE_ situation probably ought to be properly fixed at some point, for now I'm simply reverting the r185476 commit. Now this in turn exposes the breakage of handling @tlsgd/@tlsld in the asm parser that this check-in was originally intended to fix. To avoid this regression, I'm also adding a different fix for this problem: while common code now parses @tlsgd as VK_TLSGD, a special hack in the asm parser translates this code to the platform-specific VK_PPC_TLSGD that the back-end now expects. While this is not really pretty, it's self-contained and shouldn't hurt anything else for now. One the underlying problem is fixed, this hack can be reverted again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
58fc1f52ce070003acbdfedc85d52ba999a2bd11 |
|
02-Jul-2013 |
Ulrich Weigand <ulrich.weigand@de.ibm.com> |
[PowerPC] Remove VK_PPC_TLSGD and VK_PPC_TLSLD The PowerPC-specific modifiers VK_PPC_TLSGD and VK_PPC_TLSLD correspond exactly to the generic modifiers VK_TLSGD and VK_TLSLD. This causes some confusion with the asm parser, since VK_PPC_TLSGD is output as @tlsgd, which is then read back in as VK_TLSGD. To avoid this confusion, this patch removes the PowerPC-specific modifiers and uses the generic modifiers throughout. (The only drawback is that the generic modifiers are printed in upper case while the usual convention on PowerPC is to use lower-case modifiers. But this is just a cosmetic issue.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185476 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
a3863ea2dacafc925a8272ebf9884fc64bef686c |
|
02-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove address spaces from MC. This is dead code since PIC16 was removed in 2010. The result was an odd mix, where some parts would carefully pass it along and others would assert it was zero (most of the object streamer for example). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
228e0afcfd0d5f167a95c6ddbec2c6a4a90b6d2b |
|
02-Jul-2013 |
Ulrich Weigand <ulrich.weigand@de.ibm.com> |
[PowerPC] Add support for TLS data relocations This adds support for TLS data relocations and modifiers: .quad target@dtpmod .quad target@tprel .quad target@dtprel Currently exploited by the asm parser only. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
cab0a1933875935c717136d251e2af9749533ba8 |
|
21-Jun-2013 |
Ulrich Weigand <ulrich.weigand@de.ibm.com> |
[PowerPC] Support various tls-related modifiers The current code base only supports the minimum set of tls-related relocations and @modifiers that are necessary to support compiler- generated code. This patch extends this to the full set defined in the ABI (and supported by the GNU assembler) for the benefit of the assembler parser. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
92cfa61c50d01307d658753f8d47f4e8555a6fa9 |
|
21-Jun-2013 |
Ulrich Weigand <ulrich.weigand@de.ibm.com> |
[PowerPC] Rename some more VK_PPC_ enums This renames more VK_PPC_ enums, to make them more closely reflect the @modifier string they represent. This also prepares for adding a bunch of new VK_PPC_ enums in upcoming patches. For consistency, some MO_ flags related to VK_PPC_ enums are likewise renamed. No change in behaviour. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
df39be6cb4eb44011db3d3e86f8fe463f81ce127 |
|
17-Apr-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Add support for subsections to the ELF assembler. Fixes PR8717. Differential Revision: http://llvm-reviews.chandlerc.com/D598 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
01a7b5c43e113513a3165a60e85372f89f7eaaff |
|
10-Apr-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Use a scheme closer to that of GNU as when deciding the type of a symbol with multiple .type declarations. Differential Revision: http://llvm-reviews.chandlerc.com/D607 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179184 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
462bba39c232350894c254d42fbe55f9ff78df56 |
|
09-Mar-2013 |
Nick Lewycky <nicholas@mxc.ca> |
We need a shndx if the number of sections breaks SHN_LORESERVE. This condition for choosing to emit a shndx was simply testing the wrong variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176762 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
3a42989d3ddfe30c6b87fe1f3d7f1164e0868a40 |
|
26-Feb-2013 |
Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
Fix PR15359. The PowerPC TLS relocation types were not previously added to the necessary list in MCELFStreamer::fixSymbolsInTLSFixups(). Now they are! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
77afbdce53aa740777486b0cc4e9df151ae65468 |
|
19-Feb-2013 |
Jack Carter <jcarter@mips.com> |
ELF symbol table field st_other support, excluding visibility bits. Generic STO handling at the Target level. The st_other field of the ELF symbol table is one byte in size. The first 2 bytes are used for generic visibility and are currently handled by llvm. The other six bits are processor specific and need to be set at the target level. A couple of notes: The new static methods for accessing and setting the "other" flags in include/llvm/MC/MCELF.h match the style guide and not the other methods in the file. I don't like the inconsistency, but feel I should follow the prescribed lowerUpper() convention. STO_ value definitions are not specified in gnu land as consistently as the STT_ and STB_ fields. Probably because the latter were defined in a standards doc and the former defined partially in code. I have stuck with the full byte definition of the flags. Contributer: Zoran Jovanovic git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
67144e37ba5cd35ee917daac631e03963b05a674 |
|
15-Feb-2013 |
Derek Schuff <dschuff@google.com> |
If bundle alignment is enabled, do not add data to a fragment with instructions With bundle alignment, instructions all get their own MCFragments (unless they are in a bundle-locked group). For instructions with fixups, this is an MCDataFragment. Emitting actual data (e.g. for .long) attempts to re-use MCDataFragments, which we don't want int this case since it leads to fragments which exceed the bundle size. So, don't reuse them in this case. Also adds a test and fixes some formatting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
72062f5744557e270a38192554c3126ea5f97434 |
|
31-Jan-2013 |
Tim Northover <Tim.Northover@arm.com> |
Add AArch64 as an experimental target. This patch adds support for AArch64 (ARM's 64-bit architecture) to LLVM in the "experimental" category. Currently, it won't be built unless requested explicitly. This initial commit should have support for: + Assembly of all scalar (i.e. non-NEON, non-Crypto) instructions (except the late addition CRC instructions). + CodeGen features required for C++03 and C99. + Compilation for the "small" memory model: code+static data < 4GB. + Absolute and position-independent code. + GNU-style (i.e. "__thread") TLS. + Debugging information. The principal omission, currently, is performance tuning. This patch excludes the NEON support also reviewed due to an outbreak of batshit insanity in our legal department. That will be committed soon bringing the changes to precisely what has been approved. Further reviews would be gratefully received. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174054 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
9ccb76998f741a7d3f0f217392a783dfb99c6e87 |
|
16-Jan-2013 |
Eli Bendersky <eliben@google.com> |
Optimize the memory usage of MC bundling, by creating a new type of fragment into which we can emit single instructions without fixups (which is most instructions). This is an optimization required because MCDataFragment is prety large (240 bytes on x64), with no change in functionality. For large programs, this reduces memory usage overhead required for bundling by 40%. To make the code as palatable as possible, the MCEncodedFragment interface was further fragmented (no pun intended) and MCEncodedFragmentWithFixups is used as the interface to work against when the user expects fixups. MCDataFragment and MCRelaxableFragment implement this interface, while the new MCCompactEncodedInstFragment implements MCEncodeFragment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
030f63a397edc20f8f661bac62f7b90cb5cf57bc |
|
14-Jan-2013 |
Eli Bendersky <eliben@google.com> |
Expose an InitToTextSection through MCStreamer. The aim of this patch is to fix the following piece of code in the platform-independent AsmParser: void AsmParser::CheckForValidSection() { if (!ParsingInlineAsm && !getStreamer().getCurrentSection()) { TokError("expected section directive before assembly directive"); Out.SwitchSection(Ctx.getMachOSection( "__TEXT", "__text", MCSectionMachO::S_ATTR_PURE_INSTRUCTIONS, 0, SectionKind::getText())); } } This was added for the "-n" option of llvm-mc. The proposed fix adds another virtual method to MCStreamer, called InitToTextSection. Conceptually, it's similar to the existing InitSections which initializes all common sections and switches to text. The new method is implemented by each platform streamer in a way that it sees fit. So AsmParser can now do this: void AsmParser::CheckForValidSection() { if (!ParsingInlineAsm && !getStreamer().getCurrentSection()) { TokError("expected section directive before assembly directive"); Out.InitToTextSection(); } } Which is much more reasonable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
1ced208be9cab0f994c5df9000da36bc313b2507 |
|
09-Jan-2013 |
Eric Christopher <echristo@gmail.com> |
Last in the series of removing unnecessary '0' arguments for address space. Reordered the EmitULEB128IntValue arguments to make this easier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
251040bc18eedfa56d01fe92836e55cfd8c5d990 |
|
08-Jan-2013 |
Eli Bendersky <eliben@google.com> |
Renamed MCInstFragment to MCRelaxableFragment and added some comments. No change in functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
6c1d4972cf1cd6b6072e31c05f97abb1ed7a8497 |
|
07-Jan-2013 |
Eli Bendersky <eliben@google.com> |
Add the align_to_end option to .bundle_lock in the MC implementation of aligned bundling. The document describing this feature and the implementation has also been updated: https://sites.google.com/a/chromium.org/dev/nativeclient/pnacl/aligned-bundling-support-in-llvm git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
4766ef41b31e4f97bce1179c3b0398303bf65356 |
|
20-Dec-2012 |
Eli Bendersky <eliben@google.com> |
Aligned bundling support. Following the discussion here: http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-December/056754.html The proposal and implementation are fully documented here: https://sites.google.com/a/chromium.org/dev/nativeclient/pnacl/aligned-bundling-support-in-llvm Tests will follow shortly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
2c3a4641a7785da78839caf574277df9cd93b52c |
|
16-Dec-2012 |
Reed Kotler <rkotler@mips.com> |
This patch is needed to make c++ exceptions work for mips16. Mips16 is really a processor decoding mode (ala thumb 1) and in the same program, mips16 and mips32 functions can exist and can call each other. If a jal type instruction encounters an address with the lower bit set, then the processor switches to mips16 mode (if it is not already in it). If the lower bit is not set, then it switches to mips32 mode. The linker knows which functions are mips16 and which are mips32. When relocation is performed on code labels, this lower order bit is set if the code label is a mips16 code label. In general this works just fine, however when creating exception handling tables and dwarf, there are cases where you don't want this lower order bit added in. This has been traditionally distinguished in gas assembly source by using a different syntax for the label. lab1: ; this will cause the lower order bit to be added lab2=. ; this will not cause the lower order bit to be added In some cases, it does not matter because in dwarf and debug tables the difference of two labels is used and in that case the lower order bits subtract each other out. To fix this, I have added to mcstreamer the notion of a debuglabel. The default is for label and debug label to be the same. So calling EmitLabel and EmitDebugLabel produce the same result. For various reasons, there is only one set of labels that needs to be modified for the mips exceptions to work. These are the "$eh_func_beginXXX" labels. Mips overrides the debug label suffix from ":" to "=." . This initial patch fixes exceptions. More changes most likely will be needed to DwarfCFException to make all of this work for actual debugging. These changes will be to emit debug labels in some places where a simple label is emitted now. Some historical discussion on this from gcc can be found at: http://gcc.gnu.org/ml/gcc-patches/2008-08/msg00623.html http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01273.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
64d9a3233476553fc950f0f2fc6a2cdd2a4c05cf |
|
07-Dec-2012 |
Eli Bendersky <eliben@google.com> |
Refactor MCInstFragment and MCDataFragment to adhere to a common interface, which removes code duplication and prepares the ground for future additions. Full discussion: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20121203/158233.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
ef76b273f96d99a4a260f3dcadde8fbb96256cf3 |
|
07-Dec-2012 |
Eli Bendersky <eliben@google.com> |
Lift EmitAssignment into MCObjectStreamer which gets rid of at least three duplicate implementations in format-specific streamers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169613 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
6eb3e87df04f8b035562d9865292c23f5b79f1a2 |
|
07-Dec-2012 |
Tim Northover <Tim.Northover@arm.com> |
Added Mapping Symbols for ARM ELF Before this patch, when you objdump an LLVM-compiled file, objdump tried to decode data-in-code sections as if they were code. This patch adds the missing Mapping Symbols, as defined by "ELF for the ARM Architecture" (ARM IHI 0044D). Patch based on work by Greg Fitzgerald. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
645016533d1208d2e7a17d917d64b8b63c4f9939 |
|
07-Dec-2012 |
Logan Chien <tzuhsiang.chien@gmail.com> |
Split MCELFStreamer into a header file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
f35c62bf025411393c7df0803851010cc0e597ba |
|
15-Oct-2012 |
Adhemerval Zanella <azanella@linux.vnet.ibm.com> |
PowerPC: add EmitTCEntry class for TOC creation This patch replaces the EmitRawText by a EmitTCEntry class (specialized for each Streamer) in PowerPC64 TOC entry creation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
e660fc15fe1f1b8a19488f39d0ec09acc79bed0d |
|
04-Oct-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Hoist some grossly duplicated code from the COFF/ELF/MachO streamers into MCObjectStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
3f90a4c42d1683600e91c2aea325bacf59c37f5e |
|
14-Sep-2012 |
Jim Grosbach <grosbach@apple.com> |
Assembler: Darwin variables defined via .set are no-dead-strip. For gas compatibility. rdar://12219394 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163854 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
c90a1fcf9f44858b20e0f5f7e0b98049aec7a1e0 |
|
22-Jun-2012 |
Evan Cheng <evan.cheng@apple.com> |
EmitZerofill should take a 64-bit size or else it's chopping off large zero-filled global. rdar://11729134 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
3e96531186ba574b0c25a4be62d24b8b7d752c9f |
|
18-May-2012 |
Jim Grosbach <grosbach@apple.com> |
Refactor data-in-code annotations. Use a dedicated MachO load command to annotate data-in-code regions. This is the same format the linker produces for final executable images, allowing consistency of representation and use of introspection tools for both object and executable files. Data-in-code regions are annotated via ".data_region"/".end_data_region" directive pairs, with an optional region type. data_region_directive := ".data_region" { region_type } region_type := "jt8" | "jt16" | "jt32" | "jta32" end_data_region_directive := ".end_data_region" The previous handling of ARM-style "$d.*" labels was broken and has been removed. Specifically, it didn't handle ARM vs. Thumb mode when marking the end of the section. rdar://11459456 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
5f7692604d44192206fbaf390085a95c9fb1a40b |
|
15-Feb-2012 |
David Meyer <pdox@google.com> |
For ELF, also call fixSymbolsInTLSFixups() on expressions passed to EmitValue (literal values). Previously only called on expressions in instructions. New test cases added to tls.s, tls-i386.s. Resolves PR11981. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150582 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
858143816d43e58b17bfd11cb1b57afbd7f0f893 |
|
07-Feb-2012 |
Craig Topper <craig.topper@gmail.com> |
Convert assert(0) to llvm_unreachable git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
f340a29e7ae88f3443cef72f8007a78c3ce3ec83 |
|
08-Jan-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove MCELFStreamer.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147745 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
99b4237c1647156f0e1d3d7e03efdab23ed79778 |
|
07-Jan-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Split Finish into Finish and FinishImpl to have a common place to do end of file error checking. Use that to error on an unfinished cfi_startproc. The error is not nice, but is already better than a segmentation fault. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
a0c17a495b12debcb7f206993bbc6020e2e6e8df |
|
12-Dec-2011 |
Roman Divacky <rdivacky@freebsd.org> |
Add support for gnu_indirect_function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
946227d64afcc8cb3f4db94b6ee0cdb1aa55fa31 |
|
15-Nov-2011 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. 80 columns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
3507d24547ce668c9a50c72b6748c0a303e295c1 |
|
25-Oct-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
This is the first of several patches for Mips direct object generation. This first patch is for expression variable kinds. Patch by Jack Carter! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
36a16015ac108e2f0dd2d6d96a6d364bc74c50d7 |
|
02-Sep-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Don't drop alignment info on local common symbols. - On COFF the .lcomm directive has an alignment argument. - On ELF we fall back to .local + .comm Based on a patch by NAKAMURA Takumi. Fixes PR9337, PR9483 and PR10128. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
bd27f5adbd8f3b8ab8def5aa43fbc406ac9b8cbe |
|
27-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Support .code32 and .code64 in X86 assembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
78c10eeaa57d1c6c4b7781d3c0bcb0cfbbc43b5c |
|
26-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Rename TargetAsmBackend to MCAsmBackend; rename createAsmBackend to createMCAsmBackend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
a7cfc08ebe737062917b442830eb5321b0f79e89 |
|
23-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Move TargetAsmParser.h TargetAsmBackend.h and TargetAsmLexer.h to MC where they belong. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
672b93a3324cc1da6d374eed4c75c050a9cad7be |
|
14-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Unfortunately several files in MC are badly violating layering rule by using TargetAsmInfo, which in turn pulls in TargetRegisterInfo, etc. :-( There are other cases of violations, but this is probably the worst. This patch is but one small step towards fixing this. 500 more steps to go. :-( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
6469540adf63d94a876c2b623cb4ca70479647f7 |
|
16-May-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
sets bit 0 of the function address of thumb function in .symtab ("T is 1 if the target symbol S has type STT_FUNC and the symbol addresses a Thumb instruction ;it is 0 otherwise." from "ELF for the ARM Architecture" 4.7.1.2) Patch by Koan-Sin Tan! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
c25dad8750083829d9a8935ce40d0734e5488f8e |
|
10-May-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Factor some code into a new EmitFrames method. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131119 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
5426a9ee37667660935d80841c5392d78e254318 |
|
01-May-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
GCC uses a different encoding of pointers in the FDE when using -fno-dwarf2-cfi-asm. Implement the same behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
d02c8b6cc1d07bfe37fc055eefdac21b1c9303cb |
|
17-Mar-2011 |
Joerg Sonnenberger <joerg@bec.de> |
Fix handling of @IDNTPOFF relocations, they need to get STT_TLS. While here, add VK_ARM_TPOFF and VK_ARM_GOTTPOFF, too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
24b17c673076af1bb77dd24096c8d17c734c94bc |
|
03-Mar-2011 |
Jan Sjödin <jan_sjodin@yahoo.com> |
Split MCEELFStreamer and ELFObjectWriter into .h and .cpp files, so that other components can use them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126942 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
2ddfd95d40e07f5fdf179a16e15a5d7c131837d8 |
|
28-Feb-2011 |
Jan Sjödin <jan_sjodin@yahoo.com> |
Make all static functions become static class methods. Move shared (duplicated) functions to new MCELF class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126686 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
f754f50805fee2bb4d461a9b41107122a22cd6f6 |
|
25-Feb-2011 |
Cameron Zwarich <zwarich@apple.com> |
Roll out r126425 and r126450 to see if it fixes the failures on the buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
f410608271b6318bfc9e26c0d199f185d5a89ccb |
|
24-Feb-2011 |
Devang Patel <dpatel@apple.com> |
Enable DebugInfo support for COFF object files. Patch by Nathan Jeffords! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
7768a9dce14431018133cd586f5c8ce3e057f069 |
|
16-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add support for pushsection and popsection. Patch by Joerg Sonnenberger. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
96aa78c8c5ef1a5f268539c9edc86569b436d573 |
|
23-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add support for the --noexecstack option. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
1c13026e8f94bd332c0979baa9c777da99d48736 |
|
23-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove more duplicated code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
c85dca66e68c9fa6ffa8471c64113b12d8d94fb1 |
|
23-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove duplicated code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124054 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
d7c8ccae8e48dce3ab7c3e9b4d8a309998c47961 |
|
26-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add basic support for .cfi_personality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
f13743bb3c3fb37a59b59f26056bc391bf0adcdc |
|
16-Dec-2010 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
1. ARM/MC/ELF: A few more ELF relocs for .o 2. Fixed EmitLocalCommonSymbol for ELF (Yes, they exist. :) Test added. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
89b9372605db2ce3b0085c84089e389f7bc1fbdd |
|
10-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fixed version of 121434 with no new memory leaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
f7fd4aa2610f46467369de07f3ec669561d79be0 |
|
10-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert my previous patch to make the valgrind bots happy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
1c952b9cc98e84b28f68f0f6cf11197263f89863 |
|
10-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Initial support for the cfi directives. This is just enough to get f: .cfi_startproc nop .cfi_endproc assembled (on ELF). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
85f2ecc697a8ca6c8cf08093054cbbb9d2060ccf |
|
07-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Sorry for such a large commit. The summary is that only MachO cares about the actuall addresses in a .o file, so it is better to let the MachO writer compute it. This is good for two reasons. First, areas that shouldn't care about addresses now don't have access to it. Second, the layout of each section is independent. I should use this in a subsequent commit to speed it up. Most of the patch is just removing the section address computation. The two interesting parts are the change on how we handle padding in the end of sections and how MachO can get the address of a-b when a and b are in different sections. Since now the expression evaluation normally doesn't know the section address, it will think that a-b needs relocation and let the MachO writer know. Once it has computed the section addresses, it calls back the expression evaluation with the section addresses to resolve these expressions. The remaining problem is the handling of padding. Currently it will create a special alignment fragment at the end. Since that fragment doesn't update the alignment of the section, it needs the real address to be computed. Since now the layout will not compute a-b with a and b in different sections, the only effect that the special alignment fragment has is update the address size of the section. This can also be done by the MachO writer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
32a006e606742b1c5401e49607e33717bb5441f0 |
|
03-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Try to resolve symbol differences early, and if successful create a plain data fragment. This reduces the time to assemble the test in 8711 from 60s to 54s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
e23930543c0de0adcfec00cd18e9243ad812a167 |
|
02-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move EmitValueToOffset to the ObjectStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
dedb045c3296c831962c4ae101531c38c273ba89 |
|
02-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add EmitInstToFragment to the generic object streamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
6f95023a7f27075011a6eb7b84e03732b00a785b |
|
29-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move EmitValue to MCObjectStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120269 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
ea4afa91eb453323948588ad1e1706d842fb9007 |
|
28-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fixed verson of r120245. Factor some duplicated code into MCObjectStreamer::EmitLabel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
ba210243ef7d325ef6954d459091edf580a241f9 |
|
28-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert previous patch while I debug the darwin bootstrap failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
f90a2de72c25e24f26577b0dd8145ac21fe10f5e |
|
28-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Factor some duplicated code into MCObjectStreamer::EmitLabel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
3e03211625bba5bbb70a193c140ebf4dd8388bb7 |
|
28-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Avoid code duplication in the many unsupported EmitGPRel32Value implementations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120243 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
e04ed7e45f194f14a7b28bbf3f55694d8e2bcf80 |
|
28-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Define generic 1, 2 and 4 byte pc relative relocations. They are common and at least the 4 byte one will be needed to implement the .cfi_* directives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
bf8209daf875fa533a379290a91d01be5152597d |
|
24-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix and add tests for all cases in x86 and x86_64 where gnu as implicitly sets the type of a symbol to STT_TLS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120100 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
97551276c59d4521200d2a4cf312a3fa885f2507 |
|
24-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
If a symbol is used as tls, mark it as tls even if not declare as so. Probably fixes PR8659. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
e8e98d7f2eaa0613442ce21ab6a040c0f04f5b4d |
|
19-Nov-2010 |
Kevin Enderby <enderby@apple.com> |
Added support for the Mach-O .symbol_resolver directive. rdar://8673046 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
195a0ce484cd12a5adae9184188f6d0fb52b84c0 |
|
19-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Change some methods in MCDwarf.cpp to be able to handle an arbitrary MCStreamer instead of just MCObjectStreamer. Address changes cannot be as efficient as we have to use DW_LNE_set_addres, but at least most of the logic is shared. This will be used so that, with CodeGen still using EmitDwarfLocDirective, llvm-gcc is able to produce debug_line sections without needing an assembler that supports .loc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
af6b5808756d6ce335df9eb158efa33894b401c4 |
|
16-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add .loc methods to the streamer. Next: Add support for the !HasDotLocAndDotFile case to the MCAsmStreamer and then switch codegen to use it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
94ed5fca3f5ab5acb74e70b8393b837131e7110c |
|
15-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Change MCExpr::EvaluateAsRelocatableImpl of variables to return the original 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
55d02f3a138badd5b1f96240b4d4b416d9026e2c |
|
14-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix another case of a .comm directive without a corresponding .type directive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119073 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
765fb1a446e0f1f338858dc628b4a7a60da37e80 |
|
14-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix the type of a symbol created with .comm and no corresponding .type. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119060 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
1f4f9e3d35a2264d86f97dfb6d1e4ccb434f449b |
|
14-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Handle a peculiar comdat case: Creating a section with an undefined signature symbol causes a local symbol to be created unless there is some other use of the symbol. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
7e528a1724d8f38dd817396938aaf768887c8b30 |
|
14-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
e1a2587ee273943390608df096378116ce52ffba |
|
11-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Mark labels declared in tls sections as STT_TLS. This matches the behavior of gas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
ba21957cbd7b25e3d25a3e9befe6151000242853 |
|
05-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
Add '.code 32' assembler directive to MC streamers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
ce79299f78bb04e76e1860ab119b85d69f3a19c7 |
|
05-Nov-2010 |
Jim Grosbach <grosbach@apple.com> |
MC'ize the '.code 16' and '.thumb_func' ARM directives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
f79856986d47553240fb3f5fe796faa2a57be1bb |
|
05-Nov-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Put class into an anonymous namespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
c70a1d985aca40b33b3e4b046b179f0d5e5e238b |
|
01-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Write the line info to .debug_line. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
f89671d994ba27e2816a7e49eb8bbc1b43d2a147 |
|
01-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move EmitInstruction to MCObjectStreamer so that ELF and MachO can share it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
484291c27319668ad99cb87def000254357736fb |
|
01-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement .weakref. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
3223f19ff0920ffee686faba3bf74babf580e8a5 |
|
06-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make sure weak symbols are listed after the local ones. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
8f413fa9c00dbaea000ddfe265ab5edd285ea3ab |
|
05-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
On ELF we need to know which symbols are used in relocations to decide if they should be in the symbol table or not. Instead of "guessing", just compute the symbol table after the relocations are known. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
afd1cc25786f68ca56a63d29ea2bd297990e9f81 |
|
30-Sep-2010 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
Tiny patch for proof-of-concept cleanup of ARMAsmPrinter::EmitStartOfAsmFile() Small test for sanity check of resulting ARM .s file. Tested against -r115129. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
9e3922e94975b7b3d98da42f0d20a524f3deed53 |
|
29-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move "local commons" to the end of .bss to match the gnu as behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
73ffea47d20bc9f559b4ce0c60166ee504073832 |
|
25-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move ELF to HasReliableSymbolDifference=true. Also take the opportunity to put symbols defined in merge sections in independent atoms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
59ff3c913449402ad5447bbe3ae6338402fb84b0 |
|
23-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Avoid some Mach-O specific alignment being done on ELF. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
1963572f9de87cd1ac5f16e504e27c3c26267e6f |
|
22-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Correctly align bss. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
f7c10a3cff61c70efe8e405d9bdc5386e8e3fc0a |
|
21-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement support for .local and its "interesting" interactions with .comm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114382 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
d80781b98b771d370730ab7c630018f23e202b57 |
|
15-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add a InitSections method to the streamer interface. 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
f713384be52aae0ec1d0f19618f71cc345acb1f9 |
|
13-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Factoring and potential bug fix. The elf "flags" cannot be used as masks. For example, setting STT_OBJECT (1) and STT_FUNC (2), should not produce a STT_SECTION (3). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113759 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
b629dcca72a45ac0ab0095c3dc52cd0a378b1431 |
|
08-Sep-2010 |
Roman Divacky <rdivacky@freebsd.org> |
ELF_STB_Local is 0 so setting and checking it must be done specially git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
230c27472458d5f1f52f96347b655d1b5c531f33 |
|
02-Sep-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Allow MCSA_WeakRef in ELF. Patch by Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112834 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
82a3171b72d97fda51345dece0e3a57424dbe1b1 |
|
30-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Mark all common symbols external. This is not exactly correct but it lets apps link for now and can be adjusted later. Patch by Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
93ded7371f5f821c342bdf83b40f4ef607467a3f |
|
27-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
MCELF: Port EmitInstruction changes from MachO streamer. Patch by Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112260 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
f8020a3978b9a56074a3a5f9821c63165e37bff7 |
|
16-Aug-2010 |
Eli Friedman <eli.friedman@gmail.com> |
Fix a few warnings in and detabify MCELFStreamer and ELFObjectWriter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|
3565a06ebf44a193a8b333cbeff2ee154298d450 |
|
16-Aug-2010 |
Matt Fleming <matt@console-pimps.org> |
Add ELF ObjectWriter and Streamer support. I forgot to add these files in commit 111172. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCELFStreamer.cpp
|