PR 26580 revert 36efe0aea5f7
Reverts a change that caused failures on MIPS targets related to shared library BSS symbols.
This submission reverts commit 36efe0aea5f7 which attempted to fix a test case on some MIPS targets. The reverted commit inadvertently caused new failures (pr26580-1, pr26580-2) on mips*-elf and mips-sgi-irix6 targets. The author believes these new failures are correct, indicating that these MIPS targets do not properly handle BSS symbols in shared libraries, a behavior the reverted commit might have masked.
- proposer
Reverts a prior commit due to new test failures on MIPS targets, suggesting the targets have an underlying issue with shared library BSS symbols.
“In commit 36efe0aea5f7 I wrote "Some MIPS targets, for reasons I didn't analyse ..", which of course is a foolish reason to "fix" a failure of a new testcase.”
In Details
This commit reverts a change intended to fix PR 26580, specifically affecting MIPS ELF targets. The original fix apparently caused new test failures related to how shared libraries handle common symbols, particularly those in the BSS section. The author discovered that the common symbol in the shared library was being marked as SHN_MIPS_DATA instead of being treated as a proper common symbol, leading to incorrect linking when a relocatable object file also had a common symbol. The reversion confirms that the underlying issue lies with the MIPS targets' handling of BSS symbols in shared libr…
- PR 26580
- Problem Report 26580, likely a bug report filed against binutils concerning linker behavior.
- MIPS
- A reduced instruction set computer (RISC) architecture used in various embedded systems and historically in workstations.
- ELF
- Executable and Linkable Format, a common standard file format for object files, executables, and shared libraries on Unix-like systems.
- shared library
- A library whose code can be shared by multiple programs at runtime, loaded dynamically by the operating system.
- BSS
- Block Started by Symbol. A section in object files that contains uninitialized data. Memory for BSS is typically allocated by the operating system at program load time.
- SHN_MIPS_DATA
- A section header index specific to MIPS ELF, indicating data associated with a symbol.