ldd started to show me “not a dynamic executable”
Solution 1:
Bug 1616609, ldd reports incorrectly "not a dynamic executable" when the executable's loader is not present , is probably the cause of the problem (as steeldriver suggested). Reinstall the libc6-x32 package to get it back. Do consider adding yourself to the bug, maybe it'll be fixed one day -- a patch is even suggested.
Solution 2:
So this worked for me. ldd is a script. Near the top (line 29 on my arm Debian 10) it bases all the library searching on RTLDLIST=/lib/ld-linux-aarch64.so.1. After installing arm 32 bit libraries (dpkg --add-architecture armhf; apt update; etc), I took a look in /lib and saw ld-linux-armhf.so.3 right next to ld-linux-aarch64.so.1. So then this stopped ldd saying "not a dynamic executable":
- copy /usr/bin/ldd to /usr/bin/ldd32
- edit /usr/bin/ldd32
- replace RTLDLIST=/lib/ld-linux-aarch64.so.1 with RTLDLIST=/lib/ld-linux-armhf.so.3
- ldd32 <32 bit binary>