diff options
-rw-r--r-- | Makefile | 48 | ||||
-rw-r--r-- | backup.c | 10 | ||||
-rw-r--r-- | command-list.c | 2 | ||||
-rw-r--r-- | common-utils/common-utils.h | 7 | ||||
-rw-r--r-- | dist-files.mk | 2 | ||||
-rw-r--r-- | files.c | 35 | ||||
-rw-r--r-- | files.h | 1 | ||||
-rw-r--r-- | install-from-cwd.c | 4 | ||||
-rw-r--r-- | kernel.c | 17 | ||||
-rw-r--r-- | misc.c | 10 | ||||
-rw-r--r-- | nvLegacy.h | 137 | ||||
-rw-r--r-- | nvidia-installer.h | 15 | ||||
-rwxr-xr-x | rtld_test_Linux-armv7l-gnueabi | bin | 0 -> 3892 bytes | |||
-rwxr-xr-x | rtld_test_Linux-armv7l-gnueabihf | bin | 0 -> 5540 bytes | |||
-rw-r--r-- | utils.mk | 9 | ||||
-rw-r--r-- | version.mk | 2 |
16 files changed, 260 insertions, 39 deletions
@@ -53,22 +53,41 @@ NVIDIA_INSTALLER_PROGRAM_NAME = "nvidia-installer" NVIDIA_INSTALLER_VERSION := $(NVIDIA_VERSION) +# We only need to run the TLS test on Linux-x86 and Linux-x86_64 +ifeq ($(findstring Linux-x86,$(TARGET_OS)-$(TARGET_ARCH)),) + NEED_TLS_TEST = +else + NEED_TLS_TEST = 1 +endif + NCURSES_UI_C = ncurses-ui.c NCURSES_UI_SO = $(OUTPUTDIR)/nvidia-installer-ncurses-ui.so NCURSES_UI_SO_C = $(OUTPUTDIR)/g_$(notdir $(NCURSES_UI_SO:.so=.c)) -TLS_TEST_C = $(OUTPUTDIR)/g_tls_test.c -TLS_TEST_DSO_C = $(OUTPUTDIR)/g_tls_test_dso.c -TLS_TEST = tls_test_$(TARGET_OS)-$(TARGET_ARCH) -TLS_TEST_DSO_SO = tls_test_dso_$(TARGET_OS)-$(TARGET_ARCH).so +ifneq ($(NEED_TLS_TEST),) + TLS_TEST_C = $(OUTPUTDIR)/g_tls_test.c + TLS_TEST_DSO_C = $(OUTPUTDIR)/g_tls_test_dso.c + TLS_TEST = tls_test_$(TARGET_OS)-$(TARGET_ARCH) + TLS_TEST_DSO_SO = tls_test_dso_$(TARGET_OS)-$(TARGET_ARCH).so -TLS_TEST_32_C = $(OUTPUTDIR)/g_tls_test_32.c -TLS_TEST_DSO_32_C = $(OUTPUTDIR)/g_tls_test_dso_32.c -TLS_TEST_32 = tls_test_$(TARGET_OS)-x86 -TLS_TEST_DSO_SO_32 = tls_test_dso_$(TARGET_OS)-x86.so + TLS_TEST_32_C = $(OUTPUTDIR)/g_tls_test_32.c + TLS_TEST_DSO_32_C = $(OUTPUTDIR)/g_tls_test_dso_32.c + TLS_TEST_32 = tls_test_$(TARGET_OS)-x86 + TLS_TEST_DSO_SO_32 = tls_test_dso_$(TARGET_OS)-x86.so +else + TLS_TEST_C = + TLS_TEST_DSO_C = + TLS_TEST = + TLS_TEST_DSO_SO = + + TLS_TEST_32_C = + TLS_TEST_DSO_32_C = + TLS_TEST_32 = + TLS_TEST_DSO_SO_32 = +endif RTLD_TEST_C = $(OUTPUTDIR)/g_rtld_test.c -RTLD_TEST = rtld_test_$(TARGET_OS)-$(TARGET_ARCH) +RTLD_TEST = rtld_test_$(TARGET_OS)-$(TARGET_ARCH)$(if $(TARGET_ARCH_ABI),-$(TARGET_ARCH_ABI)) RTLD_TEST_32_C = $(OUTPUTDIR)/g_rtld_test_32.c RTLD_TEST_32 = rtld_test_$(TARGET_OS)-x86 @@ -123,6 +142,7 @@ common_cflags = -I. common_cflags += -imacros $(CONFIG_H) common_cflags += -I $(OUTPUTDIR) common_cflags += -I $(COMMON_UTILS_DIR) +common_cflags += $(if $(NEED_TLS_TEST),-DNV_TLS_TEST) CFLAGS += $(common_cflags) @@ -205,19 +225,21 @@ $(NCURSES_UI_SO): $(call BUILD_OBJECT_LIST,ncurses-ui.c) $(NCURSES_UI_SO_C): $(GEN_UI_ARRAY) $(NCURSES_UI_SO) $(call quiet_cmd,GEN_UI_ARRAY) $(NCURSES_UI_SO) ncurses_ui_array > $@ -$(TLS_TEST_C): $(GEN_UI_ARRAY) $(TLS_TEST) +ifneq ($(NEED_TLS_TEST),) + $(TLS_TEST_C): $(GEN_UI_ARRAY) $(TLS_TEST) $(call quiet_cmd,GEN_UI_ARRAY) $(TLS_TEST) tls_test_array > $@ -$(TLS_TEST_DSO_C): $(GEN_UI_ARRAY) $(TLS_TEST_DSO_SO) + $(TLS_TEST_DSO_C): $(GEN_UI_ARRAY) $(TLS_TEST_DSO_SO) $(call quiet_cmd,GEN_UI_ARRAY) \ $(TLS_TEST_DSO_SO) tls_test_dso_array > $@ -$(TLS_TEST_32_C): $(GEN_UI_ARRAY) $(TLS_TEST_32) + $(TLS_TEST_32_C): $(GEN_UI_ARRAY) $(TLS_TEST_32) $(call quiet_cmd,GEN_UI_ARRAY) $(TLS_TEST_32) tls_test_array_32 > $@ -$(TLS_TEST_DSO_32_C): $(GEN_UI_ARRAY) $(TLS_TEST_DSO_SO_32) + $(TLS_TEST_DSO_32_C): $(GEN_UI_ARRAY) $(TLS_TEST_DSO_SO_32) $(call quiet_cmd,GEN_UI_ARRAY) \ $(TLS_TEST_DSO_SO_32) tls_test_dso_array_32 > $@ +endif $(RTLD_TEST_C): $(GEN_UI_ARRAY) $(RTLD_TEST) $(call quiet_cmd,GEN_UI_ARRAY) $(RTLD_TEST) rtld_test_array > $@ @@ -502,6 +502,16 @@ int log_mkdir(Options *op, const char *dirs) { FILE *log; + /* + * create the backup directory if it doesn't exist; BACKUP_MKDIR_LOG + * is within BACKUP_DIRECTORY, so the below fopen(3) call depends on + * the existence of BACKUP_DIRECTORY + */ + if (!directory_exists(op, BACKUP_DIRECTORY) && + !mkdir_with_log(op, BACKUP_DIRECTORY, BACKUP_DIRECTORY_PERMS, FALSE)) { + return FALSE; + } + /* open the log file */ log = fopen(BACKUP_MKDIR_LOG, "a"); diff --git a/command-list.c b/command-list.c index f47bd3f..4530ed9 100644 --- a/command-list.c +++ b/command-list.c @@ -584,7 +584,6 @@ static ConflictingFileInfo __xfree86_opengl_libs[] = { }; static ConflictingFileInfo __xfree86_non_opengl_libs[] = { - { "libXvMCNVIDIA", 13, /* strlen("libXvMCNVIDIA") */ NULL }, { "nvidia_drv.", 11, /* strlen("nvidia_drv.") */ NULL }, { "libvdpau.", 9, /* strlen("libvdpau.") */ NULL }, { "libvdpau_trace.", 15, /* strlen("libvdpau_trace.") */ NULL }, @@ -594,6 +593,7 @@ static ConflictingFileInfo __xfree86_non_opengl_libs[] = { { "libnvidia-compiler.", 19, /* strlen("libnvidia-compiler.") */ NULL }, { "libnvcuvid.", 11, /* strlen("libnvcuvid.") */ NULL }, { "libnvidia-ml.", 13, /* strlen("libnvidia-ml.") */ NULL }, + { "libnvidia-encode.", 17, /* strlen("libnvidia-encode.") */ NULL }, { NULL, 0, NULL } }; diff --git a/common-utils/common-utils.h b/common-utils/common-utils.h index c5cd411..626fd1b 100644 --- a/common-utils/common-utils.h +++ b/common-utils/common-utils.h @@ -33,6 +33,13 @@ #define TAB " " #define BIGTAB " " +#define VERBOSITY_NONE 0 /* nothing */ +#define VERBOSITY_ERROR 1 /* errors only */ +#define VERBOSITY_WARNING 2 /* errors and warnings */ +#define VERBOSITY_ALL 3 /* errors, warnings and other info */ + +#define VERBOSITY_DEFAULT VERBOSITY_ERROR + typedef struct { char **t; /* the text rows */ int n; /* number of rows */ diff --git a/dist-files.mk b/dist-files.mk index 289bf07..d50c576 100644 --- a/dist-files.mk +++ b/dist-files.mk @@ -68,6 +68,8 @@ DIST_FILES += dist-files.mk DIST_FILES += rtld_test_Linux-x86 DIST_FILES += rtld_test_Linux-x86_64 +DIST_FILES += rtld_test_Linux-armv7l-gnueabi +DIST_FILES += rtld_test_Linux-armv7l-gnueabihf DIST_FILES += tls_test_Linux-ia64 DIST_FILES += tls_test_Linux-x86 @@ -608,6 +608,18 @@ int set_destinations(Options *op, Package *p) path = ""; break; + case FILE_TYPE_ENCODEAPI_LIB: + case FILE_TYPE_ENCODEAPI_SYMLINK: + if (p->entries[i].flags & FILE_CLASS_COMPAT32) { + prefix = op->compat32_prefix; + dir = op->compat32_libdir; + } else { + prefix = op->opengl_prefix; + dir = op->opengl_libdir; + } + path = ""; + break; + case FILE_TYPE_OPENGL_HEADER: prefix = op->opengl_prefix; dir = op->opengl_incdir; @@ -1146,12 +1158,13 @@ int confirm_path(Options *op, const char *path) -/* - * mkdir_recursive() - create the path specified, also creating parent - * directories as needed; this is equivalent to `mkdir -p` +/* + * mkdir_with_log() - create the path specified, also creating parent + * directories as needed; this is equivalent to `mkdir -p`. Log created + * directories if the "log" parameter is set. */ -int mkdir_recursive(Options *op, const char *path, const mode_t mode) +int mkdir_with_log(Options *op, const char *path, const mode_t mode, int log) { char *c, *tmp, ch, *list, *tmplist; @@ -1185,7 +1198,7 @@ int mkdir_recursive(Options *op, const char *path, const mode_t mode) } while (*c); /* Log any created directories */ - if (list) { + if (log && list) { log_mkdir(op, list); } @@ -1193,6 +1206,18 @@ int mkdir_recursive(Options *op, const char *path, const mode_t mode) free(tmp); return TRUE; +} /* mkdir_with_log */ + + + +/* + * mkdir_recursive() - Wrap mkdir_with_log() to create the path specified + * with any needed parent directories. + */ + +int mkdir_recursive(Options *op, const char *path, const mode_t mode) +{ + return mkdir_with_log(op, path, mode, TRUE); } /* mkdir_recursive() */ @@ -40,6 +40,7 @@ int mode_string_to_mode(Options *op, char *s, mode_t *mode); char *mode_to_permission_string(mode_t mode); int directory_exists(Options *op, const char *dir); int confirm_path(Options *op, const char *path); +int mkdir_with_log(Options *op, const char *path, const mode_t mode, int log); int mkdir_recursive(Options *op, const char *path, const mode_t mode); char *get_symlink_target(Options *op, const char *filename); int install_file(Options *op, const char *srcfile, diff --git a/install-from-cwd.c b/install-from-cwd.c index c700e70..784743b 100644 --- a/install-from-cwd.c +++ b/install-from-cwd.c @@ -769,6 +769,10 @@ static Package *parse_manifest (Options *op) p->entries[n].flags |= FILE_TYPE_NVCUVID_LIB; else if (strcmp(flag, "NVCUVID_LIB_SYMLINK") == 0) p->entries[n].flags |= FILE_TYPE_NVCUVID_SYMLINK; + else if (strcmp(flag, "ENCODEAPI_LIB") == 0) + p->entries[n].flags |= FILE_TYPE_ENCODEAPI_LIB; + else if (strcmp(flag, "ENCODEAPI_LIB_SYMLINK") == 0) + p->entries[n].flags |= FILE_TYPE_ENCODEAPI_SYMLINK; else { nvfree(flag); goto invalid_manifest_file; @@ -706,20 +706,9 @@ int test_kernel_module(Options *op, Package *p) } /* - * On Linux 2.6 we depend on the AGPGART frontend module unless - * the kernel was configured without support for the Linux AGP - * GART driver. Preload it here to satisfy the dependency, which - * isn't resolved by `insmod`. - */ - if (strncmp(get_kernel_name(op), "2.4", 3) != 0) { - cmd = nvstrcat(op->utils[MODPROBE], " -q agpgart", NULL); - run_command(op, cmd, NULL, FALSE, 0, TRUE); - nvfree(cmd); - } - - /* - * Likewise, we need to preload the i2c-core.ko kernel module to - * satisfy another dependency not resolved by `insmod`. + * On Linux 2.6+ we depend on the i2c-core.ko kernel module unless + * the kernel was configured without support for it. Preload it here to + * satisfy the dependency, which isn't resolved by `insmod`. */ if (strncmp(get_kernel_name(op), "2.4", 3) != 0) { cmd = nvstrcat(op->utils[MODPROBE], " -q i2c-core", NULL); @@ -1309,6 +1309,7 @@ uint64_t get_installable_file_mask(Options *op) +#if defined(NV_TLS_TEST) /* * tls_test() - Starting with glibc 2.3, there is a new thread local * storage mechanism. To accomodate this, NVIDIA's OpenGL libraries @@ -1480,6 +1481,15 @@ static int tls_test_internal(Options *op, int which_tls, } /* test_tls_internal() */ +#else /* defined(NV_TLS_TEST) */ + +int tls_test(Options *op, int compat_32_libs) +{ + /* Assume the TLS test passed. */ + return TRUE; +} + +#endif /* defined(NV_TLS_TEST) */ /* @@ -26,6 +26,7 @@ typedef struct _LEGACY_STRINGS { * This table describes how we should refer to legacy branches. */ static const LEGACY_STRINGS LegacyStrings[] = { + { 4, "304.xx" }, { 3, "173.14.xx" }, { 2, "96.43.xx" }, { 1, "71.86.xx" } @@ -39,7 +40,43 @@ static const LEGACY_INFO LegacyList[] = { { 0x0029, 1, "RIVA TNT2 Ultra" }, { 0x002C, 1, "Vanta/Vanta LT" }, { 0x002D, 1, "RIVA TNT2 Model 64/Model 64 Pro" }, + { 0x0040, 4, "GeForce 6800 Ultra" }, + { 0x0041, 4, "GeForce 6800" }, + { 0x0042, 4, "GeForce 6800 LE" }, + { 0x0043, 4, "GeForce 6800 XE" }, + { 0x0044, 4, "GeForce 6800 XT" }, + { 0x0045, 4, "GeForce 6800 GT" }, + { 0x0046, 4, "GeForce 6800 GT" }, + { 0x0047, 4, "GeForce 6800 GS" }, + { 0x0048, 4, "GeForce 6800 XT" }, + { 0x004E, 4, "Quadro FX 4000" }, + { 0x0090, 4, "GeForce 7800 GTX" }, + { 0x0091, 4, "GeForce 7800 GTX" }, + { 0x0092, 4, "GeForce 7800 GT" }, + { 0x0093, 4, "GeForce 7800 GS" }, + { 0x0095, 4, "GeForce 7800 SLI" }, + { 0x0098, 4, "GeForce Go 7800" }, + { 0x0099, 4, "GeForce Go 7800 GTX" }, + { 0x009D, 4, "Quadro FX 4500" }, { 0x00A0, 1, "Aladdin TNT2" }, + { 0x00C0, 4, "GeForce 6800 GS" }, + { 0x00C1, 4, "GeForce 6800" }, + { 0x00C2, 4, "GeForce 6800 LE" }, + { 0x00C3, 4, "GeForce 6800 XT" }, + { 0x00C8, 4, "GeForce Go 6800" }, + { 0x00C9, 4, "GeForce Go 6800 Ultra" }, + { 0x00CC, 4, "Quadro FX Go1400" }, + { 0x00CD, 4, "Quadro FX 3450/4000 SDI" }, + { 0x00CE, 4, "Quadro FX 1400" }, + { 0x00F1, 4, "GeForce 6600 GT" }, + { 0x00F2, 4, "GeForce 6600" }, + { 0x00F3, 4, "GeForce 6200" }, + { 0x00F4, 4, "GeForce 6600 LE" }, + { 0x00F5, 4, "GeForce 7800 GS" }, + { 0x00F6, 4, "GeForce 6800 GS" }, + { 0x00F8, 4, "Quadro FX 3400" }, + { 0x00F8, 4, "Quadro FX 4000" }, + { 0x00F9, 4, "GeForce 6800 Ultra" }, { 0x00FA, 3, "GeForce PCX 5750" }, { 0x00FB, 3, "GeForce PCX 5900" }, { 0x00FC, 3, "Quadro FX 330" }, @@ -54,10 +91,36 @@ static const LEGACY_INFO LegacyList[] = { { 0x0111, 2, "GeForce2 MX 100/200" }, { 0x0112, 2, "GeForce2 Go" }, { 0x0113, 2, "Quadro2 MXR/EX/Go" }, + { 0x0140, 4, "GeForce 6600 GT" }, + { 0x0141, 4, "GeForce 6600" }, + { 0x0142, 4, "GeForce 6600 LE" }, + { 0x0143, 4, "GeForce 6600 VE" }, + { 0x0144, 4, "GeForce Go 6600" }, + { 0x0145, 4, "GeForce 6610 XL" }, + { 0x0146, 4, "GeForce Go 6600 TE/6200 TE" }, + { 0x0147, 4, "GeForce 6700 XL" }, + { 0x0148, 4, "GeForce Go 6600" }, + { 0x0149, 4, "GeForce Go 6600 GT" }, + { 0x014A, 4, "Quadro NVS 440" }, + { 0x014C, 4, "Quadro FX 540M" }, + { 0x014D, 4, "Quadro FX 550" }, + { 0x014E, 4, "Quadro FX 540" }, + { 0x014F, 4, "GeForce 6200" }, { 0x0150, 1, "GeForce2 GTS/GeForce2 Pro" }, { 0x0151, 1, "GeForce2 Ti" }, { 0x0152, 1, "GeForce2 Ultra" }, { 0x0153, 1, "Quadro2 Pro" }, + { 0x0160, 4, "GeForce 6500" }, + { 0x0161, 4, "GeForce 6200 TurboCache(TM)" }, + { 0x0162, 4, "GeForce 6200SE TurboCache(TM)" }, + { 0x0163, 4, "GeForce 6200 LE" }, + { 0x0164, 4, "GeForce Go 6200" }, + { 0x0165, 4, "Quadro NVS 285" }, + { 0x0166, 4, "GeForce Go 6400" }, + { 0x0167, 4, "GeForce Go 6200" }, + { 0x0168, 4, "GeForce Go 6400" }, + { 0x0169, 4, "GeForce 6250" }, + { 0x016A, 4, "GeForce 7100 GS" }, { 0x0170, 2, "GeForce4 MX 460" }, { 0x0171, 2, "GeForce4 MX 440" }, { 0x0172, 2, "GeForce4 MX 420" }, @@ -80,11 +143,36 @@ static const LEGACY_INFO LegacyList[] = { { 0x018B, 2, "Quadro4 380 XGL" }, { 0x018C, 2, "Quadro NVS 50 PCI" }, { 0x01A0, 2, "GeForce2 Integrated GPU" }, + { 0x01D0, 4, "GeForce 7350 LE" }, + { 0x01D1, 4, "GeForce 7300 LE" }, + { 0x01D2, 4, "GeForce 7550 LE" }, + { 0x01D3, 4, "GeForce 7300 SE/7200 GS" }, + { 0x01D6, 4, "GeForce Go 7200" }, + { 0x01D7, 4, "GeForce Go 7300" }, + { 0x01D8, 4, "GeForce Go 7400" }, + { 0x01DA, 4, "Quadro NVS 110M" }, + { 0x01DB, 4, "Quadro NVS 120M" }, + { 0x01DC, 4, "Quadro FX 350M" }, + { 0x01DD, 4, "GeForce 7500 LE" }, + { 0x01DE, 4, "Quadro FX 350" }, + { 0x01DF, 4, "GeForce 7300 GS" }, { 0x01F0, 2, "GeForce4 MX Integrated GPU" }, { 0x0200, 2, "GeForce3" }, { 0x0201, 2, "GeForce3 Ti 200" }, { 0x0202, 2, "GeForce3 Ti 500" }, { 0x0203, 2, "Quadro DCC" }, + { 0x0211, 4, "GeForce 6800" }, + { 0x0212, 4, "GeForce 6800 LE" }, + { 0x0215, 4, "GeForce 6800 GT" }, + { 0x0218, 4, "GeForce 6800 XT" }, + { 0x0221, 4, "GeForce 6200" }, + { 0x0222, 4, "GeForce 6200 A-LE" }, + { 0x0240, 4, "GeForce 6150" }, + { 0x0241, 4, "GeForce 6150 LE" }, + { 0x0242, 4, "GeForce 6100" }, + { 0x0244, 4, "GeForce Go 6150" }, + { 0x0245, 4, "Quadro NVS 210S / GeForce 6150LE" }, + { 0x0247, 4, "GeForce Go 6100" }, { 0x0250, 2, "GeForce4 Ti 4600" }, { 0x0251, 2, "GeForce4 Ti 4400" }, { 0x0253, 2, "GeForce4 Ti 4200" }, @@ -98,6 +186,26 @@ static const LEGACY_INFO LegacyList[] = { { 0x0288, 2, "Quadro4 980 XGL" }, { 0x0289, 2, "Quadro4 780 XGL" }, { 0x028C, 2, "Quadro4 700 GoGL" }, + { 0x0290, 4, "GeForce 7900 GTX" }, + { 0x0291, 4, "GeForce 7900 GT/GTO" }, + { 0x0292, 4, "GeForce 7900 GS" }, + { 0x0293, 4, "GeForce 7950 GX2" }, + { 0x0294, 4, "GeForce 7950 GX2" }, + { 0x0295, 4, "GeForce 7950 GT" }, + { 0x0297, 4, "GeForce Go 7950 GTX" }, + { 0x0298, 4, "GeForce Go 7900 GS" }, + { 0x0299, 4, "Quadro NVS 510M" }, + { 0x029A, 4, "Quadro FX 2500M" }, + { 0x029B, 4, "Quadro FX 1500M" }, + { 0x029C, 4, "Quadro FX 5500" }, + { 0x029D, 4, "Quadro FX 3500" }, + { 0x029E, 4, "Quadro FX 1500" }, + { 0x029F, 4, "Quadro FX 4500 X2" }, + { 0x02E0, 4, "GeForce 7600 GT" }, + { 0x02E1, 4, "GeForce 7600 GS" }, + { 0x02E2, 4, "GeForce 7300 GT" }, + { 0x02E3, 4, "GeForce 7900 GS" }, + { 0x02E4, 4, "GeForce 7950 GT" }, { 0x0301, 3, "GeForce FX 5800 Ultra" }, { 0x0302, 3, "GeForce FX 5800" }, { 0x0308, 3, "Quadro FX 2000" }, @@ -135,7 +243,34 @@ static const LEGACY_INFO LegacyList[] = { { 0x0347, 3, "GeForce FX Go5700" }, { 0x0348, 3, "GeForce FX Go5700" }, { 0x034C, 3, "Quadro FX Go1000" }, - { 0x034E, 3, "Quadro FX 1100" } + { 0x034E, 3, "Quadro FX 1100" }, + { 0x038B, 4, "GeForce 7650 GS" }, + { 0x0390, 4, "GeForce 7650 GS" }, + { 0x0391, 4, "GeForce 7600 GT" }, + { 0x0392, 4, "GeForce 7600 GS" }, + { 0x0393, 4, "GeForce 7300 GT" }, + { 0x0394, 4, "GeForce 7600 LE" }, + { 0x0395, 4, "GeForce 7300 GT" }, + { 0x0397, 4, "GeForce Go 7700" }, + { 0x0398, 4, "GeForce Go 7600" }, + { 0x0399, 4, "GeForce Go 7600 GT" }, + { 0x039C, 4, "Quadro FX 560M" }, + { 0x039E, 4, "Quadro FX 560" }, + { 0x03D0, 4, "GeForce 6150SE nForce 430" }, + { 0x03D1, 4, "GeForce 6100 nForce 405" }, + { 0x03D2, 4, "GeForce 6100 nForce 400" }, + { 0x03D5, 4, "GeForce 6100 nForce 420" }, + { 0x03D6, 4, "GeForce 7025 / nForce 630a" }, + { 0x0531, 4, "GeForce 7150M / nForce 630M" }, + { 0x0533, 4, "GeForce 7000M / nForce 610M" }, + { 0x053A, 4, "GeForce 7050 PV / nForce 630a" }, + { 0x053B, 4, "GeForce 7050 PV / nForce 630a" }, + { 0x053E, 4, "GeForce 7025 / nForce 630a" }, + { 0x07E0, 4, "GeForce 7150 / nForce 630i" }, + { 0x07E1, 4, "GeForce 7100 / nForce 630i" }, + { 0x07E2, 4, "GeForce 7050 / nForce 630i" }, + { 0x07E3, 4, "GeForce 7050 / nForce 610i" }, + { 0x07E5, 4, "GeForce 7050 / nForce 620i" } }; #endif /* __NV_LEGACY_H */ diff --git a/nvidia-installer.h b/nvidia-installer.h index cd42866..3ff9489 100644 --- a/nvidia-installer.h +++ b/nvidia-installer.h @@ -314,6 +314,8 @@ typedef struct __package { #define FILE_TYPE_NVCUVID_SYMLINK 0x0000000080000000ULL #define FILE_TYPE_GLX_MODULE_SHARED_LIB 0x0000000100000000ULL #define FILE_TYPE_GLX_MODULE_SYMLINK 0x0000000200000000ULL +#define FILE_TYPE_ENCODEAPI_LIB 0x0000000400000000ULL +#define FILE_TYPE_ENCODEAPI_SYMLINK 0x0000000800000000ULL /* file class: this is used to distinguish OpenGL libraries */ @@ -347,7 +349,8 @@ typedef struct __package { FILE_TYPE_DOT_DESKTOP | \ FILE_TYPE_VDPAU_LIB | \ FILE_TYPE_NVCUVID_LIB | \ - FILE_TYPE_KERNEL_MODULE_SRC) + FILE_TYPE_KERNEL_MODULE_SRC | \ + FILE_TYPE_ENCODEAPI_LIB) #define FILE_TYPE_HAVE_PATH (FILE_TYPE_XMODULE_SHARED_LIB | \ FILE_TYPE_XMODULE_SYMLINK | \ @@ -377,7 +380,9 @@ typedef struct __package { FILE_TYPE_VDPAU_SYMLINK | \ FILE_TYPE_VDPAU_LIB | \ FILE_TYPE_NVCUVID_LIB | \ - FILE_TYPE_NVCUVID_SYMLINK) + FILE_TYPE_NVCUVID_SYMLINK | \ + FILE_TYPE_ENCODEAPI_LIB | \ + FILE_TYPE_ENCODEAPI_SYMLINK) #define FILE_TYPE_HAVE_CLASS (FILE_TYPE_TLS_LIB | \ FILE_TYPE_TLS_SYMLINK) @@ -391,7 +396,8 @@ typedef struct __package { FILE_TYPE_UTILITY_LIB_SYMLINK| \ FILE_TYPE_UTILITY_BIN_SYMLINK| \ FILE_TYPE_VDPAU_SYMLINK | \ - FILE_TYPE_NVCUVID_SYMLINK) + FILE_TYPE_NVCUVID_SYMLINK | \ + FILE_TYPE_ENCODEAPI_SYMLINK) #define FILE_TYPE_NEWSYM (FILE_TYPE_XMODULE_NEWSYM) @@ -409,7 +415,8 @@ typedef struct __package { FILE_TYPE_GLX_MODULE_SHARED_LIB | \ FILE_TYPE_UTILITY_LIB | \ FILE_TYPE_VDPAU_LIB | \ - FILE_TYPE_NVCUVID_LIB) + FILE_TYPE_NVCUVID_LIB | \ + FILE_TYPE_ENCODEAPI_LIB) #define FILE_TYPE_OPENGL_FILE (FILE_TYPE_OPENGL_HEADER | \ FILE_TYPE_OPENGL_LIB | \ diff --git a/rtld_test_Linux-armv7l-gnueabi b/rtld_test_Linux-armv7l-gnueabi Binary files differnew file mode 100755 index 0000000..604a02a --- /dev/null +++ b/rtld_test_Linux-armv7l-gnueabi diff --git a/rtld_test_Linux-armv7l-gnueabihf b/rtld_test_Linux-armv7l-gnueabihf Binary files differnew file mode 100755 index 0000000..be0eadb --- /dev/null +++ b/rtld_test_Linux-armv7l-gnueabihf @@ -100,6 +100,15 @@ else LIBDL_LIBS = endif +# This variable controls which floating-point ABI is targeted. For ARM, it +# defaults to "gnueabi" for softfp. Another option is "gnueabihf" for +# hard(fp). This is necessary to pick up the correct rtld_test binary. +# All other architectures default to empty. +ifeq ($(TARGET_ARCH),armv7l) + TARGET_ARCH_ABI ?= gnueabi +endif +TARGET_ARCH_ABI ?= + OUTPUTDIR ?= _out/$(TARGET_OS)_$(TARGET_ARCH) NV_QUIET_COMMAND_REMOVED_TARGET_PREFIX ?= @@ -1 +1 @@ -NVIDIA_VERSION = 304.51 +NVIDIA_VERSION = 310.14 |