It looks like you're not compiling Xterm in Tiny Core since the paths to libs in that Makefile aren't in /usr/local.
Even though you're using dynamic linking GCC will still use object files like crtbeginS.o which are compiled with GCC using the build settings of your distro (probably for later CPUs than P166). If you boot your i5 PC to x86 Tiny Core and compile there, it should work. Or if you're really adventurous you could try copying the Tiny Core GCC extension's begin/end object files (crtbegin.o, crtbeginS.o, crtend.o, crtendS.o) over to your other distro and make the compiler link to them there, but that's likely to anger the gods.
To confirm, change to the GCC lib directory in the distro where you're building Xterm (eg. /usr/lib/gcc or /usr/lib/gcc-lib) and run this command to show the build settings for the crtbeginS.o file for installed GCC versions:
find -name crtbeginS.o -exec file '{}' \;
I'm guessing it will be for a later architecture than i586 (Pentium 1).