Two issues have been identified with the addibne instruction in the xxlcz extension in GCC 2025.02:
Incorrect behavior when -flto (Link-Time Optimization) is enabled – addibne generates wrong code under LTO.
Jump range violation – The addibne instruction may exceed its legal jump range (>1024 bytes).
Workaround & Fix:
Use -mno-addibne to disable addibne generation explicitly.
GCC now automatically disables addibne when -flto is enabled.
Fixed Version: 2025.10
Details:
LTO Compatibility Issue
When -flto is enabled, the generated addibne behaves incorrectly. The fix ensures it defaults to not generating addibne under LTO.
Jump Range Limit
addibne’s jump offset must be constrained to 1024 bytes, but the current implementation may violate this. The fix enforces the range limit.
Impact:
Projects relying on addibne with -flto need to either:
a) Disable it via -mno-addibne, or
b) Upgrade to 2025.10 where the issues are resolved.
Affected Versions: GCC 2025.02
Fixed Version: 2025.10
Two issues have been identified with the addibne instruction in the xxlcz extension in GCC 2025.02:
Incorrect behavior when -flto (Link-Time Optimization) is enabled – addibne generates wrong code under LTO.
Jump range violation – The addibne instruction may exceed its legal jump range (>1024 bytes).
Workaround & Fix:
Use -mno-addibne to disable addibne generation explicitly.
GCC now automatically disables addibne when -flto is enabled.
Fixed Version: 2025.10
Details:
LTO Compatibility Issue
When -flto is enabled, the generated addibne behaves incorrectly. The fix ensures it defaults to not generating addibne under LTO.
Jump Range Limit
addibne’s jump offset must be constrained to 1024 bytes, but the current implementation may violate this. The fix enforces the range limit.
Impact:
Projects relying on addibne with -flto need to either:
a) Disable it via -mno-addibne, or
b) Upgrade to 2025.10 where the issues are resolved.
Affected Versions: GCC 2025.02
Fixed Version: 2025.10