summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-size
diff options
context:
space:
mode:
authorKevin Enderby <enderby@apple.com>2014-06-19 22:03:18 +0000
committerKevin Enderby <enderby@apple.com>2014-06-19 22:03:18 +0000
commit1983fcf86ca9353679a9b7d979907730301c76d9 (patch)
treeeabd357978a1997a9bbc8ab3801ba6d355b214ec /llvm/tools/llvm-size
parent6b244b134868958e7adc62e8b7cfe02e448529c7 (diff)
downloadbcm5719-llvm-1983fcf86ca9353679a9b7d979907730301c76d9.tar.gz
bcm5719-llvm-1983fcf86ca9353679a9b7d979907730301c76d9.zip
Change the output of llvm-nm and llvm-size for Mach-O universal files (aka
fat files) to print “ (for architecture XYZ)” for fat files with more than one architecture to be like what the darwin tools do for fat files. Also clean up the Mach-O printing of archive membernames in llvm-nm to use the darwin form of "libx.a(foo.o)". llvm-svn: 211316
Diffstat (limited to 'llvm/tools/llvm-size')
-rw-r--r--llvm/tools/llvm-size/llvm-size.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/llvm/tools/llvm-size/llvm-size.cpp b/llvm/tools/llvm-size/llvm-size.cpp
index b3aaac8d27d..408bb4a1880 100644
--- a/llvm/tools/llvm-size/llvm-size.cpp
+++ b/llvm/tools/llvm-size/llvm-size.cpp
@@ -469,13 +469,20 @@ static void PrintFileSectionSizes(StringRef file) {
std::unique_ptr<Archive> UA;
if (!I->getAsObjectFile(UO)) {
if (ObjectFile *o = dyn_cast<ObjectFile>(&*UO.get())) {
+ MachOObjectFile *MachO = dyn_cast<MachOObjectFile>(o);
if (OutputFormat == sysv)
outs() << o->getFileName() << " :\n";
+ else if(MachO && OutputFormat == darwin) {
+ if (moreThanOneFile || moreThanOneArch)
+ outs() << o->getFileName() << " (for architecture "
+ << I->getArchTypeName() << "):";
+ outs() << "\n";
+ }
PrintObjectSectionSizes(o);
if (OutputFormat == berkeley) {
- MachOObjectFile *MachO = dyn_cast<MachOObjectFile>(o);
if (!MachO || moreThanOneFile || moreThanOneArch)
- outs() << o->getFileName();
+ outs() << o->getFileName() << " (for architecture "
+ << I->getArchTypeName() << ")";
outs() << "\n";
}
}
@@ -495,11 +502,15 @@ static void PrintFileSectionSizes(StringRef file) {
outs() << o->getFileName() << " (ex " << UA->getFileName()
<< "):\n";
else if(MachO && OutputFormat == darwin)
- outs() << UA->getFileName() << "(" << o->getFileName() << "):\n";
+ outs() << UA->getFileName() << "(" << o->getFileName() << ")"
+ << " (for architecture " << I->getArchTypeName()
+ << "):\n";
PrintObjectSectionSizes(o);
if (OutputFormat == berkeley) {
if (MachO)
- outs() << UA->getFileName() << "(" << o->getFileName() << ")\n";
+ outs() << UA->getFileName() << "(" << o->getFileName() << ")"
+ << " (for architecture " << I->getArchTypeName()
+ << ")\n";
else
outs() << o->getFileName() << " (ex " << UA->getFileName()
<< ")\n";
OpenPOWER on IntegriCloud