/* This file is automatically generated.
   It defines macros to allow user program to find the shared
   library files which come as part of GNU libc.  */
#ifndef __GNU_LIB_NAMES_H
#define __GNU_LIB_NAMES_H	1

#if !defined __ARM_PCS_VFP
# define LD_LINUX_SO                    "ld-linux.so.3"
# define LD_SO                          "ld-linux.so.3"
# define LIBANL_SO                      "libanl.so.1"
# define LIBBROKENLOCALE_SO             "libBrokenLocale.so.1"
# define LIBCIDN_SO                     "libcidn.so.1"
# define LIBCRYPT_SO                    "libcrypt.so.1"
# define LIBC_SO                        "libc.so.6"
# define LIBDL_SO                       "libdl.so.2"
# define LIBGCC_S_SO                    "libgcc_s.so.1"
# define LIBM_SO                        "libm.so.6"
# define LIBNSL_SO                      "libnsl.so.1"
# define LIBNSS_COMPAT_SO               "libnss_compat.so.2"
# define LIBNSS_DB_SO                   "libnss_db.so.2"
# define LIBNSS_DNS_SO                  "libnss_dns.so.2"
# define LIBNSS_FILES_SO                "libnss_files.so.2"
# define LIBNSS_HESIOD_SO               "libnss_hesiod.so.2"
# define LIBNSS_LDAP_SO                 "libnss_ldap.so.2"
# define LIBNSS_NISPLUS_SO              "libnss_nisplus.so.2"
# define LIBNSS_NIS_SO                  "libnss_nis.so.2"
# define LIBNSS_TEST1_SO                "libnss_test1.so.2"
# define LIBPTHREAD_SO                  "libpthread.so.0"
# define LIBRESOLV_SO                   "libresolv.so.2"
# define LIBRT_SO                       "librt.so.1"
# define LIBTHREAD_DB_SO                "libthread_db.so.1"
# define LIBUTIL_SO                     "libutil.so.1"
#endif
#if defined __ARM_PCS_VFP
# define LD_LINUX_ARMHF_SO              "ld-linux-armhf.so.3"
# define LD_SO                          "ld-linux-armhf.so.3"
# define LIBANL_SO                      "libanl.so.1"
# define LIBBROKENLOCALE_SO             "libBrokenLocale.so.1"
# define LIBCIDN_SO                     "libcidn.so.1"
# define LIBCRYPT_SO                    "libcrypt.so.1"
# define LIBC_SO                        "libc.so.6"
# define LIBDL_SO                       "libdl.so.2"
# define LIBGCC_S_SO                    "libgcc_s.so.1"
# define LIBM_SO                        "libm.so.6"
# define LIBNSL_SO                      "libnsl.so.1"
# define LIBNSS_COMPAT_SO               "libnss_compat.so.2"
# define LIBNSS_DB_SO                   "libnss_db.so.2"
# define LIBNSS_DNS_SO                  "libnss_dns.so.2"
# define LIBNSS_FILES_SO                "libnss_files.so.2"
# define LIBNSS_HESIOD_SO               "libnss_hesiod.so.2"
# define LIBNSS_LDAP_SO                 "libnss_ldap.so.2"
# define LIBNSS_NISPLUS_SO              "libnss_nisplus.so.2"
# define LIBNSS_NIS_SO                  "libnss_nis.so.2"
# define LIBNSS_TEST1_SO                "libnss_test1.so.2"
# define LIBPTHREAD_SO                  "libpthread.so.0"
# define LIBRESOLV_SO                   "libresolv.so.2"
# define LIBRT_SO                       "librt.so.1"
# define LIBTHREAD_DB_SO                "libthread_db.so.1"
# define LIBUTIL_SO                     "libutil.so.1"
#endif

#endif	/* gnu/lib-names.h */
