llvm-project/llvm/test/tools/llvm-objdump/xcoff-section-headers.test
Jordan Rupprecht 98a2ae7dad Reland [llvm-objdump] Use a counter for llvm-objdump -h instead of the section index.
This relands r374931 (reverted in r375088). It fixes 32-bit builds by using the right format string specifier for uint64_t (PRIu64) instead of `%d`.

Original description:

When listing the index in `llvm-objdump -h`, use a zero-based counter instead of the actual section index (e.g. shdr->sh_index for ELF).

While this is effectively a noop for now (except one unit test for XCOFF), the index values will change in a future patch that filters certain sections out (e.g. symbol tables). See D68669 for more context. Note: the test case in `test/tools/llvm-objdump/X86/section-index.s` already covers the case of incrementing the section index counter when sections are skipped.

Reviewers: grimar, jhenderson, espindola

Reviewed By: grimar

Subscribers: emaste, sbc100, arichardson, aheejin, arphaman, seiya, llvm-commits, MaskRay

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D68848

llvm-svn: 375178
2019-10-17 21:55:43 +00:00

44 lines
1.4 KiB
Plaintext

# RUN: llvm-objdump --section-headers %p/Inputs/xcoff-section-headers.o | \
# RUN: FileCheck %s
# RUN: llvm-objdump --section-headers %p/Inputs/xcoff-long-sec-names.o | \
# RUN: FileCheck --check-prefix=LONG %s
# RUN: not llvm-objdump --section-headers 2>&1 \
# RUN: %p/Inputs/xcoff-section-headers-truncate.o | FileCheck \
# RUN: --check-prefix=ERROR %s
# ERROR: The end of the file was unexpectedly encountered
# CHECK: xcoff-section-headers.o: file format aixcoff-rs6000
# CHECK: Sections:
# CHECK: Idx Name Size VMA Type
# CHECK: 0 .text 00000080 00000000 TEXT
# CHECK: 1 .data 00000024 00000080 DATA
# CHECK: 2 .bss 00000004 000000a4 BSS
# CHECK: 3 .tdata 00000008 00000000 DATA
# CHECK: 4 .tbss 00000004 00000008 BSS
# xcoff-section-headers.o Compiled with IBM XL C/C++ for AIX, V16.1.0
# test.c:
# int a;
# int b = 12345;
# __thread int c;
# __thread double d = 3.14159;
#
# int func(void) {
# return a;
# }
# LONG: xcoff-long-sec-names.o: file format aixcoff-rs6000
# LONG: Sections:
# LONG: Idx Name Size VMA Type
# LONG: 0 .dwarnge 00000004 00000000
# LONG: 1 .dwpbnms 00000004 00000000
# LONG: 2 .dwpbtyp 00000004 00000000
# xcoff-long-sec-names.o was generated by assembling the following .s file:
# .dwsect 0x30000 # .dwpbnms section
# .dwsect 0x40000 # .dwpbtyp section
# .dwsect 0x50000 # .dwarnge section