I think the point of the video was not to solve the problem, but to show just how horrible tools are, since the most obvious solution or at least path to a workaround was mentioned here multiple times.
AVR-GCC toolchain is infamous with its "relocation truncated to fit: R_AVR_13_PCREL" liner errors that pop up for multiple reasons, so they get fixed and pop up again. This happens from time to time, not a huge deal, just rearrange some stuff in the code and it goes away.
Hmm, so a discrepancy between where the compiler expected the data to be, and where the linker wanted/had to put it? I can see that being a problem with the >128k AVRs, yes. Or more generally, any system with segmented memory, or even more generally, a platform with different sizes of pointers.
And yeah, everything is horrible. Anything only ever gets fixed just enough to be usable, for some arbitrary (market-driven?*) degree of "usable". Any sufficiently large project, is too large to ever find all the bugs, or unexpected quirks, before release.
*Hey, you guys all like capitalism, right? Right?...
![Tongue :P](https://www.eevblog.com/forum/Smileys/default/xtongue.gif.pagespeed.ic.J5mTe0A2NA.png)
Tim