3 ms·
'Relaxation' seems to be linker terminology: https://en.wikipedia.org/wiki/Linker_(computing)#Relaxation https://en.wikipedia.org/wiki/Linker_(computing)#Relax
by david-given 11y ago
'Relaxation' seems to be linker terminology:
https://en.wikipedia.org/wiki/Linker_(computing)#Relaxation https://en.wikipedia.org/wiki/Linker_(computing)#Relaxation
It took me an embarrassingly long time to figure out what the obscure ld error messages about relaxation were actually referring to.
Optimising call distances in the assembler is pretty easy, but the big win is in the linker, because this allows you to optimise calls between procedures. Of course, you then need a linker which knows how to edit compiled machine code to change the kind of call. FWIW, I do a lot of embedded stuff, and I have very rarely met an embedded architecture where ld would do relaxation properly, and usually end up turning it off.