commit a277115f97af6fdd0369814f541443b35d23f419
Author: Brice Goglin <Brice.Goglin@inria.fr>
Date:   Wed Feb 3 14:22:34 2021 +0100

    utils/hwloc-ps.1: fix a ref to --disallowed
    
    Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
    (cherry picked from commit 5a361d1070a34365cdfee91c165e2f08da281e25)

diff --git a/utils/hwloc/hwloc-ps.1in b/utils/hwloc/hwloc-ps.1in
index 3dddf6038..c416270f7 100644
--- a/utils/hwloc/hwloc-ps.1in
+++ b/utils/hwloc/hwloc-ps.1in
@@ -1,5 +1,5 @@
 .\" -*- nroff -*-
-.\" Copyright © 2010-2020 Inria.  All rights reserved.
+.\" Copyright © 2010-2021 Inria.  All rights reserved.
 .\" Copyright © 2009-2010 Cisco Systems, Inc.  All rights reserved.
 .\" See COPYING in top-level directory.
 .TH HWLOC-PS "1" "%HWLOC_DATE%" "%PACKAGE_VERSION%" "%PACKAGE_NAME%"
@@ -100,7 +100,7 @@ binding.  The binding may be reported as objects or cpusets.
 .PP
 By default, process bindings are restricted to the currently available
 topology. If some processes are bound to processors that are not available
-to the current process, they are ignored unless \fB\-\-include\-disallowed\fR
+to the current process, they are ignored unless \fB\-\-disallowed\fR
 is given.
 .
 .PP
commit 083780a0259907842fb6b82b2b87b14df8ffc30a
Author: Austen Lauria <awlauria@us.ibm.com>
Date:   Wed Feb 3 14:50:21 2021 -0500

    Fix check for IBM xl compilers for v13.1 and later.
    
    By default newer xlc compilers only define __ibmxl__ now.
    
    https://www.ibm.com/support/knowledgecenter/en/SSXVZZ_13.1.6/com.ibm.xlcpp1316.lelinux.doc/compiler_ref/xlmacros.html
    Signed-off-by: Austen Lauria <awlauria@us.ibm.com>
    (cherry picked from commit b518dcee527805d002d71a59cf03b373a91b18b7)

diff --git a/config/hwloc_check_vendor.m4 b/config/hwloc_check_vendor.m4
index 4d5e123a9..8cbe06fa5 100644
--- a/config/hwloc_check_vendor.m4
+++ b/config/hwloc_check_vendor.m4
@@ -158,7 +158,7 @@ AC_DEFUN([_HWLOC_CHECK_COMPILER_VENDOR], [
 
     # IBM XL C/C++
     AS_IF([test "$hwloc_check_compiler_vendor_result" = "unknown"],
-          [HWLOC_IF_IFELSE([defined(__xlC__) || defined(__IBMC__) || defined(__IBMCPP__)],
+          [HWLOC_IF_IFELSE([defined(__xlC__) || defined(__IBMC__) || defined(__IBMCPP__) || defined(__ibmxl__)],
                [hwloc_check_compiler_vendor_result="ibm"],
                [HWLOC_IF_IFELSE([defined(_AIX) && !defined(__GNUC__)],
                     [hwloc_check_compiler_vendor_result="ibm"])])])
commit e6205960f4c19e34f605e6f02d747bb143fde96b
Author: Austen Lauria <awlauria@us.ibm.com>
Date:   Wed Feb 3 15:22:17 2021 -0500

    Fix configury where most compilers will get mislabeled as 'gnu'.
    
    Most compilers define the __GNU__ macro, so put it at the bottom
    as a catch-all.
    
    Tested with gcc, xlc, pgi and clang.
    
    Signed-off-by: Austen Lauria <awlauria@us.ibm.com>
    (cherry picked from commit b09f6539794db92d476ee117d1827488ebd21b89)

diff --git a/config/hwloc_check_vendor.m4 b/config/hwloc_check_vendor.m4
index 8cbe06fa5..24c3be8aa 100644
--- a/config/hwloc_check_vendor.m4
+++ b/config/hwloc_check_vendor.m4
@@ -106,11 +106,6 @@ AC_DEFUN([_HWLOC_CHECK_COMPILER_VENDOR], [
           [HWLOC_IFDEF_IFELSE([__PGI],
                [hwloc_check_compiler_vendor_result="portland group"])])
 
-    # GNU
-    AS_IF([test "$hwloc_check_compiler_vendor_result" = "unknown"],
-          [HWLOC_IFDEF_IFELSE([__GNUC__],
-               [hwloc_check_compiler_vendor_result="gnu"])])
-
     # Borland Turbo C
     AS_IF([test "$hwloc_check_compiler_vendor_result" = "unknown"],
           [HWLOC_IFDEF_IFELSE([__TURBOC__],
@@ -242,6 +237,11 @@ AC_DEFUN([_HWLOC_CHECK_COMPILER_VENDOR], [
           [HWLOC_IFDEF_IFELSE([__WATCOMC__],
                [hwloc_check_compiler_vendor_result="watcom"])])
 
+    # GNU
+    AS_IF([test "$hwloc_check_compiler_vendor_result" = "unknown"],
+          [HWLOC_IFDEF_IFELSE([__GNUC__],
+               [hwloc_check_compiler_vendor_result="gnu"])])
+
     $1="$hwloc_check_compiler_vendor_result"
     unset hwloc_check_compiler_vendor_result
 ])
commit 10318c57215f44b6ed2b04ca5de7e1620d041cad
Author: Brice Goglin <Brice.Goglin@inria.fr>
Date:   Thu Feb 4 14:41:33 2021 +0100

    utils/gather-cpuid: dump the 0x19 leaf
    
    Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
    (cherry picked from commit cf20887ba6de45e671d9155776c7eb92b4d8c404)

diff --git a/utils/hwloc/hwloc-gather-cpuid.c b/utils/hwloc/hwloc-gather-cpuid.c
index 4b1899183..55ba96522 100644
--- a/utils/hwloc/hwloc-gather-cpuid.c
+++ b/utils/hwloc/hwloc-gather-cpuid.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2015-2020 Inria.  All rights reserved.
+ * Copyright © 2015-2021 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -285,6 +285,12 @@ static int dump_one_proc(hwloc_topology_t topo, hwloc_obj_t pu, const char *path
     }
   }
 
+  /* 0x19 = Key Locker Leaf on Intel ; Reserved on AMD */
+  if (highest_cpuid >= 0x19) {
+    regs[0] = 0x19;
+    dump_one_cpuid(output, regs, 0x1);
+  }
+
   /* 0x1a = Hybrid Information Enumeration Leaf on Intel ; Reserved on AMD */
   if (highest_cpuid >= 0x1a) {
     regs[0] = 0x1a; regs[2] = 0;
commit ff01e593c3c90b0b8e7545bc2b2f702e3b989ecf
Author: Brice Goglin <Brice.Goglin@inria.fr>
Date:   Thu Feb 4 16:18:45 2021 +0100

    cpukinds: fix the checking for duplicate ranking values
    
    Don't compare forced_efficiency, compare ranking values instead.
    
    Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
    (cherry picked from commit 9cd818b7715dc48d0610e05cdafc30e7625af229)

diff --git a/NEWS b/NEWS
index aa549ec4d..0cde0f006 100644
--- a/NEWS
+++ b/NEWS
@@ -24,6 +24,8 @@ Version 2.4.1
   + Applications using any of the following inline functions must
     be recompiled to get the fix: hwloc_opencl_get_device_pci_busid()
     hwloc_opencl_get_device_cpuset(), hwloc_opencl_get_device_osdev().
+* Fix the ranking of cpukinds on non-Windows systems,
+  thanks to Ivan Kochin for the report.
 * Fix the insertion of custom Groups after loading the topology,
   thanks to Scott Hicks.
 * Fix missing x86 Package and Core objects FreeBSD/NetBSD.
diff --git a/hwloc/cpukinds.c b/hwloc/cpukinds.c
index 5f2dd1aa8..ef6297d7e 100644
--- a/hwloc/cpukinds.c
+++ b/hwloc/cpukinds.c
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2020 Inria.  All rights reserved.
+ * Copyright © 2020-2021 Inria.  All rights reserved.
  * See COPYING in top-level directory.
  */
 
@@ -270,7 +270,7 @@ hwloc__cpukinds_check_duplicate_rankings(struct hwloc_topology *topology)
   unsigned i,j;
   for(i=0; i<topology->nr_cpukinds; i++)
     for(j=i+1; j<topology->nr_cpukinds; j++)
-      if (topology->cpukinds[i].forced_efficiency == topology->cpukinds[j].forced_efficiency)
+      if (topology->cpukinds[i].ranking_value == topology->cpukinds[j].ranking_value)
         /* if any duplicate, fail */
         return -1;
   return 0;
