https://bugs.winehq.org/show_bug.cgi?id=49437
--- Comment #18 from Damjan Jovanovic damjan.jov@gmail.com --- (In reply to Alex S from comment #17)
(In reply to Damjan Jovanovic from comment #16)
(In reply to Alex S from comment #14)
(In reply to Damjan Jovanovic from comment #13)
Huh? This doesn't make any sense. You don't need to preserve compatibility in all directions.
Yes you do. Compile on 12.1, run on 12.1: it uses offset 0 meaning l_addr, no _rtld_version_laddr_offset so it recalculates the address, all good. Now upgrade to 12.2, it crashes because _rtld_version_laddr_offset is there so assumes l_addr is already valid, and it is, but it is located at a different offset - what is at offset 0 is no longer l_addr -> crash. It would need to be recompiled on 12.2 to find l_addr at its new offset and use it correctly.
I'm well aware of this, see comments #11 and #12.
Your patch for this is a lot simpler than mine lol - 1 line of code ;-) - but it will break if you build a binary package on 12.2 and users run it on 12.1.
I have some comments on your Proton patches, I'll post them on the FreeBSD Bugzilla.