summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/ELFObjectWriter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Correctly produce R_X86_64_32 or R_X86_64_32S.Rafael Espindola2010-09-301-8/+9
| | | | | | | | | | | | | 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. llvm-svn: 115134
* Make it possible for the MCObjectWriter to decide if a given fixup is fullyRafael Espindola2010-09-301-4/+51
| | | | | | | | | | | 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. llvm-svn: 115131
* On elf, undefined symbols can start with .L.Rafael Espindola2010-09-281-1/+4
| | | | llvm-svn: 114958
* Write relocations in the end of the file. This matches what gas does andRafael Espindola2010-09-271-2/+1
| | | | | | makes files easier to diff. llvm-svn: 114898
* Factor symbol value computation into a function.Rafael Espindola2010-09-271-9/+17
| | | | llvm-svn: 114891
* Move ELF to HasReliableSymbolDifference=true. Also take the opportunity to putRafael Espindola2010-09-251-7/+15
| | | | | | symbols defined in merge sections in independent atoms. llvm-svn: 114786
* Reapply 114678 and 114667. Reverting them did not fix the bot:Rafael Espindola2010-09-241-2/+5
| | | | | | http://google1.osuosl.org:8011/builders/llvm-gcc-i386-linux-selfhost/builds/69 llvm-svn: 114761
* Revert 114678 and 114667 to see ifRafael Espindola2010-09-241-5/+2
| | | | | | | | http://google1.osuosl.org:8011/builders/llvm-gcc-i386-linux-selfhost gets happy. llvm-svn: 114742
* Correctly handle weak undefined symbols. Before we would get a invalid bindingRafael Espindola2010-09-231-5/+20
| | | | | | (2 == STB_WEAK | STB_GLOBAL). llvm-svn: 114690
* Correctly compute the offset of the symbol. Forgot these bits from theRafael Espindola2010-09-231-1/+4
| | | | | | last commit. llvm-svn: 114678
* Represent relocations against local symbols as relocations against the sectionRafael Espindola2010-09-231-1/+1
| | | | | | | | | they are in. Both ways should be equivalent, but gas produces relocations against the section. Roman wrote the patch, I added the test. llvm-svn: 114667
* Fix the FIXME.Rafael Espindola2010-09-231-1/+1
| | | | llvm-svn: 114639
* Fix typo and add a FIXME.Rafael Espindola2010-09-221-1/+2
| | | | llvm-svn: 114570
* Revert unrelated change that was accidentally included in the previous commit.Rafael Espindola2010-09-211-4/+1
| | | | llvm-svn: 114383
* Implement support for .local and its "interesting" interactions with .comm.Rafael Espindola2010-09-211-5/+10
| | | | llvm-svn: 114382
* Produce a R_X86_64_32 when the value is >=0.Rafael Espindola2010-09-201-2/+5
| | | | llvm-svn: 114339
* Make sure the STT_FILE symbol is the first one in the symbol table.Rafael Espindola2010-09-181-0/+13
| | | | llvm-svn: 114285
* Avoid relocations in a common case.Rafael Espindola2010-09-171-1/+10
| | | | llvm-svn: 114229
* Print the address of sections as 0 and create the metadata sections in theRafael Espindola2010-09-161-33/+24
| | | | | | same order as gnu as. llvm-svn: 114109
* MCELF: Write relocation fragments in the right endian.Benjamin Kramer2010-09-091-5/+26
| | | | | | - This code is gross, but does the job for now. llvm-svn: 113509
* Make ELF OS ABI dependent on the OS from target triple.Roman Divacky2010-09-091-4/+13
| | | | llvm-svn: 113508
* ELF_STB_Local is 0 so setting and checking it must be done speciallyRoman Divacky2010-09-081-2/+2
| | | | llvm-svn: 113375
* Unresolved weak symbols have value equal zero.Roman Divacky2010-09-081-1/+1
| | | | llvm-svn: 113358
* MCELF: Align symtab, relocation sections and section headers properly. Patch ↵Benjamin Kramer2010-09-061-12/+24
| | | | | | by Krister Wombell. llvm-svn: 113155
* Allow creation of SHT_NULL sections, from Roman Divacky.Benjamin Kramer2010-08-311-0/+1
| | | | llvm-svn: 112605
* MCELF: The value of all common symbols is the offset from the start of the ↵Benjamin Kramer2010-08-301-3/+5
| | | | | | section. Patch by Roman Divacky. llvm-svn: 112492
* The value is offset from the start of the section for non-common symbols, ↵Benjamin Kramer2010-08-301-0/+2
| | | | | | submitted by Jordan Gordeev. llvm-svn: 112473
* Index external symbols by symbol table instead of parent section, by Roman ↵Benjamin Kramer2010-08-301-1/+1
| | | | | | Divacky. llvm-svn: 112472
* squish dead code.Chris Lattner2010-08-281-9/+8
| | | | llvm-svn: 112350
* MCELF: Always overwrite FixedValue.Benjamin Kramer2010-08-271-2/+3
| | | | llvm-svn: 112259
* MCELF: Fix a thinko of mine.Benjamin Kramer2010-08-261-1/+3
| | | | llvm-svn: 112203
* MCELF: Compensate for the addend on i386. Patch by Roman Divacky, with some ↵Benjamin Kramer2010-08-261-14/+7
| | | | | | cleanups. llvm-svn: 112197
* MCELF: Use precomputed symbol indices, patch by Roman Divacky.Benjamin Kramer2010-08-251-11/+7
| | | | llvm-svn: 112079
* Relocate against parent if the symbol is not in section or it's a common ↵Benjamin Kramer2010-08-241-1/+2
| | | | | | symbol, from Roman Divacky. llvm-svn: 111925
* Fix thinko. Having no tests is great ...Benjamin Kramer2010-08-231-4/+4
| | | | llvm-svn: 111848
* Reduce code duplication.Benjamin Kramer2010-08-231-26/+10
| | | | llvm-svn: 111846
* ELFObjectWriter: Run ComputeSymbolTable before recording relocations. This ↵Benjamin Kramer2010-08-231-85/+21
| | | | | | way we can use the information it has computed and don't have to recompute the same stuff over and over again. llvm-svn: 111844
* Add the symbol offset to the relocation value when we relocate against ↵Benjamin Kramer2010-08-231-2/+3
| | | | | | section. By Roman Divacky. llvm-svn: 111824
* Use the proper relocation section + cleanup, from Roman Divacky.Benjamin Kramer2010-08-231-3/+5
| | | | llvm-svn: 111819
* MCELF: Count the section orders properly. Patch by Roman Divacky.Benjamin Kramer2010-08-191-7/+7
| | | | llvm-svn: 111517
* Remove dead code. Fixes a GCC warning.Benjamin Kramer2010-08-171-4/+1
| | | | llvm-svn: 111271
* Sketch i386 relocations handling, from Roman Divacky.Benjamin Kramer2010-08-171-24/+45
| | | | | | Hello world builds & runs now on i386/ELF with -integrated-as. llvm-svn: 111264
* Use the correct entry size for relocation entries, from Roman Divacky.Benjamin Kramer2010-08-171-2/+6
| | | | llvm-svn: 111259
* Differentiate between RELA and REL relocations, from Roman Divacky.Benjamin Kramer2010-08-171-6/+8
| | | | llvm-svn: 111252
* One baby step towards i386 ELF, from Roman Divacky.Benjamin Kramer2010-08-171-2/+3
| | | | llvm-svn: 111247
* Try to silence a overeager GCC warning.Benjamin Kramer2010-08-171-0/+2
| | | | llvm-svn: 111214
* A round of minor cleanups for ELFObjectWriter.Benjamin Kramer2010-08-171-29/+12
| | | | llvm-svn: 111213
* Silence warnings and simplify code. Eliminate a 32/64 bit portability issue.Benjamin Kramer2010-08-161-4/+3
| | | | llvm-svn: 111201
* Fixes for generation of ELF relocations. Patch by Roman Divacky.Eli Friedman2010-08-161-6/+18
| | | | llvm-svn: 111183
* Fix a few warnings in and detabify MCELFStreamer and ELFObjectWriter.Eli Friedman2010-08-161-17/+17
| | | | llvm-svn: 111175
OpenPOWER on IntegriCloud