I am staring at the output of:
% file -b /lib/x86_64-linux-gnu/*.so | grep ", for" | colrm 1 130 | sort -u
=5018237bbf012b4094027fd0b96fc22a24496ea4, for GNU/Linux 3.2.0, not stripped
9f21d, for GNU/Linux 3.2.0, stripped
bee51, for GNU/Linux 3.2.0, stripped
, for GNU/Linux 3.2.0, stripped
sha1]=2e5abcee94f3bcbed7bba094f341070a2585a2ba, for GNU/Linux 3.2.0, stripped
What is special about GNU/Linux 3.2.0? This is on a Debian/bullseye system (amd64).
In other word: what API / functionality was introduced in GNU/Linux 3.2.0 (threading model, security functions...) that is so important ? Explicit setting of required version will prevent user from using some LD_ASSUME_KERNEL values, so I am guessing there is a good reason for rejecting old values such as LD_ASSUME_KERNEL=2.4.19 (for example).