Commit Graph

60 Commits

Author SHA1 Message Date
Michael J. Spencer cadb082e5a [ELF] Fix memory leak by deleting BumpPtr allocated objects.
llvm-svn: 175558
2013-02-19 21:04:30 +00:00
Chandler Carruth 21aaf2534d Switch a vector<pair<const T &, const U &>> to a vector<pair<const T *,
const U *>>. Even in C++11 it doesn't seem this is valid as vector's
emplace support requires move assignment, and there is no way to move
assign a reference.

The real motivation however is that this fixes the build of lld with
libstdc++ 4.6.

llvm-svn: 175481
2013-02-19 01:58:11 +00:00
Michael J. Spencer db18847b01 [ELF][Writer] Refactor Section to not have atoms. Move atoms into AtomSection.
The purpose of this change is to simplify creating non-atom sections.
Previously _contentType, _sectionKind and _order were used for multiple
purposes and collided in places. This moves all of the Atom specific logic down
into AtomSection and makes Section just have raw Elf_Shdr flags.

llvm-svn: 175207
2013-02-14 20:24:38 +00:00
Shankar Easwaran a47495898c remove duplicate strings from the string table
llvm-svn: 174200
2013-02-01 18:06:15 +00:00
Michael J. Spencer b0ed8e80d8 [ELF][x86-84] Add static TLS support.
llvm-svn: 174154
2013-02-01 07:13:49 +00:00
Shankar Easwaran fb8565a9c6 add support for assigning virtual addresses to TDATA/TBSS sections
llvm-svn: 174065
2013-01-31 16:04:47 +00:00
Michael J. Spencer f35c3e434a [ELF] Use TargetRelocationHandler to apply relocations.
llvm-svn: 173911
2013-01-30 07:46:31 +00:00
Shankar Easwaran a6f00fe083 add targethandler hooks from Writer and cleanup
llvm-svn: 173904
2013-01-30 07:11:43 +00:00
Michael J. Spencer 4260657fab [ELF] Make AtomLayout more accessible.
This is needed to allow constant time access to the final layout of atoms.

llvm-svn: 173874
2013-01-30 01:25:06 +00:00
Michael J. Spencer e68f90355c [ELF] Chop the ELF prefix off of most things.
llvm-svn: 173838
2013-01-29 22:03:39 +00:00