diff options
| author | 宋文武 <iyzsong@member.fsf.org> | 2023-08-26 11:04:04 +0800 |
|---|---|---|
| committer | 宋文武 <iyzsong@member.fsf.org> | 2023-08-28 18:12:06 +0800 |
| commit | 4a49a89b09d07d96f4d6ef3c0ca93801370f7b20 (patch) | |
| tree | eb064d2bbe730140908f2fa8fa1a6d4bf166423d | |
| parent | 7533ed956c100a04d08a2537a4700eb9ecbcb987 (diff) | |
gnu: intel-xed: Update to 2023.08.21.
* gnu/packages/assembly.scm (intel-xed): Update to 2023.08.21.
[source]: Remove patches.
[native-inputs]: Remove tcsh. Update mbuild to 2022.07.28.
* gnu/packages/patches/intel-xed-fix-nondeterminism.patch: Remove file
* gnu/local.mk (dist_patch_DATA): Remove it.
| -rw-r--r-- | gnu/local.mk | 1 | ||||
| -rw-r--r-- | gnu/packages/assembly.scm | 18 | ||||
| -rw-r--r-- | gnu/packages/patches/intel-xed-fix-nondeterminism.patch | 113 |
3 files changed, 7 insertions, 125 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 8f409b7ea82..48187d7e64c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk | |||
| @@ -1407,7 +1407,6 @@ dist_patch_DATA = \ | |||
| 1407 | %D%/packages/patches/imagemagick-WriteTHUMBNAILImage-fix.patch \ | 1407 | %D%/packages/patches/imagemagick-WriteTHUMBNAILImage-fix.patch \ |
| 1408 | %D%/packages/patches/inkscape-poppler-compat.patch \ | 1408 | %D%/packages/patches/inkscape-poppler-compat.patch \ |
| 1409 | %D%/packages/patches/instead-use-games-path.patch \ | 1409 | %D%/packages/patches/instead-use-games-path.patch \ |
| 1410 | %D%/packages/patches/intel-xed-fix-nondeterminism.patch \ | ||
| 1411 | %D%/packages/patches/intltool-perl-compatibility.patch \ | 1410 | %D%/packages/patches/intltool-perl-compatibility.patch \ |
| 1412 | %D%/packages/patches/iputils-libcap-compat.patch \ | 1411 | %D%/packages/patches/iputils-libcap-compat.patch \ |
| 1413 | %D%/packages/patches/irrlicht-use-system-libs.patch \ | 1412 | %D%/packages/patches/irrlicht-use-system-libs.patch \ |
diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 4494c475ce9..81e38c3f41f 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm | |||
| @@ -470,20 +470,18 @@ sets, both THUMB and ARM mode.") | |||
| 470 | (define-public intel-xed | 470 | (define-public intel-xed |
| 471 | (package | 471 | (package |
| 472 | (name "intel-xed") | 472 | (name "intel-xed") |
| 473 | (version "12.0.1") | 473 | (version "2023.08.21") |
| 474 | (source | 474 | (source |
| 475 | (origin | 475 | (origin |
| 476 | (method git-fetch) | 476 | (method git-fetch) |
| 477 | (uri (git-reference | 477 | (uri (git-reference |
| 478 | (url "https://github.com/intelxed/xed") | 478 | (url "https://github.com/intelxed/xed") |
| 479 | (commit version))) | 479 | (commit (string-append "v" version)))) |
| 480 | (sha256 (base32 "07zfff8zf29c2n0wal87hiqfq3cwcjn80zz78mz0nyjfj09nd39f")) | 480 | (sha256 (base32 "1zv99m5h3n3w6jcpplznq030s5mlwg5llz3vgfwpfl5l8laz1032")) |
| 481 | (file-name (git-file-name name version)) | 481 | (file-name (git-file-name name version)))) |
| 482 | (patches (search-patches "intel-xed-fix-nondeterminism.patch")))) | ||
| 483 | (build-system gnu-build-system) | 482 | (build-system gnu-build-system) |
| 484 | (native-inputs | 483 | (native-inputs |
| 485 | `(("python" ,python-wrapper) | 484 | `(("python" ,python-wrapper) |
| 486 | ("tcsh" ,tcsh) | ||
| 487 | ;; As of the time of writing this comment, mbuild does not exist in the | 485 | ;; As of the time of writing this comment, mbuild does not exist in the |
| 488 | ;; Python Package Index and seems to only be used by intel-xed, so we | 486 | ;; Python Package Index and seems to only be used by intel-xed, so we |
| 489 | ;; opt to include it here instead of packaging separately. Note also | 487 | ;; opt to include it here instead of packaging separately. Note also |
| @@ -491,15 +489,15 @@ sets, both THUMB and ARM mode.") | |||
| 491 | ;; reference the "version" variable from setup.py instead. | 489 | ;; reference the "version" variable from setup.py instead. |
| 492 | ("mbuild" | 490 | ("mbuild" |
| 493 | ,(let ((name "mbuild") | 491 | ,(let ((name "mbuild") |
| 494 | (version "0.2496")) | 492 | (version "2022.07.28")) |
| 495 | (origin | 493 | (origin |
| 496 | (method git-fetch) | 494 | (method git-fetch) |
| 497 | (uri (git-reference | 495 | (uri (git-reference |
| 498 | (url "https://github.com/intelxed/mbuild") | 496 | (url "https://github.com/intelxed/mbuild") |
| 499 | (commit "3de3f0d753c11dbe634bec611d4cc13f74768e4f"))) | 497 | (commit (string-append "v" version)))) |
| 500 | (sha256 | 498 | (sha256 |
| 501 | (base32 | 499 | (base32 |
| 502 | "0z8hdhpmk8y5c9429p2yns9daswnffbprni9czkq3vij8f58lkg4")) | 500 | "0rc9xp202yqw42bwgylwxvfvjr1crdl50qvv8vzfczyvlf4wflcx")) |
| 503 | (file-name (git-file-name name version))))))) | 501 | (file-name (git-file-name name version))))))) |
| 504 | (outputs '("out" "lib")) | 502 | (outputs '("out" "lib")) |
| 505 | (arguments | 503 | (arguments |
| @@ -585,5 +583,3 @@ intrinsics as defined in the @file{arm_neon.h} header and x86 SSE (up to | |||
| 585 | SSE4.2) intrinsic functions as defined in corresponding x86 compilers headers | 583 | SSE4.2) intrinsic functions as defined in corresponding x86 compilers headers |
| 586 | files.") | 584 | files.") |
| 587 | (license license:bsd-2)))) | 585 | (license license:bsd-2)))) |
| 588 | |||
| 589 | |||
diff --git a/gnu/packages/patches/intel-xed-fix-nondeterminism.patch b/gnu/packages/patches/intel-xed-fix-nondeterminism.patch deleted file mode 100644 index c81bd0edde9..00000000000 --- a/gnu/packages/patches/intel-xed-fix-nondeterminism.patch +++ /dev/null | |||
| @@ -1,113 +0,0 @@ | |||
| 1 | This patch removes sources of build non-determinism in the upstream sources. | ||
| 2 | |||
| 3 | In particular, many of the compiled sources are generated with Python code, | ||
| 4 | which in turn uses dictionaries to index the output C functions. However, | ||
| 5 | iterators over Python dictionaries have no guaranteed order, thus resulting in | ||
| 6 | the C functions being output in a random order between builds. | ||
| 7 | |||
| 8 | The patch below fixes this by forcing an order during output in several key | ||
| 9 | places. Note, however, that future updates may uncover new such places that | ||
| 10 | just happen to be non-problematic at the time of this patch. If you are | ||
| 11 | reading this due to finding such issues, feel free to contact me at | ||
| 12 | elaexuotee@wilsonb.com for help. | ||
| 13 | |||
| 14 | diff --git a/pysrc/ild_codegen.py b/pysrc/ild_codegen.py | ||
| 15 | index 628ec45..a9bff79 100755 | ||
| 16 | --- a/pysrc/ild_codegen.py | ||
| 17 | +++ b/pysrc/ild_codegen.py | ||
| 18 | @@ -188,14 +188,14 @@ def gen_l2_func_list(agi, target_nt_dict, arg_nt_dict, | ||
| 19 | ild_t_member): | ||
| 20 | """generate L2 functions""" | ||
| 21 | l2_func_list = [] | ||
| 22 | - for (nt_name,array) in target_nt_dict.items(): | ||
| 23 | + for (nt_name,array) in sorted(target_nt_dict.items()): | ||
| 24 | target_opname = array.get_target_opname() | ||
| 25 | if array.is_const_lookup_fun(): | ||
| 26 | fo = gen_const_l2_function(agi, nt_name, | ||
| 27 | target_opname, ild_t_member) | ||
| 28 | l2_func_list.append(fo) | ||
| 29 | else: | ||
| 30 | - for arg_nt_seq,arg_arr in arg_nt_dict.items(): | ||
| 31 | + for arg_nt_seq,arg_arr in sorted(arg_nt_dict.items()): | ||
| 32 | fo = gen_scalable_l2_function(agi, nt_name, | ||
| 33 | target_opname, ild_t_member, arg_arr, list(arg_nt_seq)) | ||
| 34 | l2_func_list.append(fo) | ||
| 35 | diff --git a/pysrc/ild_disp.py b/pysrc/ild_disp.py | ||
| 36 | index 942c036..cf80e29 100755 | ||
| 37 | --- a/pysrc/ild_disp.py | ||
| 38 | +++ b/pysrc/ild_disp.py | ||
| 39 | @@ -350,7 +350,8 @@ def work(agi, united_lookup, disp_nts, brdisp_nts, ild_gendir, | ||
| 40 | disp_dict = _gen_l3_array_dict(agi, disp_nts, _disp_token) | ||
| 41 | |||
| 42 | |||
| 43 | - nt_arr_list = list(brdisp_dict.values()) + list(disp_dict.values()) | ||
| 44 | + nt_arr_list = ([v for (k,v) in sorted(brdisp_dict.items())] + | ||
| 45 | + [v for (k,v) in sorted(disp_dict.items())]) | ||
| 46 | #create function that calls all initialization functions | ||
| 47 | init_f = ild_nt.gen_init_function(nt_arr_list, 'xed_ild_disp_l3_init') | ||
| 48 | |||
| 49 | @@ -367,7 +368,7 @@ def work(agi, united_lookup, disp_nts, brdisp_nts, ild_gendir, | ||
| 50 | l2_functions = [] | ||
| 51 | eosz_op = ild_eosz.get_target_opname() | ||
| 52 | easz_op = ild_easz.get_target_opname() | ||
| 53 | - for nt_name,array in list(disp_dict.items()) + list(brdisp_dict.items()): | ||
| 54 | + for nt_name,array in sorted(disp_dict.items()) + sorted(brdisp_dict.items()): | ||
| 55 | #Some DISP NTs depend on EOSZ, others on EASZ, we need to know | ||
| 56 | #that when we generate L2 functions | ||
| 57 | if eosz_op in array.get_arg_names(): | ||
| 58 | diff --git a/pysrc/ild_easz.py b/pysrc/ild_easz.py | ||
| 59 | index 02cd691..c53b9f2 100755 | ||
| 60 | --- a/pysrc/ild_easz.py | ||
| 61 | +++ b/pysrc/ild_easz.py | ||
| 62 | @@ -165,9 +165,10 @@ def work(agi, united_lookup, easz_nts, ild_gendir, debug): | ||
| 63 | return | ||
| 64 | nt_seq_arrays[tuple(nt_seq)] = array | ||
| 65 | #init function calls all single init functions for the created tables | ||
| 66 | - init_f = ild_nt.gen_init_function(list(nt_seq_arrays.values()), | ||
| 67 | + nt_seq_values = [v for (k,v) in sorted(nt_seq_arrays.items())] | ||
| 68 | + init_f = ild_nt.gen_init_function(nt_seq_values, | ||
| 69 | 'xed_ild_easz_init') | ||
| 70 | - ild_nt.dump_lu_arrays(agi, list(nt_seq_arrays.values()), _easz_c_fn, | ||
| 71 | + ild_nt.dump_lu_arrays(agi, nt_seq_values, _easz_c_fn, | ||
| 72 | mbuild.join('include-private', _easz_header_fn), | ||
| 73 | init_f) | ||
| 74 | getter_fos = [] | ||
| 75 | diff --git a/pysrc/ild_eosz.py b/pysrc/ild_eosz.py | ||
| 76 | index 6643bc3..89d2d89 100755 | ||
| 77 | --- a/pysrc/ild_eosz.py | ||
| 78 | +++ b/pysrc/ild_eosz.py | ||
| 79 | @@ -200,10 +200,11 @@ def work(agi, united_lookup, eosz_nts, ild_gendir, debug): | ||
| 80 | return None | ||
| 81 | nt_seq_arrays[tuple(nt_seq)] = array | ||
| 82 | #init function calls all single init functions for the created tables | ||
| 83 | - init_f = ild_nt.gen_init_function(list(nt_seq_arrays.values()), | ||
| 84 | + nt_seq_values = [v for (k,v) in sorted(nt_seq_arrays.items())] | ||
| 85 | + init_f = ild_nt.gen_init_function(nt_seq_values, | ||
| 86 | 'xed_ild_eosz_init') | ||
| 87 | #dump init and lookup functions for EOSZ sequences | ||
| 88 | - ild_nt.dump_lu_arrays(agi, list(nt_seq_arrays.values()), _eosz_c_fn, | ||
| 89 | + ild_nt.dump_lu_arrays(agi, nt_seq_values, _eosz_c_fn, | ||
| 90 | mbuild.join('include-private', _eosz_header_fn), | ||
| 91 | init_f) | ||
| 92 | #generate EOSZ getter functions - they get xed_decoded_inst_t* | ||
| 93 | diff --git a/pysrc/ild_imm.py b/pysrc/ild_imm.py | ||
| 94 | index 51c413c..0530bae 100755 | ||
| 95 | --- a/pysrc/ild_imm.py | ||
| 96 | +++ b/pysrc/ild_imm.py | ||
| 97 | @@ -322,12 +322,14 @@ def work(agi, united_lookup, imm_nts, ild_gendir, eosz_dict, | ||
| 98 | level='l3') | ||
| 99 | nt_dict[nt_name] = array | ||
| 100 | |||
| 101 | + nt_dict_values = [v for (k,v) in sorted(nt_dict.items())] | ||
| 102 | + | ||
| 103 | #create function that calls all initialization functions for L3 | ||
| 104 | - init_f = ild_nt.gen_init_function(list(nt_dict.values()), | ||
| 105 | + init_f = ild_nt.gen_init_function(nt_dict_values, | ||
| 106 | 'xed_ild_imm_l3_init') | ||
| 107 | |||
| 108 | #dump L3 functions | ||
| 109 | - ild_nt.dump_lu_arrays(agi, list(nt_dict.values()), _l3_c_fn, | ||
| 110 | + ild_nt.dump_lu_arrays(agi, nt_dict_values, _l3_c_fn, | ||
| 111 | mbuild.join('include-private',_l3_header_fn), | ||
| 112 | init_f) | ||
| 113 | |||
