
I think what's happening is that the linker automatically adds DT_NEEDED dependencies to some libraries because it finds these libraries are being used directly, but because they're not linked explicitly with -lflags, the gcc wrapper does not add them to RUNPATH.