Le 01/02/2012 03:49, Christopher Samuel a écrit :
> With XLC and 1.3.1 and 1.4 I get plenty of warnings (compile logs for
> both attached) whilst compiling and then 4 failures in make check
> (accompanied with segmentation faults):
>
> samuel@tambo:~/HWLOC/hwloc-1.3.1> grep -B1 FAIL: log
> /bin/sh: line 1:  5267 Segmentation fault      ${dir}$tst
> FAIL: hwloc_bind
> /bin/sh: line 1:  5285 Segmentation fault      ${dir}$tst
> FAIL: hwloc_get_last_cpu_location
> /bin/sh: line 1:  5335 Segmentation fault      ${dir}$tst
> FAIL: hwloc_is_thissystem
> /bin/sh: line 1:  5481 Segmentation fault      ${dir}$tst
> FAIL: glibc-sched

All these tests involved binding, which is likely broken (see below).


"/vlsci/VLSCI/samuel/HWLOC/hwloc-1.3.1/include/hwloc.h", line 1203.28:
1506-1385 (W) The attribute "pure" is not a valid type attribute.
  CC     traversal.lo

Attribute pure is before the function name, I'll move it after, XLC
doesn't seems to warn in this case.


"distances.c", line 62.42: 1506-404 (W) restrict can only qualify a
pointer type.
"distances.c", line 84.50: 1506-404 (W) restrict can only qualify a
pointer type.
"distances.c", line 226.40: 1506-404 (W) restrict can only qualify a
pointer type.

XLC may be wrong here, topology_t is typedef'ed to a pointer...


"topology-linux.c", line 303.33: 1506-280 (W) Function argument
assignment between types "unsigned int" and "struct {...}*" is not allowed.
"topology-linux.c", line 303.27: 1506-098 (E) Missing argument(s).
"topology-linux.c", line 391.32: 1506-280 (W) Function argument
assignment between types "unsigned int" and "struct {...}*" is not allowed.
"topology-linux.c", line 391.26: 1506-098 (E) Missing argument(s).
"topology-linux.c", line 715.40: 1506-280 (W) Function argument
assignment between types "unsigned int" and "struct {...}*" is not allowed.
"topology-linux.c", line 715.34: 1506-098 (E) Missing argument(s).
"topology-linux.c", line 807.40: 1506-280 (W) Function argument
assignment between types "unsigned int" and "struct {...}*" is not allowed.
"topology-linux.c", line 807.34: 1506-098 (E) Missing argument(s).

This looks very bad. It means something screwed the already very complex
sched_setaffinity detection code.
Does XLC redefine its own sched_setaffinity functions? Can you find the
relevant header file and send it?
PGI had similar problems at some point. That's very annoying.
This explains why binding tests broke.

Brice

Reply via email to