History log of /external/llvm/include/llvm/Object/ELF.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/include/llvm/Object/ELF.h
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/include/llvm/Object/ELF.h
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm/Object/ELF.h
ce9904c6ea8fd669978a8eefb854b330eb9828ff 12-Feb-2014 Stephen Hines <srhines@google.com> Merge remote-tracking branch 'upstream/release_34' into merge-20140211

Conflicts:
lib/Linker/LinkModules.cpp
lib/Support/Unix/Signals.inc

Change-Id: Ia54f291fa5dc828052d2412736e8495c1282aa64
1b8ac539825d10b38d12759a862f43f7b40ddd9a 09-Aug-2013 Alexey Samsonov <samsonov@google.com> Try to unbreak Windows build after r188022

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
68554401fca3770583d21b8505553e914f9ee307 09-Aug-2013 Michael J. Spencer <bigcheesegs@gmail.com> llvm isn't C++11 yet :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
081a1941b595f6294e4ce678fd61ef56a2ceb51e 09-Aug-2013 Michael J. Spencer <bigcheesegs@gmail.com> [Object] Split the ELF interface into 3 parts.

* ELFTypes.h contains template magic for defining types based on endianess, size, and alignment.
* ELFFile.h defines the ELFFile class which provides low level ELF specific access.
* ELFObjectFile.h contains ELFObjectFile which uses ELFFile to implement the ObjectFile interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
fab2daa4a1127ecb217abe2b07c1769122b6fee1 08-Aug-2013 Stephen Hines <srhines@google.com> Merge commit '10251753b6897adcd22cc981c0cc42f348c109de' into merge-20130807

Conflicts:
lib/Archive/ArchiveReader.cpp
lib/Support/Unix/PathV2.inc

Change-Id: I29d8c1e321a4a380b6013f00bac6a8e4b593cc4e
f38cc38fa647d4e72c053c39bbe0cdec1342535f 26-Jul-2013 Bill Schmidt <wschmidt@linux.vnet.ibm.com> [PowerPC] Support powerpc64le as a syntax-checking target.

This patch provides basic support for powerpc64le as an LLVM target.
However, use of this target will not actually generate little-endian
code. Instead, use of the target will cause the correct little-endian
built-in defines to be generated, so that code that tests for
__LITTLE_ENDIAN__, for example, will be correctly parsed for
syntax-only testing. Code generation will otherwise be the same as
powerpc64 (big-endian), for now.

The patch leaves open the possibility of creating a little-endian
PowerPC64 back end, but there is no immediate intent to create such a
thing.

The LLVM portions of this patch simply add ppc64le coverage everywhere
that ppc64 coverage currently exists. There is nothing of any import
worth testing until such time as little-endian code generation is
implemented. In the corresponding Clang patch, there is a new test
case variant to ensure that correct built-in defines for little-endian
code are generated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187179 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
3af1c9d3343357849f19f7467f9c16220ad37ca4 24-Jul-2013 Akira Hatanaka <ahatanaka@mips.com> [mips] Use pristine object file while processing relocations.

Similar to ARM change r182800, dynamic linker will read bits/addends from
the original object rather than from the object that might have been patched
previously. For the purpose of relocations for MCJIT stubs on MIPS, we
internally use otherwise unused MIPS relocations.

The change also enables MCJIT unit tests for MIPS (EL/BE), and the following
two tests now pass:

- MCJITTest.return_global and
- MCJITTest.multiple_functions.

These issues have been tracked as Bug 16250.

Patch by Petar Jovanovic.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
30115ec7a3e35038554d4131f3c515744cbdd933 22-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Mark ELF's first symbol as format specific so that llvm-nm ignores it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
228e0afcfd0d5f167a95c6ddbec2c6a4a90b6d2b 02-Jul-2013 Ulrich Weigand <ulrich.weigand@de.ibm.com> [PowerPC] Add support for TLS data relocations

This adds support for TLS data relocations and modifiers:
.quad target@dtpmod
.quad target@tprel
.quad target@dtprel
Currently exploited by the asm parser only.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
bbeba2c20023c8bf6b34585fadf2abcc77ba8f32 02-Jul-2013 Ulrich Weigand <ulrich.weigand@de.ibm.com> [PowerPC] Fix 32-bit PowerPC TLS relocs

Some TLS relocs were copied incorrectly from ppc64 to ppc32,
and some were missing completely.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
5de735a962a255676cf3a9bc255579d465670633 25-Jun-2013 Ulrich Weigand <ulrich.weigand@de.ibm.com> [PowerPC] Support @got modifier

Add VK_... values and relocation types necessary to support
the @got family of modifiers. Used by the asm parser only.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
84569698f01bcb49afe5b6140bf0d61cf4f3cf5a 21-Jun-2013 Ulrich Weigand <ulrich.weigand@de.ibm.com> [PowerPC] Support R_PPC_REL16 family of relocations

The GNU assembler supports (as extension to the ABI) use of PC-relative
relocations in half16 fields, which allows writing code like:

li 1, base-.

This patch adds support for those relocation types in the assembler.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184552 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
cab0a1933875935c717136d251e2af9749533ba8 21-Jun-2013 Ulrich Weigand <ulrich.weigand@de.ibm.com> [PowerPC] Support various tls-related modifiers

The current code base only supports the minimum set of tls-related
relocations and @modifiers that are necessary to support compiler-
generated code. This patch extends this to the full set defined
in the ABI (and supported by the GNU assembler) for the benefit
of the assembler parser.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
f7c1ee79fe90353fcd3f545f9d45a01a837bbf4b 21-Jun-2013 Ulrich Weigand <ulrich.weigand@de.ibm.com> [PowerPC] Support @higher et.al. modifiers

This adds support for the @higher, @highera, @highest, and @highesta
modifers, including some missing relocation types.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184550 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
f8f87dcfceadd1b842d130303a7091ad7d7d67d0 21-Jun-2013 Ulrich Weigand <ulrich.weigand@de.ibm.com> [PowerPC] Support @toc@h modifier

This adds the relocation type and other necessary infrastructure
to use the @toc@h modifier in the assembler.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184549 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
7338de37a802970857079b5a532c5dd50d0a6d5d 17-Jun-2013 Tim Northover <tnorthover@apple.com> AArch64: print relocation addends if present on AArch64

llvm-objdump should provide some way of printing out the addends present in the
.rela sections for debugging purposes if nothing else.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
1878f9a7874b1ff569d745c0269f49d3daf7203d 12-Jun-2013 Stephen Hines <srhines@google.com> Merge commit '100fbdd06be7590b23c4707a98cd605bdb519498' into merge_20130612
c9f2cc7e05b2a7f3991a94cad1730a59dd7555e3 05-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Don't hide the first ELF symbol.

The first symbol on ELF is dummy, but it has a defined content and readelf
normally displays it. With this change llvm-readobj also displays it and we
can check that llvm-mc output is correct according to the standard.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183337 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
bcb1ea8ef62fba49d0e634e1943f829687323314 05-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Represent symbols with a SymbolIndex,SectionIndex pair.

With this patch we use the SectionIndex directly, instead of counting the
number of symbol tables. This saves a DenseMap lookup every time we want to
find which symbol a relocation refers to.

Also simplify based on the fact that there is at most one SHT_SYMTAB and one
SHT_DYNSYM.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183326 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
6c1202c459ffa6d693ad92fa84e43902bc780bca 05-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Handle relocations that don't point to symbols.

In ELF (as in MachO), not all relocations point to symbols. Represent this
properly by using a symbol_iterator instead of a SymbolRef. Update llvm-readobj
ELF's dumper to handle relocatios without symbols.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
dab867ebbae63821685e301fc126e41a4712984b 30-May-2013 Eric Christopher <echristo@gmail.com> Fix a couple of typos and 80-col.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
aebc1b369c8e8b61187da85857dd49ce4e4cda5f 30-May-2013 Daniel Jasper <djasper@google.com> Fix warning on varialbe unused in opt builds.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
7486d92a6c949a193bb75c0ffa0170eeb2fabb80 30-May-2013 Rafael Espindola <rafael.espindola@gmail.com> Change how we iterate over relocations on ELF.

For COFF and MachO, sections semantically have relocations that apply to them.
That is not the case on ELF.

In relocatable objects (.o), a section with relocations in ELF has offsets to
another section where the relocations should be applied.

In dynamic objects and executables, relocations don't have an offset, they have
a virtual address. The section sh_info may or may not point to another section,
but that is not actually used for resolving the relocations.

This patch exposes that in the ObjectFile API. It has the following advantages:

* Most (all?) clients can handle this more efficiently. They will normally walk
all relocations, so doing an effort to iterate in a particular order doesn't
save time.

* llvm-readobj now prints relocations in the same way the native readelf does.

* probably most important, relocations that don't point to any section are now
visible. This is the case of relocations in the rela.dyn section. See the
updated relocation-executable.test for example.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182908 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
3b7f3b1434bd5fe973000a14e4cf052f7cbcc41e 30-May-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove dead return.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182898 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
769b70ec4f22129317631eab8c87bb5b0e45a4a5 18-May-2013 Benjamin Kramer <benny.kra@googlemail.com> Add basic support for ELF32-ppc relocations to llvm-dwarfdump.

Should help the ppc32 buildbot.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182194 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
bed93b0de197c6b64357068ae8e1a883ddbb0e94 09-May-2013 Rafael Espindola <rafael.espindola@gmail.com> Introduce convenience typedefs for the 4 ELF object types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
167957fa095bc7200b908e6e142be3e604bcfeea 09-May-2013 Rafael Espindola <rafael.espindola@gmail.com> Change getRelocationAdditionalInfo to be ELF only.

It was only implemented for ELF where it collected the Addend, so this
patch also renames it to getRelocationAddend.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
c37077af7bfdc22da2d267eee7905927dd5fdd17 08-May-2013 Ulrich Weigand <ulrich.weigand@de.ibm.com> [PowerPC] Add some missing PPC64 relocs

All R_PPC_... relocs should also be present (using the same number)
under the corresponding R_PPC64_... name. The latter were missing
for a couple of cases, which this patch adds.

This is not a big problem when emitting the reloc, because we can
just use the R_PPC_... define instead. But it is a problem when
*dumping* relocations e.g. using llvm-readobj, because this will
expect only R_PPC64_... values when inspecting a ppc64 ELF file.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
1aef163a6815e7bff675f83ddec8b063d6082e86 04-May-2013 Amara Emerson <amara.emerson@arm.com> Revert r181009.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
5d446e61d992f105a05aade62d5305fd8a346081 03-May-2013 Amara Emerson <amara.emerson@arm.com> Add support for reading ARM ELF build attributes.

Build attribute sections can now be read if they exist via ELFObjectFile, and
the llvm-readobj tool has been extended with an option to dump this information
if requested. Regression tests are also included which exercise these features.

Also update the docs with a fixed ARM ABI link and a new link to the Addenda
which provides the build attributes specification.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181009 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
820b3fd7716cf5ab26961d1b2b21fd5d0f330fe1 03-May-2013 Richard Sandiford <rsandifo@linux.vnet.ibm.com> [SystemZ] Add ELF relocation support

Another step towards reinstating the SystemZ backend. Tests will be
included in the main backend patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181008 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
38578c4919ea18ceb27e29988b2d857afe6215bf 03-May-2013 Stephen Hines <srhines@google.com> Merge remote-tracking branch 'upstream/master' into merge-20130502

Conflicts:
lib/Support/Unix/Signals.inc
unittests/Transforms/Utils/Cloning.cpp

Change-Id: I027581a4390ec3ce4cd8d33da8b5f4c0c7d372c8
59a0e79631ed851d98cf9c2ba6fa5f9aafdfdc93 30-Apr-2013 Rafael Espindola <rafael.espindola@gmail.com> Add getSymbolAlignment to the ObjectFile interface.

For regular object files this is only meaningful for common symbols. An object
file format with direct support for atoms should be able to provide alignment
information for all symbols.

This replaces getCommonSymbolAlignment and fixes
test-common-symbols-alignment.ll on darwin. This also includes a fix to
MachOObjectFile::getSymbolFlags. It was marking undefined symbols as common
(already tested by existing mcjit tests now that it is used).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
956ca7265c697107708468b7e1b2fd21f4185bae 25-Apr-2013 Rafael Espindola <rafael.espindola@gmail.com> Clarify getRelocationAddress x getRelocationOffset a bit.

getRelocationAddress is for dynamic libraries and executables,
getRelocationOffset for relocatable objects.

Mark the getRelocationAddress of COFF and MachO as not implemented yet. Add a
test of ELF's. llvm-readobj -r now prints the same values as readelf -r.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
43239078adac6f32315cadbef9709f2f0f499707 17-Apr-2013 Rafael Espindola <rafael.espindola@gmail.com> Two small cleanups for ELF's templates.

* We only ever specialize these templates with an instantiation of ELFType,
so we don't need a template template.
* Replace LLVM_ELF_COMMA with just passing the individual parameters to the
macro. This requires a second macro for when we only have ELFT, but that
is still a small win.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
a6cd815994a30888d579e7731a98e668f07a5965 12-Apr-2013 Nico Rieck <nico.rieck@gmail.com> Add missing relocation names

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
346801a5c6e1542bd69d951f95efd9e582e9d348 12-Apr-2013 Nico Rieck <nico.rieck@gmail.com> Support MIPS64EL relocation type names

MIPS64EL relocation entries have up to three relocation operations. Because
libObject only exposes a single relocation name, use the concatenation of
the individual relocation type names.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
2c6f997290f589b80da903e33718175666557dd7 07-Apr-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove unused argument.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
d787a41b118a3724d1df87dc3d38cc3fddb3a145 03-Apr-2013 Rafael Espindola <rafael.espindola@gmail.com> Implement the "mips endian" for r_info.

Normally r_info is just a 32 of 64 bit number matching the endian of the rest
of the file. Unfortunately, mips 64 bit little endian is special: The top 32
bits are a little endian number and the following 32 are a big endian one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178694 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
76e70f340c09ba759ad96d8dfe416b64f24bc287 03-Apr-2013 Eric Christopher <echristo@gmail.com> Implements low-level object file format specific output for COFF and
ELF with support for:

- File headers
- Section headers + data
- Relocations
- Symbols
- Unwind data (only COFF/Win64)

The output format follows a few rules:
- Values are almost always output one per line (as elf-dump/coff-dump already do). - Many values are translated to something readable (like enum names), with the raw value in parentheses.
- Hex numbers are output in uppercase, prefixed with "0x".
- Flags are sorted alphabetically.
- Lists and groups are always delimited.

Example output:
---------- snip ----------
Sections [
Section {
Index: 1
Name: .text (5)
Type: SHT_PROGBITS (0x1)
Flags [ (0x6)
SHF_ALLOC (0x2)
SHF_EXECINSTR (0x4)
]
Address: 0x0
Offset: 0x40
Size: 33
Link: 0
Info: 0
AddressAlignment: 16
EntrySize: 0
Relocations [
0x6 R_386_32 .rodata.str1.1 0x0
0xB R_386_PC32 puts 0x0
0x12 R_386_32 .rodata.str1.1 0x0
0x17 R_386_PC32 puts 0x0
]
SectionData (
0000: 83EC04C7 04240000 0000E8FC FFFFFFC7 |.....$..........|
0010: 04240600 0000E8FC FFFFFF31 C083C404 |.$.........1....|
0020: C3 |.|
)
}
]
---------- snip ----------

Relocations and symbols can be output standalone or together with the section header as displayed in the example.
This feature set supports all tests in test/MC/COFF and test/MC/ELF (and I suspect all additional tests using elf-dump), making elf-dump and coff-dump deprecated.

Patch by Nico Rieck!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
19d7322170d6d07880055fe1152d6fe17125fb7e 03-Apr-2013 Eric Christopher <echristo@gmail.com> Implement sectionContainsSymbol for ELF.

Patch by Nico Rieck!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178677 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
eac49f668a5461af4c408b13f328c9e370457200 03-Apr-2013 Eric Christopher <echristo@gmail.com> When dumping clear the arm/thumb flag for now.

Patch by Nico Rieck!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178676 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
732f4bc7c4baa7546b0942f69562d4fb3f474999 01-Apr-2013 Jack Carter <jack.carter@imgtec.com> Mips direct object exception handling regression

Revision 177141 caused a regression in all but
mips64 little endian. That is because none of the
other Mips targets had test cases checking the
contents of the .eh_frame section. This patch fixes
both the llvm code and adds an assembler test case
to include the current 4 flavors.

The test cases unfortunately rely on llvm-objdump. A
preferable method would be to use a pretty printer output
such as what readelf -wf <elf_file> would give.

I also changed the name of the test case to correct a typo.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178506 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
a9f83517fccbf5f0daf82afdddff81a0e0aea389 30-Mar-2013 Benjamin Kramer <benny.kra@googlemail.com> Object: Turn a couple of degenerate for loops into while loops.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
21fb0193b2fe92794e83e14388e18590d3771150 28-Mar-2013 Michael Gottesman <mgottesman@apple.com> Revert "Updated ELF relocation test for .eh_frame section"

This reverts commit c8d65364223a04b179958a50a4bf0f89b21dd7d2.

This broke a bunch of the buildbots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
c8d65364223a04b179958a50a4bf0f89b21dd7d2 27-Mar-2013 Jack Carter <jack.carter@imgtec.com> Updated ELF relocation test for .eh_frame section

Made sure we were looking a correct section
Added Mips32/64 as an extra check
Updated llvm-objdump to generate symbolic info for Mips relocations


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
dceaf4ac8dcb2167b57853d354760fe9a8cb8273 25-Mar-2013 Shankar Easwaran <shankare@codeaurora.org> [ELF] dont compute symbolname size in every loop

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177903 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
8b2824a1b21fe7bd3908774feb5f79c98cc7d9a2 25-Mar-2013 Shankar Easwaran <shankare@codeaurora.org> reflect comment to the official reference

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
11987c4719749d6d053cc848e3ebb28579393f51 25-Mar-2013 Shankar Easwaran <shankare@codeaurora.org> [ELF] add elf_hash function to compute the hash value of a symbol in the dynamic symbol table

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
5adb136be579e8fff3734461580cb34d1d2983b8 06-Mar-2013 Stephen Hines <srhines@google.com> Merge commit 'b3201c5cf1e183d840f7c99ff779d57f1549d8e5' into merge_20130226

Conflicts:
include/llvm/Support/ELF.h
lib/Support/DeltaAlgorithm.cpp

Change-Id: I24a4fbce62eb39d924efee3c687b55e1e17b30cd
d326d05fb9c794e93fc7fc0601028f196600f7e2 20-Feb-2013 Michael J. Spencer <bigcheesegs@gmail.com> [llvm-readobj] Add ELF .dynamic table dumping.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
06121de923cb7e8e2ea3cf527f281d9e7825e518 14-Feb-2013 Dmitry Vyukov <dvyukov@google.com> include/llvm/Object/ELF.h: do debug checks only when NDEBUG
validateSymbol() is called all over the place, and it seems it's a debug check.
It significantly speedups llvm-symbolizer used in tsan/asan/msan. validateSymbol() is the second hot function and accounts for 15% of runtime.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175192 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
d1824f2f46adbf4d64acc647aaff9956bef88d54 08-Feb-2013 Michael J. Spencer <bigcheesegs@gmail.com> [Object][ELF] Add a way to get the dynamic symbol table section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
2e0742f76c6081b24eb64b3967c3d7903007dcbd 08-Feb-2013 Michael J. Spencer <bigcheesegs@gmail.com> [Object][ELF] Add {begin,end}_elf_dynamic_symbols to non-virtually iterate over dynamic symbols.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174681 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
def0c1f756562601829364e3fca4bd1f0407316e 07-Feb-2013 Michael J. Spencer <bigcheesegs@gmail.com> [Object][ELF] Fix crash on no dynamic section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174639 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
727de1e7565108158f5829d872dd2f6d7110532f 07-Feb-2013 Michael J. Spencer <bigcheesegs@gmail.com> 80-col

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
49db4691cfdf4ab5119ab3dcaa1250c16e671ab0 07-Feb-2013 Michael J. Spencer <bigcheesegs@gmail.com> [Object][ELF] Do the actual devirtualization.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174568 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
945bc5bde022c790722ca1d05304bb0c986890db 07-Feb-2013 Michael J. Spencer <bigcheesegs@gmail.com> [Object][ELF] Devirtualize and simplify dynamic table iteration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174566 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
72062f5744557e270a38192554c3126ea5f97434 31-Jan-2013 Tim Northover <Tim.Northover@arm.com> Add AArch64 as an experimental target.

This patch adds support for AArch64 (ARM's 64-bit architecture) to
LLVM in the "experimental" category. Currently, it won't be built
unless requested explicitly.

This initial commit should have support for:
+ Assembly of all scalar (i.e. non-NEON, non-Crypto) instructions
(except the late addition CRC instructions).
+ CodeGen features required for C++03 and C99.
+ Compilation for the "small" memory model: code+static data <
4GB.
+ Absolute and position-independent code.
+ GNU-style (i.e. "__thread") TLS.
+ Debugging information.

The principal omission, currently, is performance tuning.

This patch excludes the NEON support also reviewed due to an outbreak of
batshit insanity in our legal department. That will be committed soon bringing
the changes to precisely what has been approved.

Further reviews would be gratefully received.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174054 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
3802947dec01dcf95d1b4b6545e88e549744e2b1 26-Jan-2013 NAKAMURA Takumi <geek4civic@gmail.com> Object/RelocVisitor: Add minimal support, R_MIPS_32, for mips.

It fixes llvm-dwarfdump for mips and mipsel.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
059800f9e3fee2852672f846d91a2da14da7783a 21-Jan-2013 Stephen Hines <srhines@google.com> Merge remote-tracking branch 'upstream/master' into merge-llvm

Conflicts:
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
lib/MC/MCAssembler.cpp
lib/Support/Atomic.cpp
lib/Support/Memory.cpp
lib/Target/ARM/ARMJITInfo.cpp

Change-Id: Ib339baf88df5b04870c8df1bedcfe1f877ccab8d
77c27f439443c2a7f56fc707fc9ceb0d10f085ae 21-Jan-2013 Michael J. Spencer <bigcheesegs@gmail.com> Revert "[Object] .bss sections have no content. PR15005."

This reverts commit r173007.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173012 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
07d5617ca88fdc20f4acbaf0d302eeca959ff1b8 21-Jan-2013 Michael J. Spencer <bigcheesegs@gmail.com> [Object] .bss sections have no content. PR15005.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173007 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
6fff325fb600fdaa269858c638d50dbe374d1937 19-Jan-2013 Andrew Kaylor <andrew.kaylor@intel.com> Fixing behavior of ELFObjectFile::getSymbolFileOffset().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172872 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
6623730296fbe6d639058195772566ffa10e9ad2 16-Jan-2013 Dmitri Gribenko <gribozavr@gmail.com> Improve r172577 by using the correct type when declaring constants


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172580 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
af50dda4102114b23ac7d8c2db4703f22e02f02c 16-Jan-2013 David Greene <greened@obbligato.org> Avoid Enum Compare Warnings

Avoid a compiler warning about comparing disjoint enums but casting
them to int first.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
34461e554ac359cee140434a01facefd25f720f1 15-Jan-2013 Michael J. Spencer <bigcheesegs@gmail.com> [Object][ELF] Fix -Wenum-compare.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172556 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
ac97f5ce486d1ca2967607028eacddd860aaddd0 15-Jan-2013 Michael J. Spencer <bigcheesegs@gmail.com> [Object][ELF] Simplify ELFObjectFile by using ELFType.

This simplifies the usage and implementation of ELFObjectFile by using ELFType
to replace:

<endianness target_endianness, std::size_t max_alignment, bool is64Bits>

This does complicate the base ELF types as they must now use template template
parameters to partially specialize for the 32 and 64bit cases. However these
are only defined once.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172515 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
0b740236b71f0f3811421885c04cc43130f88bef 08-Jan-2013 Tim Northover <Tim.Northover@arm.com> Allow ELF64 relocation type to be more than 8 bits.

Current targets don't have more than 256 relocations so they don't hit this
limit, but ELF64 actually allows more than 8 bits for a relocation type. These
were being truncated on AArch64.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
95abfbe8e9567e08188ada7d29f589f08e539bd6 06-Jan-2013 Michael J. Spencer <bigcheesegs@gmail.com> [Object][ELF] Fix incorrect size of members for the 64 version of Elf_Phdr_Impl.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171650 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
3e5d8ade393d347a1483bf39d48ffebe9541b2b0 06-Jan-2013 Michael J. Spencer <bigcheesegs@gmail.com> [Object][ELF] Add program header iterator.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171648 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
fe23da794930e01701ee1ee4fdb2b91db59c2be5 06-Jan-2013 Michael J. Spencer <bigcheesegs@gmail.com> [Object][ELF] Refactor ELFRelocationIterator into ELFEntityIterator. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171647 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
22f3b40d0bd18f2ad092398d18195c20ceeb1bef 05-Jan-2013 Eric Christopher <echristo@gmail.com> Make this an integer so we have enumeral types in the conditional
expression.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171571 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
4d9c5397b4a3be747bdb73f1d24c3fdbaaf438fe 04-Jan-2013 Michael J. Spencer <bigcheesegs@gmail.com> [Object][ELF] Add a maximum alignment. This is used by createELFObjectFile to create a properly aligned reader.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
5b712efd9a4d29119ce136d46a23454bdc103f68 31-Dec-2012 Rafael Espindola <rafael.espindola@gmail.com> Fix bits check in ELFObjectFile::isSectionZeroInit().

Fixes PR14723.

Patch by Sami Liedes!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
255f89faee13dc491cb64fbeae3c763e7e2ea4e6 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort the #include lines for the include/... tree with the script.

AKA: Recompile *ALL* the source code!

This one went much better. No manual edits here. I spot-checked for
silliness and grep-checked for really broken edits and everything seemed
good. It all still compiles. Yell if you see something that looks goofy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
f7414823871c7707a6af61c19e5f9ce3a4fa861c 13-Nov-2012 Shankar Easwaran <shankare@codeaurora.org> Adding convenience function to ELF Header

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
a41dce3c642e50775352cce49e3a3d0cd004d393 29-Oct-2012 Tim Northover <Tim.Northover@arm.com> Add interface for querying object files for symbol values.

Currently only implemented for ELF.

Patch by Amara Emerson.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
ed84062812c7b8a82d0e8128a22aa1aa07a14d79 12-Oct-2012 Sean Silva <silvas@purdue.edu> Remove unnecessary classof()'s

isa<> et al. automatically infer when the cast is an upcast (including a
self-cast), so these are no longer necessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
3a129c85920404e7ccdb7e655c89fa60a0309cfd 10-Oct-2012 Andrew Kaylor <andrew.kaylor@intel.com> This patch adds new functions to the SectionRef and ObjectFile interfaces to determine whether or not a section is meant to be read-only. These functions will be used by the MCJIT RuntimeDyld to give hints to the memory manager during the object loading process in a future patch.

Patch by Ashok Thirumurthi.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165586 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
a06fd990543c82c4cc735354914ae4be64eb83d6 05-Oct-2012 Hemant Kulkarni <khemant@codeaurora.org> Add ELF program header.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
a5e01b1314b48c364c092288c2aef95c29a79583 05-Oct-2012 Adhemerval Zanella <azanella@linux.vnet.ibm.com> Add PowerPC64 definitions for ELF.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
01fa41a106ed0ff86c3b9ffe0843679211bf487c 21-Sep-2012 Alexey Samsonov <samsonov@google.com> Fix SymbolRef::getAddress implementation for ELF. The 'value' field in symbol table entry should be treated differently for relocatable and relocated files. This patch fixes symbol addresses printed by llvm-nm for executables and shared objects.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164365 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
419e5b9d4f8bd0e0724b7b2c2d8df0f534bc8d8d 18-Sep-2012 Richard Smith <richard-llvm@metafoo.co.uk> Remove redundant semicolons to fix -pedantic-errors build break with older Clangs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164071 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
9b7ca410621f6988b2d4203b90058dd4252848a8 17-Sep-2012 Sid Manning <sidneym@codeaurora.org> Add Michael Spencer's iterator class for stepping through relocations. Add method that, given a symbol index, will return the symbol's data.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
1c4ad5ef4fab105f0c8af7edd026e00502fb6279 11-Sep-2012 Stephen Hines <srhines@google.com> Merge branch 'upstream' into merge-2012_09_10

Conflicts:
lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
lib/Support/DynamicLibrary.cpp
lib/Support/LockFileManager.cpp

Change-Id: I91e94c3a7a76e19c688307c5a480a640a3bd2b7e
2c38a6615a693d0a43159825da2358126473502b 10-Sep-2012 Michael J. Spencer <bigcheesegs@gmail.com> [Object] Extract Elf_Ehdr. Patch by Hemant Kulkarni!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163532 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
033d182589aa46719a47f38fc7021e41aa5b6d43 06-Sep-2012 Nick Lewycky <nicholas@mxc.ca> Teach libObject about some more ELF relocations. llvm-objdump -r now knows
every relocation in C++ hello world built with debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
4b6fbf25600a94dc41ba96b174045e50b85862cf 01-Sep-2012 Logan Chien <tzuhsiang.chien@gmail.com> Add ARM ELF support to llvm-objdump.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
31675153bd2d7617db8cb6aeb58054934c7b9f73 24-Aug-2012 Stephen Hines <srhines@google.com> Merge branch 'upstream' into merge_2

Conflicts:
lib/Target/ARM/ARMCodeEmitter.cpp

Change-Id: I6702d340c733e9721499b5d85b13b96ad9c14eb5
b889e0cd2fea4afee623d5be603b912b955a2eca 17-Aug-2012 Akira Hatanaka <ahatanaka@mips.com> Correct MCJIT functionality for MIPS32 architecture.

No new tests are added.
All tests in ExecutionEngine/MCJIT that have been failing pass after this patch
is applied (when "make check" is done on a mips board).

Patch by Petar Jovanovic.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162135 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
05b2bc8781d9af403a257599613e12cb8fef19e8 16-Aug-2012 Roman Divacky <rdivacky@freebsd.org> Revert r162034, r162035 and r162037.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
745d94d29fec3df001a08062644e68052ac14618 16-Aug-2012 Roman Divacky <rdivacky@freebsd.org> Handle PowerPC.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162034 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
7744acd1ab73b3eec6f1449f47083abe3fb1b527 03-Aug-2012 Shih-wei Liao <sliao@google.com> Merge with LLVM upstream r160668 (Jul 24th 2012)

Conflicts:
include/llvm/Support/ELF.h
lib/CodeGen/AsmPrinter/AsmPrinter.cpp
lib/Support/Memory.cpp
lib/Transforms/Instrumentation/AddressSanitizer.cpp

Change-Id: Iddd658cf2eadc7165b2805b446d31af2c5c9917f
9669f749764997ab7033d5c4b0546fe739dd71d8 24-Jul-2012 Michael J. Spencer <bigcheesegs@gmail.com> [Object] Remove unneeded const_cast.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160692 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
9dc5b3e6c423733d5d7d553521b48ea30518f37c 24-Jul-2012 Anshuman Dasgupta <adasgupt@codeaurora.org> Add new interfaces to support ldd's ReaderElf.cpp.

Patch by Sid Manning!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
50b4c52633b0c933aabcd0741d1dae751ba339dd 23-Jun-2012 Marshall Clow <mclow@qualcomm.com> Add relocation types for Hexagon processor; patch by Sidney Manning <sidneym@codeaurora.org>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
d9b0b025612992a0b724eeca8bdf10b1d7a5c355 02-Jun-2012 Benjamin Kramer <benny.kra@googlemail.com> Fix typos found by http://github.com/lyda/misspell-check

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157885 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
7c101d874ef1ef2053c6f61d87680006fdd1a32d 07-May-2012 Andrew Hsieh <andrewhsieh@google.com> Merge "Add libLLVMObject to read executable file."
ca8b2c655eb4d283187cbbb4f0f3acd34f60fa1c 20-Apr-2012 Logan Chien <loganchien@google.com> Add libLLVMObject to read executable file.

Change-Id: I9ce8742d12fd3d9c57cec182e76c7385d3f0e3bc
/external/llvm/include/llvm/Object/ELF.h
689ff9c00f4f3dcf3491778bcdbda79e19e2285d 17-Apr-2012 Preston Gurd <preston.gurd@intel.com> Implement GDB integration for source level debugging of code JITed using
the MCJIT execution engine.

The GDB JIT debugging integration support works by registering a loaded
object image with a pre-defined function that GDB will monitor if GDB
is attached. GDB integration support is implemented for ELF only at this
time. This integration requires GDB version 7.0 or newer.

Patch by Andy Kaylor!




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154868 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
bdc3adc6c10378e16035467aae866eead51f1d54 13-Apr-2012 Craig Topper <craig.topper@gmail.com> Remove getElfArchType from ELF.h. It's only used in ELFObjectFile.cpp and there's already a copy there. ELF.h was hiding the one there and causing an unused function warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
c68dda815e64fb2fb463318d1eaa304e22199d50 12-Apr-2012 Preston Gurd <preston.gurd@intel.com> This patch improves the MCJIT runtime dynamic loader by adding new handling
of zero-initialized sections, virtual sections and common symbols
and preventing the loading of sections which are not required for
execution such as debug information.

Patch by Andy Kaylor!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
3fd9b8422328a60664a5c631ec9519b58017fcbc 10-Apr-2012 Danil Malyshev <dmalyshev@accesssoftek.com> Add a constructor for DataRefImpl and remove excess initialization.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
2d70e263c2b508bf4641273dd89a23149f6f6164 09-Mar-2012 David Meyer <pdox@google.com> Support reading GNU symbol versions in ELFObjectFile

* Add enums and structures for GNU version information.
* Implement extraction of that information on a per-symbol basis (ELFObjectFile::getSymbolVersion).
* Implement a generic interface, GetELFSymbolVersion(), for getting the symbol version from the ObjectFile (hides the templating).
* Have llvm-readobj print out the version, when available.
* Add a test for the new feature: readobj-elf-versioning.test



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
6f9489a86f33624f9ff5388411d12359ce9cef20 09-Mar-2012 David Meyer <pdox@google.com> [Object]
Make Binary::TypeID more granular, to distinguish between ELF 32/64 little/big




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152435 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
97f7787bfb56ad31fe20ec0bb9c3c9f3253d14fb 01-Mar-2012 David Meyer <pdox@google.com> [Object]
Add ObjectFile::getLoadName() for retrieving the soname/installname of a shared object.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151845 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
5c2b4ea73c8f48bb5f96c86fe437385b8fb3dcda 01-Mar-2012 David Meyer <pdox@google.com> [Object]
* Add begin_dynamic_table() / end_dynamic_table() private interface to ELFObjectFile.
* Add begin_libraries_needed() / end_libraries_needed() interface to ObjectFile, for grabbing the list of needed libraries for a shared object or dynamic executable.
* Implement this new interface completely for ELF, leave stubs for COFF and MachO.
* Add 'llvm-readobj' tool for dumping ObjectFile information.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
2c67727046234ad9702ab5acb72700b5ac99a676 29-Feb-2012 David Meyer <pdox@google.com> [Object] Add symbol attribute flags: ST_ThreadLocal, ST_Common, and ST_Undefined. Implement these completely for ELF.
Rename ST_External to ST_Unknown, and slightly change its semantics. It now only indicates that the symbol's type
is unknown, not that the symbol is undefined. (For that, use ST_Undefined).



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
c46255a32ec92c427e621b6d7eabd887962ce4a4 29-Feb-2012 David Meyer <pdox@google.com> In the ObjectFile interface, replace isInternal(), isAbsolute(), isGlobal(), and isWeak(), with a bitset of flags.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
dfa1896b6b61e708f002b814794890ff308172ee 28-Feb-2012 Michael J. Spencer <bigcheesegs@gmail.com> [Object] Add {begin,end}_dynamic_symbols stubs and implementation for ELF.
Add -D option to llvm-nm to dump dynamic symbols.

Patch by David Meyer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151600 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
284a6bbae148e1b5a2696f13526bb8f64da62177 27-Feb-2012 Michael J. Spencer <bigcheesegs@gmail.com> Remove duplicate copy of Object/ELF.h that somehow managed to get in.

Patch by David Meyer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h
f4eff4baeb44f9dee988e9293d029dcaa359420d 12-Feb-2012 Eli Bendersky <eli.bendersky@intel.com> Expose the ELFObjectFile class directly in the Object/ELF.h header, similarly
to what's done for MachO and COFF. This allows advanced uses of the class to
be implemented outside the Object library. In particular, the DyldELFObject
subclass is now moved into its logical home - ExecutionEngine/RuntimeDyld.

This patch was reviewed by Michael Spencer.




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/ELF.h