BINGO! It wasn't the one mentioned above, but I eventually found:
upstream/trunk/src/su.c Revision 3194 :
* src/su.c: shell's name must be -su when a su fakes a login.
--- upstream/trunk/src/su.c 2010/03/23 13:05:06 3183
+++ upstream/trunk/src/su.c 2010/03/30 21:32:36 3194
@@ -1021,7 +1021,7 @@
* Use the shell and create an argv
* with the rest of the command line included.
- argv[-1] = shellstr;
+ argv[-1] = cp;
execve_shell (shellstr, &argv[-1], environ);
err = errno;
Rebuilt after applying that and all is fine and dandy again.
Just sent a note and a patch for the slackbuild to Pat.