diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2012-12-21 03:47:03 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2012-12-21 03:47:03 +0000 |
commit | cef81b37c77978cd4dddb4a5ad13564793ded155 (patch) | |
tree | 213adf12c2f076ee2598d985930199c78d64356b /lib/Target/TargetIntrinsicInfo.cpp | |
parent | ab37b2c4bb23ab80f92429b59d812ed491c14ea6 (diff) | |
download | external_llvm-cef81b37c77978cd4dddb4a5ad13564793ded155.zip external_llvm-cef81b37c77978cd4dddb4a5ad13564793ded155.tar.gz external_llvm-cef81b37c77978cd4dddb4a5ad13564793ded155.tar.bz2 |
Add a function to get the segment name of a section.
On MachO, sections also have segment names. When a tool looking at a .o file
prints a segment name, this is what they mean. In reality, a .o has only one
anonymous, segment.
This patch adds a MachO only function to fetch that segment name. I named it
getSectionFinalSegmentName since the main use for the name seems to be inform
the linker with segment this section should go to.
The patch also changes MachOObjectFile::getSectionName to return just the
section name instead of computing SegmentName,SectionName.
The main difference from the previous patch is that it doesn't use
InMemoryStruct. It is extremely dangerous: if the endians match it returns
a pointer to the file buffer, if not, it returns a pointer to an internal buffer
that is overwritten in the next API call.
We should change all of this code to use
support::detail::packed_endian_specific_integral like ELF, but since these
functions only handle strings, they work with big and little endian machines
as is.
I have tested this by installing ubuntu 12.10 ppc on qemu, that is why it took
so long :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170838 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/TargetIntrinsicInfo.cpp')
0 files changed, 0 insertions, 0 deletions