The ldconfig invocation on the top Makefile seems to be wrong. At line 586 the parameter "-r" first set the new root and then the command tries to open the new config file, but at the wrong place: /sbin/ldconfig -r $(TARGET_DIR) \ -f $(TARGET_DIR)/etc/ld.so.conf; The above command will always report a file not found, so it must be fixed to: /sbin/ldconfig -r $(TARGET_DIR) \ -f /etc/ld.so.conf; The same applies to line 583.
No, using /etc/ld.so.conf to generate the ld.so cache for the target is completely wrong. The proper fix is to completely get rid of the ldconfig stuff in Buildroot, since it cannot work properly in a cross-compiled environment.