From 2548865b5f198163a816db50024c02a78d721ebcab0b980bb5c63900b17feb79 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 13 Oct 2022 09:42:44 +0000 Subject: [PATCH] - Update nvptx-tools tarball from git * includes changes in nvptx-tools.patch - Package nvptx-none-run and nvptx-none-run-single tools OBS-URL: https://build.opensuse.org/package/show/devel:gcc/nvptx-tools?expand=0&rev=10 --- nvptx-tools.changes | 7 + nvptx-tools.patch | 969 -------------------------------------------- nvptx-tools.spec | 12 +- nvptx-tools.tar.xz | 4 +- 4 files changed, 15 insertions(+), 977 deletions(-) delete mode 100644 nvptx-tools.patch diff --git a/nvptx-tools.changes b/nvptx-tools.changes index 3d8c05d..b368d46 100644 --- a/nvptx-tools.changes +++ b/nvptx-tools.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Thu Oct 13 09:34:42 UTC 2022 - Richard Biener + +- Update nvptx-tools tarball from git + * includes changes in nvptx-tools.patch +- Package nvptx-none-run and nvptx-none-run-single tools + ------------------------------------------------------------------- Wed Jun 3 12:02:34 UTC 2020 - Guillaume GARDET diff --git a/nvptx-tools.patch b/nvptx-tools.patch deleted file mode 100644 index 0ea8430..0000000 --- a/nvptx-tools.patch +++ /dev/null @@ -1,969 +0,0 @@ -Index: nvptx-tools/configure.ac -=================================================================== ---- nvptx-tools.orig/configure.ac 2016-03-10 14:11:40.000000000 +0100 -+++ nvptx-tools/configure.ac 2017-09-05 09:01:50.853212501 +0200 -@@ -51,6 +51,8 @@ LIBS="$LIBS -lcuda" - AC_CHECK_FUNCS([[cuGetErrorName] [cuGetErrorString]]) - AC_CHECK_DECLS([[cuGetErrorName], [cuGetErrorString]], - [], [], [[#include ]]) -+AC_CHECK_HEADERS(unistd.h sys/stat.h) -+AC_CHECK_DECLS([getopt], [], [], [[#include ]]) - - AC_MSG_CHECKING([for extra programs to build requiring -lcuda]) - NVPTX_RUN= -Index: nvptx-tools/include/libiberty.h -=================================================================== ---- nvptx-tools.orig/include/libiberty.h 2016-03-10 14:11:40.000000000 +0100 -+++ nvptx-tools/include/libiberty.h 2017-09-05 09:01:13.252598031 +0200 -@@ -390,6 +390,17 @@ extern void hex_init (void); - /* Save files used for communication between processes. */ - #define PEX_SAVE_TEMPS 0x4 - -+/* Max number of alloca bytes per call before we must switch to malloc. -+ -+ ?? Swiped from gnulib's regex_internal.h header. Is this actually -+ the case? This number seems arbitrary, though sane. -+ -+ The OS usually guarantees only one guard page at the bottom of the stack, -+ and a page size can be as small as 4096 bytes. So we cannot safely -+ allocate anything larger than 4096 bytes. Also care for the possibility -+ of a few compiler-allocated temporary stack slots. */ -+#define MAX_ALLOCA_SIZE 4032 -+ - /* Prepare to execute one or more programs, with standard output of - each program fed to standard input of the next. - FLAGS As above. -Index: nvptx-tools/nvptx-as.c -=================================================================== ---- nvptx-tools.orig/nvptx-as.c 2016-03-10 14:11:40.000000000 +0100 -+++ nvptx-tools/nvptx-as.c 2017-09-05 09:01:13.252598031 +0200 -@@ -30,6 +30,9 @@ - #include - #include - #include -+#ifdef HAVE_SYS_STAT_H -+#include -+#endif - #include - #define obstack_chunk_alloc malloc - #define obstack_chunk_free free -@@ -42,6 +45,38 @@ - - #include "version.h" - -+#ifndef R_OK -+#define R_OK 4 -+#define W_OK 2 -+#define X_OK 1 -+#endif -+ -+#ifndef DIR_SEPARATOR -+# define DIR_SEPARATOR '/' -+#endif -+ -+#if defined (_WIN32) || defined (__MSDOS__) \ -+ || defined (__DJGPP__) || defined (__OS2__) -+# define HAVE_DOS_BASED_FILE_SYSTEM -+# define HAVE_HOST_EXECUTABLE_SUFFIX -+# define HOST_EXECUTABLE_SUFFIX ".exe" -+# ifndef DIR_SEPARATOR_2 -+# define DIR_SEPARATOR_2 '\\' -+# endif -+# define PATH_SEPARATOR ';' -+#else -+# define PATH_SEPARATOR ':' -+#endif -+ -+#ifndef DIR_SEPARATOR_2 -+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -+#else -+# define IS_DIR_SEPARATOR(ch) \ -+ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -+#endif -+ -+#define DIR_UP ".." -+ - static const char *outname = NULL; - - static void __attribute__ ((format (printf, 1, 2))) -@@ -816,7 +851,7 @@ traverse (void **slot, void *data) - } - - static void --process (FILE *in, FILE *out) -+process (FILE *in, FILE *out, int verify, const char *outname) - { - symbol_table = htab_create (500, hash_string_hash, hash_string_eq, - NULL); -@@ -824,6 +859,18 @@ process (FILE *in, FILE *out) - const char *input = read_file (in); - Token *tok = tokenize (input); - -+ /* By default, when ptxas is not in PATH, do minimalistic verification, -+ just require that the first non-comment directive is .version. */ -+ if (verify < 0) -+ { -+ size_t i; -+ for (i = 0; tok[i].kind == K_comment; i++) -+ ; -+ if (tok[i].kind != K_dotted || !is_keyword (&tok[i], "version")) -+ fatal_error ("missing .version directive at start of file '%s'", -+ outname); -+ } -+ - do - tok = parse_file (tok); - while (tok->kind); -@@ -897,9 +944,83 @@ fork_execute (const char *prog, char *co - do_wait (prog, pex); - } - -+/* Determine if progname is available in PATH. */ -+static bool -+program_available (const char *progname) -+{ -+ char *temp = getenv ("PATH"); -+ if (temp) -+ { -+ char *startp, *endp, *nstore, *alloc_ptr = NULL; -+ size_t prefixlen = strlen (temp) + 1; -+ size_t len; -+ if (prefixlen < 2) -+ prefixlen = 2; -+ -+ len = prefixlen + strlen (progname) + 1; -+#ifdef HAVE_HOST_EXECUTABLE_SUFFIX -+ len += strlen (HOST_EXECUTABLE_SUFFIX); -+#endif -+ if (len < MAX_ALLOCA_SIZE) -+ nstore = (char *) alloca (len); -+ else -+ alloc_ptr = nstore = (char *) malloc (len); -+ -+ startp = endp = temp; -+ while (1) -+ { -+ if (*endp == PATH_SEPARATOR || *endp == 0) -+ { -+ if (endp == startp) -+ { -+ nstore[0] = '.'; -+ nstore[1] = DIR_SEPARATOR; -+ nstore[2] = '\0'; -+ } -+ else -+ { -+ memcpy (nstore, startp, endp - startp); -+ if (! IS_DIR_SEPARATOR (endp[-1])) -+ { -+ nstore[endp - startp] = DIR_SEPARATOR; -+ nstore[endp - startp + 1] = 0; -+ } -+ else -+ nstore[endp - startp] = 0; -+ } -+ strcat (nstore, progname); -+ if (! access (nstore, X_OK) -+#ifdef HAVE_HOST_EXECUTABLE_SUFFIX -+ || ! access (strcat (nstore, HOST_EXECUTABLE_SUFFIX), X_OK) -+#endif -+ ) -+ { -+#if defined (HAVE_SYS_STAT_H) && defined (S_ISREG) -+ struct stat st; -+ if (stat (nstore, &st) >= 0 && S_ISREG (st.st_mode)) -+#endif -+ { -+ free (alloc_ptr); -+ return true; -+ } -+ } -+ -+ if (*endp == 0) -+ break; -+ endp = startp = endp + 1; -+ } -+ else -+ endp++; -+ } -+ free (alloc_ptr); -+ } -+ return false; -+} -+ - static struct option long_options[] = { - {"traditional-format", no_argument, 0, 0 }, - {"save-temps", no_argument, 0, 0 }, -+ {"verify", no_argument, 0, 0 }, - {"no-verify", no_argument, 0, 0 }, - {"help", no_argument, 0, 'h' }, - {"version", no_argument, 0, 'V' }, -@@ -912,7 +1033,7 @@ main (int argc, char **argv) - FILE *in = stdin; - FILE *out = stdout; - bool verbose __attribute__((unused)) = false; -- bool verify = true; -+ int verify = -1; - const char *smver = "sm_30"; - - int o; -@@ -923,7 +1044,9 @@ main (int argc, char **argv) - { - case 0: - if (option_index == 2) -- verify = false; -+ verify = 1; -+ else if (option_index == 3) -+ verify = 0; - break; - case 'v': - verbose = true; -@@ -948,7 +1071,9 @@ Usage: nvptx-none-as [option...] [asmfil - Options:\n\ - -o FILE Write output to FILE\n\ - -v Be verbose\n\ -+ --verify Do verify output is acceptable to ptxas\n\ - --no-verify Do not verify output is acceptable to ptxas\n\ -+ --verify Do verify output is acceptable to ptxas\n\ - --help Print this help and exit\n\ - --version Print version number and exit\n\ - \n\ -@@ -983,11 +1108,17 @@ This program has absolutely no warranty. - if (!in) - fatal_error ("cannot open input ptx file"); - -- process (in, out); -- if (outname) -+ if (outname == NULL) -+ verify = 0; -+ else if (verify == -1) -+ if (program_available ("ptxas")) -+ verify = 1; -+ -+ process (in, out, verify, outname); -+ if (outname) - fclose (out); - -- if (verify && outname) -+ if (verify > 0) - { - struct obstack argv_obstack; - obstack_init (&argv_obstack); -Index: nvptx-tools/configure -=================================================================== ---- nvptx-tools.orig/configure 2016-03-10 14:11:40.000000000 +0100 -+++ nvptx-tools/configure 2017-09-05 09:01:57.637325605 +0200 -@@ -168,7 +168,8 @@ test x\$exitcode = x0 || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && -- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" -+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -+test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes - else -@@ -552,11 +553,50 @@ PACKAGE_URL= - - ac_unique_file="nvptx-tools" - ac_unique_file="nvptx-as.c" -+# Factoring default headers for most tests. -+ac_includes_default="\ -+#include -+#ifdef HAVE_SYS_TYPES_H -+# include -+#endif -+#ifdef HAVE_SYS_STAT_H -+# include -+#endif -+#ifdef STDC_HEADERS -+# include -+# include -+#else -+# ifdef HAVE_STDLIB_H -+# include -+# endif -+#endif -+#ifdef HAVE_STRING_H -+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -+# include -+# endif -+# include -+#endif -+#ifdef HAVE_STRINGS_H -+# include -+#endif -+#ifdef HAVE_INTTYPES_H -+# include -+#endif -+#ifdef HAVE_STDINT_H -+# include -+#endif -+#ifdef HAVE_UNISTD_H -+# include -+#endif" -+ - enable_option_checking=no - ac_subst_vars='LTLIBOBJS - LIBOBJS - subdirs - NVPTX_RUN -+EGREP -+GREP -+CPP - CUDA_DRIVER_LDFLAGS - CUDA_DRIVER_CPPFLAGS - AR -@@ -635,7 +675,8 @@ LIBS - CPPFLAGS - CXX - CXXFLAGS --CCC' -+CCC -+CPP' - ac_subdirs_all='libiberty' - - # Initialize some variables set by options. -@@ -1267,6 +1308,7 @@ Some influential environment variables: - you have headers in a nonstandard directory - CXX C++ compiler command - CXXFLAGS C++ compiler flags -+ CPP C preprocessor - - Use these variables to override the choices made by `configure' or to help - it to find libraries and programs with nonstandard names/locations. -@@ -1575,6 +1617,203 @@ $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - - } # ac_fn_c_check_decl -+ -+# ac_fn_c_try_cpp LINENO -+# ---------------------- -+# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -+ac_fn_c_try_cpp () -+{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ if { { ac_try="$ac_cpp conftest.$ac_ext" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err -+ ac_status=$? -+ if test -s conftest.err; then -+ grep -v '^ *+' conftest.err >conftest.er1 -+ cat conftest.er1 >&5 -+ mv -f conftest.er1 conftest.err -+ fi -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } >/dev/null && { -+ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || -+ test ! -s conftest.err -+ }; then : -+ ac_retval=0 -+else -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_retval=1 -+fi -+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -+ return $ac_retval -+ -+} # ac_fn_c_try_cpp -+ -+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -+# ------------------------------------------------------- -+# Tests whether HEADER exists, giving a warning if it cannot be compiled using -+# the include files in INCLUDES and setting the cache variable VAR -+# accordingly. -+ac_fn_c_check_header_mongrel () -+{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -+$as_echo_n "checking for $2... " >&6; } -+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : -+ $as_echo_n "(cached) " >&6 -+fi -+eval ac_res=\$$3 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -+$as_echo "$ac_res" >&6; } -+else -+ # Is the header compilable? -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -+$as_echo_n "checking $2 usability... " >&6; } -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+$4 -+#include <$2> -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_header_compiler=yes -+else -+ ac_header_compiler=no -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -+$as_echo "$ac_header_compiler" >&6; } -+ -+# Is the header present? -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -+$as_echo_n "checking $2 presence... " >&6; } -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+#include <$2> -+_ACEOF -+if ac_fn_c_try_cpp "$LINENO"; then : -+ ac_header_preproc=yes -+else -+ ac_header_preproc=no -+fi -+rm -f conftest.err conftest.$ac_ext -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -+$as_echo "$ac_header_preproc" >&6; } -+ -+# So? What about this header? -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( -+ yes:no: ) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -+ ;; -+ no:yes:* ) -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} -+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -+ ;; -+esac -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -+$as_echo_n "checking for $2... " >&6; } -+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : -+ $as_echo_n "(cached) " >&6 -+else -+ eval "$3=\$ac_header_compiler" -+fi -+eval ac_res=\$$3 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -+$as_echo "$ac_res" >&6; } -+fi -+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -+ -+} # ac_fn_c_check_header_mongrel -+ -+# ac_fn_c_try_run LINENO -+# ---------------------- -+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -+# that executables *can* be run. -+ac_fn_c_try_run () -+{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ if { { ac_try="$ac_link" -+case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_link") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' -+ { { case "(($ac_try" in -+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; -+ *) ac_try_echo=$ac_try;; -+esac -+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -+$as_echo "$ac_try_echo"; } >&5 -+ (eval "$ac_try") 2>&5 -+ ac_status=$? -+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 -+ test $ac_status = 0; }; }; then : -+ ac_retval=0 -+else -+ $as_echo "$as_me: program exited with status $ac_status" >&5 -+ $as_echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ -+ ac_retval=$ac_status -+fi -+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo -+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -+ return $ac_retval -+ -+} # ac_fn_c_try_run -+ -+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -+# ------------------------------------------------------- -+# Tests whether HEADER exists and can be compiled using the include files in -+# INCLUDES, setting the cache variable VAR accordingly. -+ac_fn_c_check_header_compile () -+{ -+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack -+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -+$as_echo_n "checking for $2... " >&6; } -+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+$4 -+#include <$2> -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ eval "$3=yes" -+else -+ eval "$3=no" -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+fi -+eval ac_res=\$$3 -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -+$as_echo "$ac_res" >&6; } -+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} -+ -+} # ac_fn_c_check_header_compile - cat >config.log <<_ACEOF - This file contains any messages produced by compilers while - running configure, to aid debugging if configure makes a mistake. -@@ -3284,6 +3523,430 @@ cat >>confdefs.h <<_ACEOF - #define HAVE_DECL_CUGETERRORSTRING $ac_have_decl - _ACEOF - -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -+$as_echo_n "checking how to run the C preprocessor... " >&6; } -+# On Suns, sometimes $CPP names a directory. -+if test -n "$CPP" && test -d "$CPP"; then -+ CPP= -+fi -+if test -z "$CPP"; then -+ if test "${ac_cv_prog_CPP+set}" = set; then : -+ $as_echo_n "(cached) " >&6 -+else -+ # Double quotes because CPP needs to be expanded -+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" -+ do -+ ac_preproc_ok=false -+for ac_c_preproc_warn_flag in '' yes -+do -+ # Use a header file that comes with gcc, so configuring glibc -+ # with a fresh cross-compiler works. -+ # Prefer to if __STDC__ is defined, since -+ # exists even on freestanding compilers. -+ # On the NeXT, cc -E runs the code through the compiler's parser, -+ # not just through cpp. "Syntax error" is here to catch this case. -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+#ifdef __STDC__ -+# include -+#else -+# include -+#endif -+ Syntax error -+_ACEOF -+if ac_fn_c_try_cpp "$LINENO"; then : -+ -+else -+ # Broken: fails on valid input. -+continue -+fi -+rm -f conftest.err conftest.$ac_ext -+ -+ # OK, works on sane cases. Now check whether nonexistent headers -+ # can be detected and how. -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+#include -+_ACEOF -+if ac_fn_c_try_cpp "$LINENO"; then : -+ # Broken: success on invalid input. -+continue -+else -+ # Passes both tests. -+ac_preproc_ok=: -+break -+fi -+rm -f conftest.err conftest.$ac_ext -+ -+done -+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -+rm -f conftest.err conftest.$ac_ext -+if $ac_preproc_ok; then : -+ break -+fi -+ -+ done -+ ac_cv_prog_CPP=$CPP -+ -+fi -+ CPP=$ac_cv_prog_CPP -+else -+ ac_cv_prog_CPP=$CPP -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -+$as_echo "$CPP" >&6; } -+ac_preproc_ok=false -+for ac_c_preproc_warn_flag in '' yes -+do -+ # Use a header file that comes with gcc, so configuring glibc -+ # with a fresh cross-compiler works. -+ # Prefer to if __STDC__ is defined, since -+ # exists even on freestanding compilers. -+ # On the NeXT, cc -E runs the code through the compiler's parser, -+ # not just through cpp. "Syntax error" is here to catch this case. -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+#ifdef __STDC__ -+# include -+#else -+# include -+#endif -+ Syntax error -+_ACEOF -+if ac_fn_c_try_cpp "$LINENO"; then : -+ -+else -+ # Broken: fails on valid input. -+continue -+fi -+rm -f conftest.err conftest.$ac_ext -+ -+ # OK, works on sane cases. Now check whether nonexistent headers -+ # can be detected and how. -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+#include -+_ACEOF -+if ac_fn_c_try_cpp "$LINENO"; then : -+ # Broken: success on invalid input. -+continue -+else -+ # Passes both tests. -+ac_preproc_ok=: -+break -+fi -+rm -f conftest.err conftest.$ac_ext -+ -+done -+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -+rm -f conftest.err conftest.$ac_ext -+if $ac_preproc_ok; then : -+ -+else -+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -+as_fn_error "C preprocessor \"$CPP\" fails sanity check -+See \`config.log' for more details." "$LINENO" 5; } -+fi -+ -+ac_ext=c -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -+ac_compiler_gnu=$ac_cv_c_compiler_gnu -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -+$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -+if test "${ac_cv_path_GREP+set}" = set; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if test -z "$GREP"; then -+ ac_path_GREP_found=false -+ # Loop through the user's path and test for each of PROGNAME-LIST -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_prog in grep ggrep; do -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" -+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue -+# Check for GNU ac_path_GREP and select it if it is found. -+ # Check for GNU $ac_path_GREP -+case `"$ac_path_GREP" --version 2>&1` in -+*GNU*) -+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -+*) -+ ac_count=0 -+ $as_echo_n 0123456789 >"conftest.in" -+ while : -+ do -+ cat "conftest.in" "conftest.in" >"conftest.tmp" -+ mv "conftest.tmp" "conftest.in" -+ cp "conftest.in" "conftest.nl" -+ $as_echo 'GREP' >> "conftest.nl" -+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break -+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break -+ as_fn_arith $ac_count + 1 && ac_count=$as_val -+ if test $ac_count -gt ${ac_path_GREP_max-0}; then -+ # Best one so far, save it but keep looking for a better one -+ ac_cv_path_GREP="$ac_path_GREP" -+ ac_path_GREP_max=$ac_count -+ fi -+ # 10*(2^10) chars as input seems more than enough -+ test $ac_count -gt 10 && break -+ done -+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -+esac -+ -+ $ac_path_GREP_found && break 3 -+ done -+ done -+ done -+IFS=$as_save_IFS -+ if test -z "$ac_cv_path_GREP"; then -+ as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 -+ fi -+else -+ ac_cv_path_GREP=$GREP -+fi -+ -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -+$as_echo "$ac_cv_path_GREP" >&6; } -+ GREP="$ac_cv_path_GREP" -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -+$as_echo_n "checking for egrep... " >&6; } -+if test "${ac_cv_path_EGREP+set}" = set; then : -+ $as_echo_n "(cached) " >&6 -+else -+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 -+ then ac_cv_path_EGREP="$GREP -E" -+ else -+ if test -z "$EGREP"; then -+ ac_path_EGREP_found=false -+ # Loop through the user's path and test for each of PROGNAME-LIST -+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -+do -+ IFS=$as_save_IFS -+ test -z "$as_dir" && as_dir=. -+ for ac_prog in egrep; do -+ for ac_exec_ext in '' $ac_executable_extensions; do -+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" -+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue -+# Check for GNU ac_path_EGREP and select it if it is found. -+ # Check for GNU $ac_path_EGREP -+case `"$ac_path_EGREP" --version 2>&1` in -+*GNU*) -+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -+*) -+ ac_count=0 -+ $as_echo_n 0123456789 >"conftest.in" -+ while : -+ do -+ cat "conftest.in" "conftest.in" >"conftest.tmp" -+ mv "conftest.tmp" "conftest.in" -+ cp "conftest.in" "conftest.nl" -+ $as_echo 'EGREP' >> "conftest.nl" -+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break -+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break -+ as_fn_arith $ac_count + 1 && ac_count=$as_val -+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then -+ # Best one so far, save it but keep looking for a better one -+ ac_cv_path_EGREP="$ac_path_EGREP" -+ ac_path_EGREP_max=$ac_count -+ fi -+ # 10*(2^10) chars as input seems more than enough -+ test $ac_count -gt 10 && break -+ done -+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -+esac -+ -+ $ac_path_EGREP_found && break 3 -+ done -+ done -+ done -+IFS=$as_save_IFS -+ if test -z "$ac_cv_path_EGREP"; then -+ as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 -+ fi -+else -+ ac_cv_path_EGREP=$EGREP -+fi -+ -+ fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -+$as_echo "$ac_cv_path_EGREP" >&6; } -+ EGREP="$ac_cv_path_EGREP" -+ -+ -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -+$as_echo_n "checking for ANSI C header files... " >&6; } -+if test "${ac_cv_header_stdc+set}" = set; then : -+ $as_echo_n "(cached) " >&6 -+else -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+#include -+#include -+#include -+#include -+ -+int -+main () -+{ -+ -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_compile "$LINENO"; then : -+ ac_cv_header_stdc=yes -+else -+ ac_cv_header_stdc=no -+fi -+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ -+if test $ac_cv_header_stdc = yes; then -+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+#include -+ -+_ACEOF -+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -+ $EGREP "memchr" >/dev/null 2>&1; then : -+ -+else -+ ac_cv_header_stdc=no -+fi -+rm -f conftest* -+ -+fi -+ -+if test $ac_cv_header_stdc = yes; then -+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+#include -+ -+_ACEOF -+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | -+ $EGREP "free" >/dev/null 2>&1; then : -+ -+else -+ ac_cv_header_stdc=no -+fi -+rm -f conftest* -+ -+fi -+ -+if test $ac_cv_header_stdc = yes; then -+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -+ if test "$cross_compiling" = yes; then : -+ : -+else -+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+#include -+#include -+#if ((' ' & 0x0FF) == 0x020) -+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -+#else -+# define ISLOWER(c) \ -+ (('a' <= (c) && (c) <= 'i') \ -+ || ('j' <= (c) && (c) <= 'r') \ -+ || ('s' <= (c) && (c) <= 'z')) -+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -+#endif -+ -+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -+int -+main () -+{ -+ int i; -+ for (i = 0; i < 256; i++) -+ if (XOR (islower (i), ISLOWER (i)) -+ || toupper (i) != TOUPPER (i)) -+ return 2; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_run "$LINENO"; then : -+ -+else -+ ac_cv_header_stdc=no -+fi -+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ -+ conftest.$ac_objext conftest.beam conftest.$ac_ext -+fi -+ -+fi -+fi -+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -+$as_echo "$ac_cv_header_stdc" >&6; } -+if test $ac_cv_header_stdc = yes; then -+ -+$as_echo "#define STDC_HEADERS 1" >>confdefs.h -+ -+fi -+ -+# On IRIX 5.3, sys/types and inttypes.h are conflicting. -+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ -+ inttypes.h stdint.h unistd.h -+do : -+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -+" -+eval as_val=\$$as_ac_Header -+ if test "x$as_val" = x""yes; then : -+ cat >>confdefs.h <<_ACEOF -+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -+_ACEOF -+ -+fi -+ -+done -+ -+ -+for ac_header in unistd.h sys/stat.h -+do : -+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -+eval as_val=\$$as_ac_Header -+ if test "x$as_val" = x""yes; then : -+ cat >>confdefs.h <<_ACEOF -+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -+_ACEOF -+ -+fi -+ -+done -+ -+ac_fn_c_check_decl "$LINENO" "getopt" "ac_cv_have_decl_getopt" "#include -+" -+if test "x$ac_cv_have_decl_getopt" = x""yes; then : -+ ac_have_decl=1 -+else -+ ac_have_decl=0 -+fi -+ -+cat >>confdefs.h <<_ACEOF -+#define HAVE_DECL_GETOPT $ac_have_decl -+_ACEOF -+ - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for extra programs to build requiring -lcuda" >&5 - $as_echo_n "checking for extra programs to build requiring -lcuda... " >&6; } diff --git a/nvptx-tools.spec b/nvptx-tools.spec index 8b07777..993824a 100644 --- a/nvptx-tools.spec +++ b/nvptx-tools.spec @@ -1,7 +1,7 @@ # # spec file for package nvptx-tools # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -20,12 +20,11 @@ Name: nvptx-tools Version: 1.0 Release: 0 Summary: PTX language tools -License: GPL-3.0+ +License: GPL-3.0-or-later Group: Development/Tools/Building -Url: https://github.com/MentorEmbedded/nvptx-tools/ +URL: https://github.com/MentorEmbedded/nvptx-tools/ # tarball built from https://github.com/MentorEmbedded/nvptx-tools.git Source0: nvptx-tools.tar.xz -Patch: nvptx-tools.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build # Note that w/o a CUDA development (at least cuda.h and libcuda.so) the # tools for executing are not built. CUDA is not free software. @@ -46,7 +45,6 @@ Execution) GCC toolchains. %prep %setup -q -n nvptx-tools -%patch -p1 %build %configure @@ -63,6 +61,8 @@ make DESTDIR=%{buildroot} install %{_bindir}/nvptx-none-as %{_bindir}/nvptx-none-ld %{_bindir}/nvptx-none-ranlib +%{_bindir}/nvptx-none-run +%{_bindir}/nvptx-none-run-single %doc COPYING3 %changelog diff --git a/nvptx-tools.tar.xz b/nvptx-tools.tar.xz index cc68442..073e26a 100644 --- a/nvptx-tools.tar.xz +++ b/nvptx-tools.tar.xz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eb7ae7813e2e005deabfed0449788419122888715d41164cda239cebb6f11434 -size 520712 +oid sha256:d5d63c351d53ba91c62eacd650b9f0759b1743dab1016ef3ab449736470c20ba +size 538580