mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-24 12:19:53 +00:00
llvm-objdump: Skip empty sections when dumping contents
Empty sections are just noise when using objdump. This is similar to what binutils does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221680 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
dd848e93cc
commit
1dd631fe02
@ -25,12 +25,12 @@
|
||||
# OBJ-O32: R_MIPS_LO16 _gp_disp
|
||||
# OBJ-O32: addu $gp, $gp, $25
|
||||
|
||||
# OBJ-N32: .text
|
||||
# OBJ-N32-NOT: .text
|
||||
# OBJ-N32-NOT: lui $gp, 0
|
||||
# OBJ-N32-NOT: addiu $gp, $gp, 0
|
||||
# OBJ-N32-NOT: addu $gp, $gp, $25
|
||||
|
||||
# OBJ-N64: .text
|
||||
# OBJ-N64-NOT: .text
|
||||
# OBJ-N64-NOT: lui $gp, 0
|
||||
# OBJ-N64-NOT: addiu $gp, $gp, 0
|
||||
# OBJ-N64-NOT: addu $gp, $gp, $25
|
||||
|
@ -1,11 +0,0 @@
|
||||
// 32 bit big endian
|
||||
// RUN: llvm-mc -filetype=obj -triple mips-unknown-linux %s -o - | llvm-objdump -d -triple mips-unknown-linux - | FileCheck %s
|
||||
// 32 bit little endian
|
||||
// RUN: llvm-mc -filetype=obj -triple mipsel-unknown-linux %s -o - | llvm-objdump -d -triple mips-unknown-linux - | FileCheck %s
|
||||
// 64 bit big endian
|
||||
// RUN: llvm-mc -filetype=obj -arch=mips64 -triple mips64-unknown-linux %s -o - | llvm-objdump -d -triple mips-unknown-linux - | FileCheck %s
|
||||
// 64 bit little endian
|
||||
// RUN: llvm-mc -filetype=obj -arch=mips64el -triple mips64el-unknown-linux %s -o - | llvm-objdump -d -triple mips-unknown-linux - | FileCheck %s
|
||||
|
||||
// We just want to see if llvm-objdump works at all.
|
||||
// CHECK: .text
|
@ -1,6 +1,3 @@
|
||||
RUN: llvm-objdump -s %p/Inputs/large-bss.obj.coff-i386 | FileCheck %s
|
||||
|
||||
; CHECK: Contents of section .text:
|
||||
: CHECK-NEXT: Contents of section .data:
|
||||
: CHECK-NEXT: Contents of section .bss:
|
||||
: CHECK-NEXT: <skipping contents of bss section at [0000, 010f)>
|
||||
: CHECK: <skipping contents of bss section at [0000, 010f)>
|
||||
|
@ -313,6 +313,8 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) {
|
||||
|
||||
uint64_t SectionAddr = Section.getAddress();
|
||||
uint64_t SectSize = Section.getSize();
|
||||
if (!SectSize)
|
||||
continue;
|
||||
|
||||
// Make a list of all the symbols in this section.
|
||||
std::vector<std::pair<uint64_t, StringRef>> Symbols;
|
||||
@ -514,11 +516,12 @@ static void PrintSectionContents(const ObjectFile *Obj) {
|
||||
if (error(Section.getName(Name)))
|
||||
continue;
|
||||
uint64_t BaseAddr = Section.getAddress();
|
||||
bool BSS = Section.isBSS();
|
||||
uint64_t Size = Section.getSize();
|
||||
if (!Size)
|
||||
continue;
|
||||
|
||||
outs() << "Contents of section " << Name << ":\n";
|
||||
if (BSS) {
|
||||
uint64_t Size = Section.getSize();
|
||||
if (Section.isBSS()) {
|
||||
outs() << format("<skipping contents of bss section at [%04" PRIx64
|
||||
", %04" PRIx64 ")>\n",
|
||||
BaseAddr, BaseAddr + Size);
|
||||
|
Loading…
Reference in New Issue
Block a user