diff options
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/intel-xed/libxed-ild.patch | 32 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/intel-xed/package.py | 35 |
2 files changed, 55 insertions, 12 deletions
diff --git a/var/spack/repos/builtin/packages/intel-xed/libxed-ild.patch b/var/spack/repos/builtin/packages/intel-xed/libxed-ild.patch new file mode 100644 index 0000000000..bbc01fe87c --- /dev/null +++ b/var/spack/repos/builtin/packages/intel-xed/libxed-ild.patch @@ -0,0 +1,32 @@ +Fixes a bug where libxed-ild didn't understand some instructions. + +https://github.com/intelxed/xed/issues/298 + + +diff --git a/src/dec/xed-ild.c b/src/dec/xed-ild.c +index 8bf7cbe..0ab90ac 100644 +--- a/src/dec/xed-ild.c ++++ b/src/dec/xed-ild.c +@@ -1385,6 +1385,7 @@ void xed_ild_lookup_init(void) { + void xed_ild_init(void) { + init_prefix_table(); + xed_ild_lookup_init(); ++ xed_init_chip_model_info(); + #if defined(XED_EXTENSION_XOP_DEFINED) + xed_ild_chip_init(); + #endif +diff --git a/xed_mbuild.py b/xed_mbuild.py +index db34179..5a7842c 100755 +--- a/xed_mbuild.py ++++ b/xed_mbuild.py +@@ -1081,7 +1081,8 @@ def build_xed_ild_library(env, lib_env, lib_dag, sources_to_replace): + 'xed-ild-disp-l3.c', # generated + 'xed-ild-eosz.c', # generated + 'xed-ild-easz.c', # generated +- 'xed-ild-imm-l3.c'] # generated ++ 'xed-ild-imm-l3.c', # generated ++ 'xed-error-enum.c',] # generated + common_objs = lib_env.make_obj(common_sources) + + ild_objs += xbc.build_dir_join(lib_env, common_objs) + diff --git a/var/spack/repos/builtin/packages/intel-xed/package.py b/var/spack/repos/builtin/packages/intel-xed/package.py index 2422e91f63..9254d02c9d 100644 --- a/var/spack/repos/builtin/packages/intel-xed/package.py +++ b/var/spack/repos/builtin/packages/intel-xed/package.py @@ -21,6 +21,7 @@ class IntelXed(Package): # Current versions now have actual releases and tags. version("main", branch="main") + version("2023.04.16", tag="v2023.04.16") version("2022.10.11", tag="v2022.10.11") version("2022.08.11", tag="v2022.08.11") version("2022.04.17", tag="v2022.04.17") @@ -28,30 +29,31 @@ class IntelXed(Package): version("11.2.0", tag="11.2.0") # The old 2019.03.01 version (before there were tags). - version("10.2019.03", commit="b7231de4c808db821d64f4018d15412640c34113") + version("10.2019.03", commit="b7231de4c808db821d64f4018d15412640c34113", deprecated=True) - resource(name="mbuild", placement="mbuild", git=mbuild_git, branch="main", when="@main") + # XED wants the mbuild directory adjacent to xed in the same directory. + mdir = join_path("..", "mbuild") + resource(name="mbuild", placement=mdir, git=mbuild_git, branch="main", when="@main") + + # Match xed more closely with the version of mbuild at the time. resource( - name="mbuild", - placement="mbuild", - git=mbuild_git, - commit="09b6654be0c52bf1df44e88c88b411a67b624cbd", - when="@:9999", + name="mbuild", placement=mdir, git=mbuild_git, tag="v2022.07.28", when="@2022.07:9999" ) + resource(name="mbuild", placement=mdir, git=mbuild_git, tag="v2022.04.17", when="@:2022.06") + variant("debug", default=False, description="Enable debug symbols") variant("pic", default=False, description="Compile with position independent code.") # The current mfile uses python3 by name. - depends_on("python@3.4:", type="build") + depends_on("python@3.6:", type="build") patch("1201-segv.patch", when="@12.0.1") patch("2019-python3.patch", when="@10.2019.03") + patch("libxed-ild.patch", when="@12.0:2022.12") - conflicts("target=ppc64:", msg="intel-xed only runs on x86") - conflicts("target=ppc64le:", msg="intel-xed only runs on x86") - conflicts("target=aarch64:", msg="intel-xed only runs on x86") + requires("target=x86_64:", msg="intel-xed only runs on x86/x86_64") mycflags = [] # type: List[str] @@ -67,10 +69,19 @@ class IntelXed(Package): def install(self, spec, prefix): # XED needs PYTHONPATH to find the mbuild directory. - mbuild_dir = join_path(self.stage.source_path, "mbuild") + mbuild_dir = join_path(self.stage.source_path, "..", "mbuild") python_path = os.getenv("PYTHONPATH", "") os.environ["PYTHONPATH"] = mbuild_dir + ":" + python_path + # In 2023.04.16, the xed source directory must be exactly 'xed', + # so add a symlink, but don't fail if the link already exists. + # See: https://github.com/intelxed/xed/issues/300 + try: + lname = join_path(self.stage.source_path, "..", "xed") + os.symlink("spack-src", lname) + except OSError: + pass + mfile = Executable(join_path(".", "mfile.py")) args = ["-j", str(make_jobs), "--cc=%s" % spack_cc, "--no-werror"] |