AIX RS/6000: Remove faulty BFD64 checks in core file handling
Binutils core file handler for AIX RS/6000 no longer incorrectly distinguishes between 32-bit and 64-bit BFD builds.
This commit corrects an issue in the AIX RS/6000 core file handler (rs6000-core.c) where build-time checks for BFD64 were incorrectly applied. These checks, intended for differentiating 32-bit and 64-bit builds, were found to be bogus and potentially broke the reading of older core files. The commit removes these erroneous conditional compilation blocks and initializes a missing field in a non-CORE_NEW code path.
In Details
The rs6000-core.c file handles core dumps for AIX on RS/6000. Previous commits introduced #ifndef BFD64 guards, assuming that code within them was only relevant for 32-bit BFD builds. However, binutils can be configured with --enable-64-bit-bfd even on a 32-bit system, or target specific 64-bit architectures, making the BFD64 checks unreliable and potentially breaking older core file formats. This patch removes these BFD64ifdefs, ensuring consistent handling regardless of the BFD build configuration, and also initializes c_extoff when not using the CORE_NEW format.
- BFD
- The Binary File Descriptor library, an abstraction layer within GNU Binutils for handling various object file formats.
- core dump
- A file containing the memory image of a process at the time it crashed. Debuggers use core dumps to analyze the state of a program when an error occurred.
- AIX
- Advanced Interactive eXecutive, a proprietary operating system developed by IBM for its RS/6000 and other hardware.
- ifdef
- A preprocessor directive in C/C++ used for conditional compilation. It allows code blocks to be included or excluded based on defined macros.