Original LGPL has a clause that you must keep libraries replaceable with updated versions. In practice that means a DLL/so. The static linking exception was originally created for code that must be in the main, and can't be in a DLL/so like libgcc containing startupcode and primitives.
Lazarus/FPC extend that to the whole LGPL part of the codebase (which is most, except for the core of the Lazarus IDE itself and the textmode IDE).