828ea3849a8c799651a6c33cdc5d92a6923bf95a |
|
27-Aug-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix comment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
93ee286e8d949147f8df7f093c9bd8529a99102d |
|
28-Jun-2012 |
Jack Carter <jcarter@mips.com> |
The ELF relocation record format is different for N64 which many Mips 64 ABIs use than for O64 which many if not all other target ABIs use. Most architectures have the following 64 bit relocation record format: typedef struct { Elf64_Addr r_offset; /* Address of reference */ Elf64_Xword r_info; /* Symbol index and type of relocation */ } Elf64_Rel; typedef struct { Elf64_Addr r_offset; Elf64_Xword r_info; Elf64_Sxword r_addend; } Elf64_Rela; Whereas N64 has the following format: typedef struct { Elf64_Addr r_offset;/* Address of reference */ Elf64_Word r_sym; /* Symbol index */ Elf64_Byte r_ssym; /* Special symbol */ Elf64_Byte r_type3; /* Relocation type */ Elf64_Byte r_type2; /* Relocation type */ Elf64_Byte r_type; /* Relocation type */ } Elf64_Rel; typedef struct { Elf64_Addr r_offset;/* Address of reference */ Elf64_Word r_sym; /* Symbol index */ Elf64_Byte r_ssym; /* Special symbol */ Elf64_Byte r_type3; /* Relocation type */ Elf64_Byte r_type2; /* Relocation type */ Elf64_Byte r_type; /* Relocation type */ Elf64_Sxword r_addend; } Elf64_Rela; The structure is the same size, but the r_info data element is now 5 separate elements. Besides the content aspects, endian byte reordering will be different for the area with each element being endianized separately. I treat this as generic and continue to pass r_type as an integer masking and unmasking the byte sized N64 values for N64 mode. I've implemented this and it causes no affect on other current targets. This passes make check. Jack git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
2684d9e3c702b2ef9fd430155d94671d12fa994f |
|
11-May-2012 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. Trailing whitespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
f1d0f7781e766df878bec4e7977fa3204374f394 |
|
26-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Prune some includes and forward declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
00ca888cccd130dd3ebcfc02cf2b9187b54d116e |
|
24-Mar-2012 |
Akira Hatanaka <ahatanaka@mips.com> |
Add a hook in MCELFObjectTargetWriter to allow targets to sort relocation entries in the relocation table before they are written out to the file. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153345 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
263109d822314305822796a2cc05e98304793051 |
|
20-Jan-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove a bunch of unused variable assignments. Found by the clang static analyzer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
3963d617b3709c510003ac816fb42f28539fc62b |
|
22-Dec-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Kill the monstrosity that was ELFObjectWriter.h. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147136 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
7bd278019d745d8b339f6b896926ce32ce118db7 |
|
22-Dec-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Misc cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
090445967f0b5988446faffefd1d0722f982bc7a |
|
22-Dec-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move the Mips only bits of the ELF writer to lib/Target/Mips. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
4982159b885f1db4cc29b1695841121db85a64a1 |
|
22-Dec-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move the MBlaze ELF writer bits to lib/Target/MBlaze. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147129 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
f3a86fb03d196994dc7923351f15d8ed9343013e |
|
22-Dec-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move PPC bits to lib/Target/PowerPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
bc24985c5ff01fc25336896c388bd8e4e02ffd95 |
|
22-Dec-2011 |
Akira Hatanaka <ahatanaka@mips.com> |
Local dynamic TLS model for direct object output. Create the correct TLS MIPS ELF relocations. Patch by Jack Carter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147118 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
69bbda03918a18bd4477bb254d51346ee3033567 |
|
22-Dec-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move the ARM specific parts of the ELF writer to Target/ARM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
e99183d2ace21eb25325304c164b21bf2910fc63 |
|
22-Dec-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
getEFlags is const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147114 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
e8526d030f2cf8cc79f2d923274944cb0fa9c4eb |
|
21-Dec-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Switch from WriteEFlags to getEFlags in preparation for moving it to Target/. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
edae8e1e4d5bd9b59f18ecef04a248be95d8ca46 |
|
21-Dec-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move the X86 specific bits of the ELF writer to the Target/X86 directory. Other targets will follow shortly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147060 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
dc9a8a378daf432d8dcfc178507afe149706f9a6 |
|
21-Dec-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Reduce the exposure of Triple::OSType in the ELF object writer. This will avoid including ADT/Triple.h in many places when the target specific bits are moved. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
c677e790e5e8ff986ca84229f37751d26bf87f45 |
|
21-Dec-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Small refactoring so that RelocNeedsGOT can stay in the target independent side when the target specific bits are moved to the Target directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147053 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
f3315cf65f9574cd1e4e784d2860c943cfa65ce9 |
|
13-Dec-2011 |
Akira Hatanaka <ahatanaka@mips.com> |
Relocation against a symbol, instead of against section. We had some extreme test cases where there were a lot of relocations applied relative to a large rodata section. Gas would create a symbol for each of these whereas we would be relative to the beginning of the rodata section. This change mimics what gas does. Patch by Jack Carter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
3c68acd202d061c38e9b7744012094b4009d932a |
|
09-Dec-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Handle reloc_signed_4byte in here. Not doing so was a regression from my previous commit. It is strange that we see it in 32 bits. We already have a fixme about it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146273 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
1d5969d839ddc4d0af93fd035aa13131e5c6fa82 |
|
09-Dec-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Handle the case of the magical _GLOBAL_OFFSET_TABLE_ showing up in a symbol difference. This matches gas behavior and fixes PR11513. We still don't handle _GLOBAL_OFFSET_TABLE_ in data sections. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146238 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
e3d3572e282733bd7aa5ac14115ed0804174e426 |
|
07-Dec-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Add a few moreLocal/Global R_MIPS_GOT related fixups and make the addend fixup code a bit more generic Patch by Jack Carter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145998 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
a00a62acd02a94aabecc94ac551d8bb305ed7265 |
|
06-Dec-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Explicit symbols for gnu mimicing relocations. Patch by Jack Carter git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
f68a26b5d8e06a85edba97702884a74673b60807 |
|
06-Dec-2011 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. Hard tabs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
f77d5b14af6b92403b93f7ed249f9023e99028cc |
|
06-Dec-2011 |
Jim Grosbach <grosbach@apple.com> |
Switch MCAssembler to method names starting w/ lower-case. per http://llvm.org/docs/CodingStandards.html#ll_naming git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
84bfc2f090639f933df06cc675c4385511516bef |
|
23-Nov-2011 |
Akira Hatanaka <ahatanaka@mips.com> |
This patch addresses gp relative fixups/relocations for jump tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
a0dd4cbc8739ab24535542b58c4c25e15146b44d |
|
04-Nov-2011 |
Bruno Cardoso Lopes <bruno.cardoso@gmail.com> |
Add mips ELF relocation types. Patch by Jack Carter! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
7aabcb1fc0a94becb437134747a63ff686c0661f |
|
11-Oct-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Also create a shndx even if there are no symbols. This lets us test .symtab_shndx reading and writing together, and finally we have a testcase for r141440. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141641 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
d2fdb4a28560688be5cbc5b2b0c305ec7207cbd0 |
|
08-Oct-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Don't emit the symbol table entry for the .symtab_shndx section either. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
4a8d43e9a793324eee49758dc160a4e5d8eaa9a4 |
|
08-Oct-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Remove extraneous curlies. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141439 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
b3429d34b641d2b5aaa3e7df70d268904d2c039c |
|
07-Oct-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Don't emit a shstrtabindex in the reserved range. Spotted by inspection and patch by Cary Coutant! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
aaae3f6bc1b7ab3475d7399915a887b42f6365bc |
|
07-Oct-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Clarify/fix typo. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
291512f96fe807da7c1a3a6e001feb1017b56e26 |
|
30-Sep-2011 |
Akira Hatanaka <ahatanaka@mips.com> |
Add definition of MipsELFObjectWriter. Patch by Reed Kotler at Mips Technologies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
2a66cea1b82b82c7bf19e232aed741331377ad30 |
|
04-Aug-2011 |
Roman Divacky <rdivacky@freebsd.org> |
Introduce adjustFixupOffset that adjusts the fixup offset of a relocation. This is meant to be overriden by backends. Implement an override on PowerPC which adjusts the offset by 2 for ha16/lo16 relocation kinds. This removes a commented out hack and enables hello world to be compiled on PowerPC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
bbf9c4a14edbdbc384a452377d60bad8f6d8a78e |
|
04-Aug-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add an assert to check that the Addend fits the file format. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
e651983e71a0fbe624a1441dfc8b747ca1a038f1 |
|
04-Aug-2011 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
Fix http://llvm.org/bugs/show_bug.cgi?id=10568 Move the reloc size assert into AsmBackend - where it is more apropos. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
c9c0cc1e4655e3abe6ddc0329a31decfa5b3fc4b |
|
02-Aug-2011 |
Roman Divacky <rdivacky@freebsd.org> |
Comment out the PPC relocation offset adjustment. It must be done differently. This unbreaks some tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
2c0d69fad0e658117922f3d96d9b732bedf9fd47 |
|
02-Aug-2011 |
Roman Divacky <rdivacky@freebsd.org> |
Sketch out PowerPC ELF writer. This is enough to get clang -integrated-as to compile a working hello world on FreeBSD/PPC32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
8c3fee59038d8fd98db2a01b6a309a8941a16a3f |
|
25-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Refactor X86 target to separate MC code from Target code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135930 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
be74029f44c32efc09274a16cbff588ad10dc5ea |
|
23-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Sink ARM mc routines into MCTargetDesc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135825 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
bebd44a95a94189e79b02cd15edc2d41bc2628fe |
|
09-Jun-2011 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
Remove an uneeded switch - Turns out reloc results are identical w/o the switch. (face+palm) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132790 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
378e0ecf24cd980a4551299f0bd90725b479b401 |
|
05-Jun-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Produce an undefined reference to _GLOBAL_OFFSET_TABLE_ if we have a VK_GOTOFF reloc. This matches as' behavior, but it is not clear why the linker might need this, so I added a FIXME. I could test this by duplicating test/MC/ELF/got.s, but it doesn't look worthwhile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132655 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
e0b87032f5ac8134b7585bdc4a0f2c77158b962d |
|
04-Jun-2011 |
Nick Lewycky <nicholas@mxc.ca> |
Add support for @GOTPTOFF in i386 mode. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
298c8e12ea063f7522c59d2a297b47a879b6ed55 |
|
20-May-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
fixes target address tBL and tBLX and sets relocation type of tBL/tBLX to R_ARM_THM_CALL (ARM ELF 4.7.1.6) Patch by koan-sin tan. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
97c07dac7ff8f64406e1547aa62c69da7275f401 |
|
16-May-2011 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
Add a FIXME reminder to remove ForceARMElfPIC switch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
6dcd413fbb488222200c6b42c4f5d55ce39db557 |
|
12-May-2011 |
Matt Beaumont-Gay <matthewbg@google.com> |
Remove an unused variable and move a couple others inside DEBUG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
e964d1192a82cf8c1371a7440667de67595d6d35 |
|
12-May-2011 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
Address the last bit of relocation flag related divergence betweeen LLVM and binutils. With this patch, there are no functional differences between the .o produced directly from LLVM versus the .s to .o via GNU as, for relocation tags at least, for both PIC and non-PIC modes. Because some non-PIC reloc tags are used (legally) on PIC, so IsPCRel flag is necessary but not sufficient to determine whether the overall codegen mode is PIC or not. Why is this necessary? There is an incompatibility of how relocs are emitted in the .rodata section. Binutils PIC likes to emit certain relocs as section relative offsets. Non-PIC does not do this. So I added a hidden switch on the ELFObjectwriter "-arm-elf-force-pic" which forces the objectwriter to pretend that all relocs are for PIC mode. Todo: Activate ForceARMElfPIC to true if -relocation-model=pic is selected on llc. Todo: There are probably more issues for PIC mode on ARM/MC/ELF... Todo: Existing tests in MC/ARM/elf-reloc*.ll need to be converted over to .s tests as well as expanded to cover the gamut. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
debd7e4e8bc5cfe61bfb71835ce2b1a3fbccc2be |
|
01-May-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Simplify the handling of pcrel relocations on ELF. Now we do the right thing for all symbol differences and can drop the old EmitPCRelSymbolValue method. This also make getExprForFDESymbol on ELF equal to the one on MachO, and it can be made non-virtual. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
d5321da8d22d60f528397a05dc10db4185fcb680 |
|
08-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Micro optimization and improved similarity with gas' output: When two section names share a suffix, reuse the entry in shstrtab. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
7c18fa87a4d4ed8b0cfe1ec65597c748c6d91ca9 |
|
20-Mar-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Write the section table and the section data in the same order that gun as does. This makes it a lot easier to compare the output of both as the addresses are now a lot closer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
78c1e1781cf36dd19988047eac8f664873d35237 |
|
03-Mar-2011 |
Eli Friedman <eli.friedman@gmail.com> |
PR9352: Always emit a relocation for weak symbols. Not emitting relocations for calls to weak symbols with a definition has the appearance of working with LLVM-generated code because weak symbol definitions are put in their own sections. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126933 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
21451e533f4c46cdb38d338cfed26cece1d7be54 |
|
23-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Put in the symbol table symbols only used in a .globl statement. Fixes PR9292. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
d45e8bf93b2024213e423b7b40272da6636e78f7 |
|
22-Feb-2011 |
Joerg Sonnenberger <joerg@bec.de> |
Handle FK_PCRel_1 and add a test case for this and FK_PCRel_4. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
908159b46ae118d36fccbc1d5145dcedfc3d4185 |
|
16-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Gas is very inconsistent about when a relaxation/relocation is needed. Do the right thing and stop trying to copy it. Fixes PR8944. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
953a2a3dee46bebd70b129fd62709710f5f2b033 |
|
07-Feb-2011 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
Teach ARM/MC/ELF about gcc compatible reloc output to get past odd linkage failures with relocations. The code committed is a first cut at compatibility for emitted relocations in ELF .o. Why do this? because existing ARM tools like emitting relocs symbols as explicit relocations, not as section-offset relocs. Result is that with these changes, 1) relocs are now substantially identical what to gcc outputs. 2) larger apps (including many spec2k tests) compile, cross-link, and pass Added reminder fixme to tests for future conversion to .s form. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
2d7a53aec2c6426eba9e5dd6462cc9e86432b410 |
|
04-Feb-2011 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
Teach ARM/MC/ELF about EF_ARM_EABI_VERSION. The magic number is set to 5 to match the current doc. Added FIXME reminder Make it really configurable later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
685c350ae76b588e1f00c01a511fe8bd57f18394 |
|
04-Feb-2011 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
Teach ARM/MC/ELF to handle R_ARM_JUMP24 relocation type for conditional jumps. (yes, this is different from R_ARM_CALL) - Adds a new method getARMBranchTargetOpValue() which handles the necessary distinction between the conditional and unconditional br/bl needed for ARM/ELF At least for ARM mode, the needed fixup for conditional versus unconditional br/bl is identical, but the ARM docs and existing ARM tools expect this reloc type... Added a few FIXME's for future naming fixups in ARMInstrInfo.td git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
0cf5e3d51dd455a174a8f00cfa6b63c11e535434 |
|
23-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Delay the creation of eh_frame so that the user can change the defaults. Add support for SHT_X86_64_UNWIND. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
f3eb3bba1614a7935b44fc963a805088d71267f3 |
|
14-Jan-2011 |
Evan Cheng <evan.cheng@apple.com> |
Completed :lower16: / :upper16: support for movw / movt pairs on Darwin. - Fixed :upper16: fix up routine. It should be shifting down the top 16 bits first. - Added support for Thumb2 :lower16: and :upper16: fix up. - Added :upper16: and :lower16: relocation support to mach-o object writer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123424 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
1d8661744b3ad300ee483cf83be179e93cbd1245 |
|
13-Jan-2011 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
Style clean up - break up the breaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123347 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
86a97f2e4d0cde5e992f52ac287da0de687e0110 |
|
12-Jan-2011 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
1. Support ELF pcrel relocations for movw/movt: R_ARM_MOVT_PREL and R_ARM_MOVW_PREL_NC. 2. Fix minor bug in ARMAsmPrinter - treat bitfield flag as a bitfield, not an enum. 3. Add support for 3 new elf section types (no-ops) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
7a54997d670d92f7f0ece87911800aa68fcb8c6d |
|
01-Jan-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix PR8878. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122658 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
c3a561cb8ed6f04e3cf7b1ff38c9f51a695d196d |
|
27-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Handle reloc_riprel_4byte_movq_load. Should make the bots happy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
3a83c40ab61d5ca624f2bbadd70237c6adbdb304 |
|
27-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add support for the same encodings of the personality function that gnu as supports. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
98976610d2c8067efe04042f17486a4b6c746b31 |
|
26-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add support for @note. Patch by Jörg Sonnenberger. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
fea753b397823c340608925eb7f3256a64a30017 |
|
24-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Merge IsFixupFullyResolved and IsSymbolRefDifferenceFullyResolved. We now have a single point where targets test if a relocation is needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
f01212489be07e261a0302744f878a54a39f05a5 |
|
22-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Simplify the handling of .size expressions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
d149186e156fdd44e3cca988949cf3e5e6940863 |
|
20-Dec-2010 |
Roman Divacky <rdivacky@freebsd.org> |
Set the value of absolute symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122268 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
3132780a2ed58945b0ec5033002be44bedb6b785 |
|
18-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Merge isAbsolute into IsSymbolRefDifferenceFullyResolved. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
1ec5bd31fe491e610839ea448bd99fd171785837 |
|
18-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove the MCObjectFormat class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122147 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
bff66a86e6e44dc7424cd2d7719ac80630b3a5f8 |
|
18-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move some data to the TargetWriter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
31f3578b00a2ea85fb730b690f0478529103c748 |
|
17-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Store and free the TargetObjectWriter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122070 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
6024c97ffa15766bc0f200ffd309d9e017ae0d4b |
|
17-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Stub out explicit MCELFObjectTargetWriter interface. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122067 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
285b3e5b61af15f11e59a7700375aefa2a326bd8 |
|
17-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move createELFObjectWriter to its own header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122064 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
127a6a47bd779f0e1e5274422537cdaac3ab2ca7 |
|
17-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use getFixupKindInfo to implement isFixupKindPCRel, ELF version. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
1f3662abba2abdf5a0ab77095834271fcf846579 |
|
17-Dec-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/ObjectWriter: Add a new IsSymbolRefDifferenceFullyResolved target format specific hook. - Currently just has stub implementations for Mach-O, ELF, and COFF. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122037 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
5d2477cecf53bef911f57423a5cecb743d4286fa |
|
17-Dec-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Assembler: Strip out object writer arguments, now that it is always available -- and remove FIXME asking for the same! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
3fa4c1dc95098105e73aa7055c27bebbf9112966 |
|
14-Dec-2010 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
First cut of ARM/MC/ELF PIC relocations. Test has fixme, to move to .s -> .o test when AsmParser works better. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121732 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
e246717c3a36a913fd4200776ed621649bb2b624 |
|
10-Dec-2010 |
Jim Grosbach <grosbach@apple.com> |
Thumb unconditional branch binary encoding. rdar://8754994 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121496 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
b492a7c2134d3886f545f1b5ea55115d71529a10 |
|
09-Dec-2010 |
Jim Grosbach <grosbach@apple.com> |
Rename CB/CBZ specific fixup accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
a0871e79270b2a05f93c9df73bbe24c587faa94e |
|
09-Dec-2010 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
ARM/MC/ELF TPsoft is now a proper pseudo inst. Added test to check bl __aeabi_read_tp gets emitted properly for ELF/ASM as well as ELF/OBJ (including fixup) Also added support for ELF::R_ARM_TLS_IE32 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121312 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
dff2f7151f695b86db8c4b0c6604463bdb8a63ea |
|
09-Dec-2010 |
Bill Wendling <isanbard@gmail.com> |
Support the "target" encodings for the CB[N]Z instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
b8958b031ec5163261f490f131780c5dc3d823d6 |
|
08-Dec-2010 |
Bill Wendling <isanbard@gmail.com> |
Add support for loading from a constant pool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
662a816e89a9d77bf75e1328b09cf9235b4682aa |
|
07-Dec-2010 |
Jim Grosbach <grosbach@apple.com> |
Add fixup for Thumb1 BL/BLX instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
56a399023aba6cf1348533df04732950c43eaca7 |
|
06-Dec-2010 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
Refactor ELFObjectWriter. + ARM/X86/MBlaze now share a common RecordRelocation + ARM/X86/MBlaze arch specific routines are limited to GetRelocType() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
f8803fe4177739f9a6900198f601808eb27934d9 |
|
06-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove the getAddress getter, initialize Ordinal in the constructor and use that on the ELF writer to detect a section we created. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
ffd902bfb743f0564c8f7689c49403074b6f694d |
|
06-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add a getSymbolOffset method and use it in the ELF writer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120977 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
6db8a9f3fabefeb00163295f0611d09134651f3f |
|
02-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
The sections that the ELF object writer has to create are very simple and contain only data. Handle them specially instead of using AddSectionToTheEnd. This moves a hack from the generic assembler to the elf writer. It is also a bit faster and should make other improvements easier. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
dff84b03258514463ede477af38f1246b95b0cd0 |
|
02-Dec-2010 |
Jim Grosbach <grosbach@apple.com> |
Add support for binary encoding of ARM 'adr' instructions referencing constant pool entries (LEApcrel pseudo). Ongoing saga of rdar://8542291. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
9d63d90de5e57ad96f467b270544443a9284eb2b |
|
01-Dec-2010 |
Owen Anderson <resistor@mac.com> |
Add correct encodings for STRD and LDRD, including fixup support. Additionally, update these to unified syntax. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
fdbdaaca2c0ad84009c173b95d49aa9b30ae806e |
|
01-Dec-2010 |
Jim Grosbach <grosbach@apple.com> |
Fix a mised reloc rename spot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
85fed5e0c5bc010f967948a4af6b425a5a2f2bd0 |
|
01-Dec-2010 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
ARM/MC/ELF relocation "hello world" for movw/movt. Lifted adjustFixupValue() from Darwin for sharing w ELF. Test added TODO: refactor ELFObjectWriter::RecordRelocation more. Possibly share more code with Darwin? Lots more relocations... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120534 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
25958730dffe0a16f9c251a1fa317799b8419a1f |
|
24-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Behave a bit more like gnu as and use the symbol (instead of the section) for any relocation to a symbol defined in a tls section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
1683fcc82397681a64a35884edc9c62c49f2f179 |
|
24-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Relocate with the symbol if the relocation is of kind NTPOFF. Patch by David Meyer, I added the test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120104 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
10907426893019c6b7e59c886e41815d4fe50b19 |
|
22-Nov-2010 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
Fixed some style issues (no _, no spc after !) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
28ef0a5719c41ed9654156aa9db7a656d020d7b5 |
|
22-Nov-2010 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
Make the <ARCH>ELFObjectWriter statics private git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119982 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
ccbe000e093e53979056ba091291f4427c54bd99 |
|
22-Nov-2010 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
Fix misplaced statics. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
858e7506e1fabe563eb4222c80ad0fad01641bec |
|
22-Nov-2010 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
Kill trailing whitespace git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
4a511f0be22542a39ed4f24a36cbbd81d293d7dd |
|
22-Nov-2010 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
Refactor the ELFRelocationEntry (pull up) and move the arch-specific statics to inside the class where it belongs. Next step is to rationally break apart the RecordRelocation() Probably the step will be to have 1 member function for ech slot of the ELFRelocationEntry() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119978 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
4b04713423c6da988db75c7546baa3db7ddfa119 |
|
21-Nov-2010 |
Wesley Peck <peckw@wesleypeck.com> |
Implement ELF object file writing support for the MBlaze backend. Its not perfect yet, but it works for many tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119952 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
12203cc7c3f7392d62556946a10b2f10205ea63d |
|
21-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Handle PCRel relocations with absolute values. Fixes PR8656. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119917 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
2c920850343810535c0cd8720a81eddf7997663a |
|
16-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
A bit more of gnu as compatibility when handling relocations with aliases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
3285877131ed40d7fe75babf4ee3f4e0d287e4a4 |
|
15-Nov-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix compiler warnigns. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
d3443e99e43945fdb0742177da06a32fa225740d |
|
15-Nov-2010 |
Jason W Kim <jason.w.kim.2009@gmail.com> |
Dovetail with Dan Dunbar's rework of ELFObjectWriter. Added 2 new subclasses - X86ELFObjectWriter and ARMELFObectWriter. ARM and X86 require different code for RecordRelocation(), possibly others. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
1f52dfe69ee7d0a49a6bfe6dfec6aeb8e416e313 |
|
15-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move the logic to decide with which symbol we produce a relocation (if any) to a central location. This also makes us a bit more compatible with gas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
ab4a7afe98fcd86418bd1672f880b7d3672f4543 |
|
14-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Simplify getSymbolIndexInSymbolTable by setting the actual index of the symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
115a3dd066c277c5417f4d9b9f642b732b76f4e7 |
|
13-Nov-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Simplify Mach-O and ELF object writer implementations. - What was I thinking????? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118992 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
1261a2ff99299946952013f284615a06afa3dc50 |
|
12-Nov-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
MCELF: Copy the symbol name only if we're going to modify it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
2ff9e83a826c1c2ee0f1c6072d3d97d5b10678ee |
|
11-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Initial comdat implementation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
9302bd664d930e7e6b61e208b0cca06fe71e8eb3 |
|
11-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make AliasedSymbol able to handle MCTargetExpr. They can get here if a weakref is used with a VariantKind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118798 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
03f1b74aed795110f040b7588c8921c5de4bf1ea |
|
11-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix the symbol index of weak references. Also make RecordRelocation a bit easier to read by having const references to the symbol, aliased symbol and renamed symbol. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
3f2d13c98eb04962bf6fcfdcc6f62789bc820d79 |
|
11-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove some explicit arguments to getELFSection. This is a leftover from the removal of isExplicit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
c87a94a94254f45220255938f14321b6ec35fcfe |
|
11-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Factor some code into WriteSection. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
1d739a010d49914eae7b6c415dd6de76ca142030 |
|
10-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Update the section index map after we add the medatada sections. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
4beee3d06bfebe3f3382893fcebc71d1aa3f290e |
|
10-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use SectionIndexMap in WriteSymbolTable to make it a little less brittle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
bab2a80525956b03b5f9126e1496785493326c37 |
|
10-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Factor some code into ComputeIndexMap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
af3d38f70ebba9fec0048c2540dbdf0168d280d2 |
|
10-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Change the String<size> methods to take a fragment instead of a buffer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
4283f4b81e8c1cbf5c7a7b51e949e109ae25ff8c |
|
10-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use MCSectionELF in places we know we have an ELF section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
34be396a12b00a95a1353c356d64868798ea3098 |
|
10-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fixed version of 118639 with an extra assert to catch similar problems earlier. Implicit bool -> int conversions are evil! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118651 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
037b5be15a421b99066bb284027750a16ddd0fae |
|
09-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert previous patch. Missed a case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
e61a1ac595deddd291912930efac3616f7c61d08 |
|
09-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove IsExplicit. It was always false. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
7be2c33193aeada8c0ff3555ea54b930f204132a |
|
31-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add support for files with more than 65280 sections. No testcase since it would be a bit too big :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
d179886f0595eb3564a9edfdfff79def130d89cc |
|
30-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Be more strict on when we produce an undefined reference. In gas a file with 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
1973d4379250a88938a9358c12d96e96bdc8dede |
|
28-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Defined weak symbols should have non-zero value. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
29129728f1d4febe44792d1481077cc47fe83a08 |
|
28-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix relocations with renamed symbols. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
f571f9a8fe764d5010970e45203415cb00eab739 |
|
28-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Aliases defined with .symver should copy the binding of the symbols they alias. Move the existing patching for undefined symbols so that all the patching is done in the same function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
aa8f1f01352bdaaabf712369f8a8a615c776b508 |
|
28-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement R_X86_64_DTPOFF32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
b4d1721eff7b43577e5f2e53f885973fb6c43683 |
|
28-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement TLSLD. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
0cf15d61b7e3bf53f5a99f58ada37b93bc039559 |
|
28-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement DTPOFF. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117546 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
a264f72d3fb9dec1427480fcf17ef3c746ea723a |
|
28-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement TLSLDM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117544 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
a0a2f8734cdfc19d44201b791a969bcdda96bb70 |
|
28-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement VK_GOTNTPOFF and switch RelocNeedsGOT to use VariantKind. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
3cede2d0b2b6cc0a06f55da7c2f8e4263ec0091e |
|
27-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add support for R_386_TLS_GD, R_386_TLS_LE_32, R_386_TLS_IE and R_386_TLS_LE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
bc82d8b84f6ae15985d1b01e720ed5c37d714012 |
|
27-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement R_X86_64_GOTTPOFF, R_X86_64_TLSGD and R_X86_64_TPOFF32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117481 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
07ee63283cc2b9a4d6c98ecd30d1b721fe3cb29a |
|
27-Oct-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Replace pointer arithmetic with StringRef::substr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117477 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
83ff4d2b0d6133d48055a27fe25c5d241bca7e9b |
|
27-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Produce an error for an invalid use of .symver. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
bf052ac5d1c8f21075bc675f629709c20791c5f7 |
|
27-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Symbols defined as the difference of other two end up in the ABS section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
88182132470527e27231f09b25a885893e528c66 |
|
27-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add support for the .symver directive. This is really ugly, but most of it is contained in the ELF object writer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
a6866969ba3b12901b412bb53ba8c61a9991b8ad |
|
27-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move more logic to isInSymtab and simplify. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
cecbc3d28277ff4916326311cbf87335ed05d106 |
|
25-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add support for emitting ARM file attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
24ba4f7f5f27c8d64be7ad653863b33594e5f019 |
|
24-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add X86::reloc_global_offset_table and use it to have a single place where we check for _GLOBAL_OFFSET_TABLE_. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
eecb858ca86fa949c06f819d6127e2ac68d165c8 |
|
22-Oct-2010 |
Wesley Peck <peckw@wesleypeck.com> |
Making the e_machine configurable by the target backend in ELFObjectWriter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
bd70118f163f94a4d77eb036e6f83dd0bfcb6268 |
|
19-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Small cleanups and fixes in preparation for fixing _GLOBAL_OFFSET_TABLE_. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
eada30479399014c22c7b7edb008177c312eefee |
|
18-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement R_386_GOT32. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116744 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
ce2d3c57758619e99a99104e1168a9558658fab0 |
|
18-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Relocate with .bss instead of using the symbol. Matches gas behavior. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
24dc9ecdc55d732ac93fc782d6232413fe2c1160 |
|
18-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Reenable assert. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
aa85c216334a6adac7e0a154d357b370629dc1bc |
|
18-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Produce ELF::R_386_GOTPC relocations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
9baee3b3a3924bc45d007e54c71333739d135f8e |
|
18-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make the bots happy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116719 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
9edab3a9e15c40c1c9bf70df81c6afdab1cd02c2 |
|
18-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Produce a R_386_PLT32 when needed. Moved the default cases of switches to the start for consistency. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
c97f80efc80030c7544a9903c79d2dccd197a0ff |
|
18-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Handle GOTOFF correctly on i386. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
24f1206c7de0f21d309d27737071ad742d5ddf27 |
|
17-Oct-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix a typo and silence unused variable warnings in -Asserts build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
f230df9af4012f9510de664b6d62b128e26a5861 |
|
16-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add a MCObjectFormat class so that code common to all targets that use a single object format can be shared. This also adds support for mov zed+(bar-foo), %eax on ELF and COFF targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116675 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
de89b010b0b347cdbd1bc9553a970880a3e721bf |
|
15-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Refactor alias handling to AliasedSymbol. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
5df0b65e8f5ef55f0b515a0b24879f5d117d6042 |
|
15-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Refactor code a bit and avoid creating unnecessary entries in the string map. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
a0949b50dcea35c08b50542091f97275f401529d |
|
14-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove some code duplication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
d8e0bfe07a7d101eeed7204d1dfcaae17ad51908 |
|
07-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Another case of 256 sections not being enough :-) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
152c1061e0b4ad379eec5fa38ee0091fc11ff936 |
|
06-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Get binding and visibility info from the the alias, but Type from the symbol being aliased. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
153666c0384c724c1a935be44a1afe0319649e3e |
|
06-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
If a symbol is global, reloc against it even if it is in a mergeable section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115817 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
8cecf253e45f144b9a7fd0ace85eeeeb0bebfc83 |
|
06-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Correctly handle GOTPCREL relocations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115793 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
3729d0052bda365d04fee900c6f3d09460f1e108 |
|
06-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use a relocation against the symbol if it is a PLT and the symbol is in another section. Common because of linkonce sections. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
01f9ea35a71b4efb00de8e4c9e9136c9c88f6273 |
|
06-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement more alias cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
f5c347dfc25e133e357c7086ad1b24edad4d2bc8 |
|
05-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
256 sections should be enough for anyone... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
62fed8bd380b67f47bde3ff2a437db0951c7d186 |
|
05-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't crash in a strange .size directive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
737cd213e359c2862253c3a1ee443419566e90b9 |
|
05-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement a simple alias case and refactor the code a bit so that the isInSymtab and isLocal logic in the two loops don't get easily out of sync. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115643 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
5c77c16f311d702a315547c0eb32b7a34a9d55c8 |
|
05-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Produce a undefined reference to _GLOBAL_OFFSET_TABLE_ when needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
607d1f6d3216b647c07965bafae8d1aba6312136 |
|
04-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement ELF::R_X86_64_GOTPCREL. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
cebdc01d66c55a4e8c260ad182d6816f2bcd0c44 |
|
04-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move isFixupKindX86PCRel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115545 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
92bf6684f62e1df48ecc0a9b3cc3a99ce7c00747 |
|
04-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Produce a R_X86_64_PLT32 when needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115541 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
28f9ac81012e1e278128a4148e93f6ab873f15d8 |
|
04-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Produce a R_X86_64_GOT32 when needed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
55fb102130925ada2bbc78abbbb70394d96d945e |
|
04-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Include the section address in the computation of the relocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
01263d35d4c037a882dbfa6364eb0f6c4e0d87a8 |
|
04-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Correctly compute the relocation when it is not in the first fragment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
9d8b7555cde8b9722dd6f8dc77c627bae0718c67 |
|
03-Oct-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement a very basic PIC case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
7eae36b38b874f417fa191fc1cfec22c100f164d |
|
30-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Factor some logic into ShouldRelocOnSymbol. This simplifies the code and fixes some cases where we were producing relocations with at symbol that should use a section instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
a8c02c3bdd68e65d14fb6b0d56989663754059b0 |
|
30-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Correctly produce R_X86_64_32 or R_X86_64_32S. With this patch in movq $foo, foo(%rip) foo: .long foo We produce a R_X86_64_32S for the first relocation and R_X86_64_32 for the second one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
7070387f08f7dc797b554ed8013cba9f8b74121a |
|
30-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make it possible for the MCObjectWriter to decide if a given fixup is fully resolved or not. Different object files have different restrictions and different native assemblers have different idiosyncrasies we want to emulate for now. Move the existing MachO logic to the new place and implement an ELF one that gets fixups to globals right. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
53725bc57a992e812d08f6ec62d824dfd21425bf |
|
28-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
On elf, undefined symbols can start with .L. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
c3c413f63117896f186fc4385bdaac0578d3613f |
|
28-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Write relocations in the end of the file. This matches what gas does and makes files easier to diff. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
2c6ec31df6c6c45ad735892eedab78612ac2847b |
|
27-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Factor symbol value computation into a function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114891 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
a648918eb772d46cd8e14a2ab3489a80500260af |
|
24-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Reapply 114678 and 114667. Reverting them did not fix the bot: http://google1.osuosl.org:8011/builders/llvm-gcc-i386-linux-selfhost/builds/69 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114761 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
cd4b20a25b6251fb4a2ca50813c10184accab24b |
|
24-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert 114678 and 114667 to see if http://google1.osuosl.org:8011/builders/llvm-gcc-i386-linux-selfhost gets happy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
e15eb4e14cd543b925a837026cbdde9f94393e1c |
|
23-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Correctly handle weak undefined symbols. Before we would get a invalid binding (2 == STB_WEAK | STB_GLOBAL). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
a5c6b78bf8a009609258ed6c11ac4580ad6426f5 |
|
23-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Correctly compute the offset of the symbol. Forgot these bits from the last commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
b142bef30b2e2ef0c978f5f3041f1d4a429eb9b2 |
|
23-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Represent relocations against local symbols as relocations against the section they are in. Both ways should be equivalent, but gas produces relocations against the section. Roman wrote the patch, I added the test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114667 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
51efe7a253190b672519e8388ce5d45f1dcf1a24 |
|
23-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix the FIXME. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
38738bf1a847292003a5495f17e42a75d1274bf7 |
|
22-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix typo and add a FIXME. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
aa359bddbfe498a3c7445bc2b8afa2bed61a131c |
|
21-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert unrelated change that was accidentally included in the previous commit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114383 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
43779dcfef7f4e921c6fc12bb5394a1b2efcd81d |
|
20-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Produce a R_X86_64_32 when the value is >=0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
ad49cf586624c400302d17ecc2c2e41ea4346f1a |
|
18-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make sure the STT_FILE symbol is the first one in the symbol table. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
0007489312ecb1b51ae275f1e452786480151a4c |
|
18-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Avoid relocations in a common case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
71859c640f6a36251aca223fd503c58dc314e296 |
|
16-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Print the address of sections as 0 and create the metadata sections in the same order as gnu as. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
5e492e8d42fa1f2940165a937d3d613c61b57708 |
|
09-Sep-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
MCELF: Write relocation fragments in the right endian. - This code is gross, but does the job for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
5baf79edc067a4b17d024cc10324ac88c17e3e43 |
|
09-Sep-2010 |
Roman Divacky <rdivacky@freebsd.org> |
Make ELF OS ABI dependent on the OS from target triple. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113508 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.cpp
|
563b38a89a695869fc05e504ed0554a5b21f541e |
|
08-Sep-2010 |
Roman Divacky <rdivacky@freebsd.org> |
Unresolved weak symbols have value equal zero. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
a9eadca2fdf48e3228521f25b415b68219bcee31 |
|
06-Sep-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
MCELF: Align symtab, relocation sections and section headers properly. Patch by Krister Wombell. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
19dc7faf25e3a8cc37a656b74ebeef3ab976aa8e |
|
31-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Allow creation of SHT_NULL sections, from Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
6cc53be24c894532b33a92069b092112ced7ad99 |
|
30-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
MCELF: The value of all common symbols is the offset from the start of the section. Patch by Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112492 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
51799ddc7c51efef8ffab1d1cc9731ee7a5db6a5 |
|
30-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
The value is offset from the start of the section for non-common symbols, submitted by Jordan Gordeev. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
679d236117f9d04c304b39c1076259295cf7eb5e |
|
30-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Index external symbols by symbol table instead of parent section, by Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
b188a3789e2fc64ec7088a220c4c428c41d86faa |
|
28-Aug-2010 |
Chris Lattner <sabre@nondot.org> |
squish dead code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112350 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
95c602ade3aa30de17abd53b85968a3feb8fdfbc |
|
27-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
MCELF: Always overwrite FixedValue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
4ba1b3074b96bfa21dbfa1a019573c45a4f5bf84 |
|
26-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
MCELF: Fix a thinko of mine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112203 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
63d37b932278724d51e7f8bd1f2574c7b45f85f0 |
|
26-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
MCELF: Compensate for the addend on i386. Patch by Roman Divacky, with some cleanups. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
7b83c26051b0474fb5f8b73ba6e74bd4f40324ba |
|
25-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
MCELF: Use precomputed symbol indices, patch by Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
2f6e0e68a455aa6bd6da74c3256470bd94c0b6f2 |
|
24-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Relocate against parent if the symbol is not in section or it's a common symbol, from Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
c522f6e70b02d161e4bf37023edb20643ee34acf |
|
23-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Fix thinko. Having no tests is great ... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
36c6dc22bcaed92f03f7019a0d1cd47ea69e12da |
|
23-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Reduce code duplication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
0b6cbfe04cb36872255aff11a41a2b976ceba462 |
|
23-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
ELFObjectWriter: Run ComputeSymbolTable before recording relocations. This way we can use the information it has computed and don't have to recompute the same stuff over and over again. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111844 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
bcf2db60dd3c37fe76dc1b5c5fa3e95b43b3776a |
|
23-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Add the symbol offset to the relocation value when we relocate against section. By Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111824 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
30dc1ee78ae99e4d9e92cdb02f1cbd64827c0630 |
|
23-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Use the proper relocation section + cleanup, from Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
44cbde85badb60c7078e37e14575c15e671521b1 |
|
19-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
MCELF: Count the section orders properly. Patch by Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
81cfb8529b7fd1e98fefb79fb46b10301b93ab75 |
|
17-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove dead code. Fixes a GCC warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
e5b57347e9485b59dd8d70f8f90d7794f473147a |
|
17-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Sketch i386 relocations handling, from Roman Divacky. Hello world builds & runs now on i386/ELF with -integrated-as. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
299fbe3a5aad8f08c52c488a9b28df70c7595e0d |
|
17-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Use the correct entry size for relocation entries, from Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
377a572d9b92304a0fde4371d726721586c1a5bd |
|
17-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Differentiate between RELA and REL relocations, from Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
eb97677764beb115c658ac559d3649c6c4068eb9 |
|
17-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
One baby step towards i386 ELF, from Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111247 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
172d7d6a12b313dd5a8c1588b8f6bd49b1ce16b6 |
|
17-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Try to silence a overeager GCC warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111214 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
368ae7e4ec0cc0dfc404fa1d07cdf94a7f2a15be |
|
17-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
A round of minor cleanups for ELFObjectWriter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111213 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
1f8aa7bf08783a438ee2afd3747477923d87b365 |
|
17-Aug-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Silence warnings and simplify code. Eliminate a 32/64 bit portability issue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111201 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.cpp
|
a44fa2473a5f2a13730d44e0aea8897b5656b555 |
|
16-Aug-2010 |
Eli Friedman <eli.friedman@gmail.com> |
Fixes for generation of ELF relocations. Patch by Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111183 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/ELFObjectWriter.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/ELFObjectWriter.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/ELFObjectWriter.cpp
|