objdump: Fix private header ('-p') import table output for pe-aarch64
Confirms a fix for truncated import table output in objdump for PE files on 64-bit architectures.
Jan Beulich LGTMs a revised patch that addresses an issue where objdump’s private header (-p) output for PE files on 64-bit architectures (like aarch64) was truncated, showing only the first import. The fix correctly distinguishes between PE32 (32-bit) and PE32+ (64-bit) formats, ensuring that 64-bit import lookup table entries are properly handled. The revised patch also adheres to 80-column line length limits.
- reviewer
Approves the revised patch, confirming it resolves the issue of truncated import table output for PE files on 64-bit architectures and meets code formatting standards.
In Details
This discussion concerns a fix for the objdump tool within binutils, specifically targeting the display of import tables for PE (Portable Executable) files on 64-bit architectures like aarch64. The original issue was that the import lookup table entries, which are 64-bit in PE32+ files, were being truncated to 32-bit, leading to incomplete output. The patch, proposed by Jon Turney, correctly identifies PE32+ files and ensures that objdump reads and prints the 64-bit import table entries, resolving the truncation problem. Beulich's comments confirm the fix and suggest formatting improvements.
- objdump
- A utility in the GNU Binutils package that displays information from object files, including disassembled code and symbol tables.
- PE file
- Portable Executable file format, used for executables, DLLs, and object files on Windows systems.
- import table
- A table in a PE executable that lists the dynamic library functions the program needs to call.
- aarch64
- The 64-bit ARM architecture.
- PE32+
- The 64-bit version of the PE file format.