mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 12:50:30 +00:00
Implement MachOObjectFile::isSectionData() and MachOObjectFile::isSectionBSS
so that llvm-size will total up all the sections in the Berkeley format. This allows for rough categorizations for Mach-O sections. And allows the total of llvm-size’s Berkeley and System V formats to be the same. llvm-svn: 209158
This commit is contained in:
parent
f09daeadf1
commit
329b5c1fea
@ -686,15 +686,21 @@ MachOObjectFile::isSectionText(DataRefImpl Sec, bool &Res) const {
|
||||
return object_error::success;
|
||||
}
|
||||
|
||||
error_code MachOObjectFile::isSectionData(DataRefImpl DRI, bool &Result) const {
|
||||
// FIXME: Unimplemented.
|
||||
Result = false;
|
||||
error_code MachOObjectFile::isSectionData(DataRefImpl Sec, bool &Result) const {
|
||||
uint32_t Flags = getSectionFlags(this, Sec);
|
||||
unsigned SectionType = Flags & MachO::SECTION_TYPE;
|
||||
Result = !(Flags & MachO::S_ATTR_PURE_INSTRUCTIONS) &&
|
||||
!(SectionType == MachO::S_ZEROFILL ||
|
||||
SectionType == MachO::S_GB_ZEROFILL);
|
||||
return object_error::success;
|
||||
}
|
||||
|
||||
error_code MachOObjectFile::isSectionBSS(DataRefImpl DRI, bool &Result) const {
|
||||
// FIXME: Unimplemented.
|
||||
Result = false;
|
||||
error_code MachOObjectFile::isSectionBSS(DataRefImpl Sec, bool &Result) const {
|
||||
uint32_t Flags = getSectionFlags(this, Sec);
|
||||
unsigned SectionType = Flags & MachO::SECTION_TYPE;
|
||||
Result = !(Flags & MachO::S_ATTR_PURE_INSTRUCTIONS) &&
|
||||
(SectionType == MachO::S_ZEROFILL ||
|
||||
SectionType == MachO::S_GB_ZEROFILL);
|
||||
return object_error::success;
|
||||
}
|
||||
|
||||
|
BIN
test/Object/Inputs/macho-text-data-bss.macho-x86_64
Normal file
BIN
test/Object/Inputs/macho-text-data-bss.macho-x86_64
Normal file
Binary file not shown.
15
test/Object/size-trivial-macho.test
Normal file
15
test/Object/size-trivial-macho.test
Normal file
@ -0,0 +1,15 @@
|
||||
RUN: llvm-size -A %p/Inputs/macho-text-data-bss.macho-x86_64 \
|
||||
RUN: | FileCheck %s -check-prefix A
|
||||
RUN: llvm-size -B %p/Inputs/macho-text-data-bss.macho-x86_64 \
|
||||
RUN: | FileCheck %s -check-prefix B
|
||||
|
||||
A: section size addr
|
||||
A: __text 12 0
|
||||
A: __data 4 12
|
||||
A: __bss 4 112
|
||||
A: __compact_unwind 32 16
|
||||
A: __eh_frame 64 48
|
||||
A: Total 116
|
||||
|
||||
B: text data bss dec hex filename
|
||||
B: 12 100 4 116 74
|
Loading…
Reference in New Issue
Block a user