ltp: fix an incorrect macro checking

The previous patch added a check but incorrectly
change the elif to if, then it always return 0
for cpuid if the machine is not __i386__

getcpu01    1  TFAIL  :  getcpu01.c:140: getcpu() returned wrong value expected cpuid:7, returned value cpuid: 0

After this fix:
getcpu01    1  TPASS  :  getcpu() returned proper cpuid:7, node id:0

(From OE-Core rev: ca798705b3b8fa9b2f6467970e9bda9d9433986c)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Jackie Huang 2016-11-19 10:11:00 +08:00 committed by Richard Purdie
parent 99c6e89db1
commit d31eead2af
1 changed files with 2 additions and 5 deletions

View File

@ -88,22 +88,19 @@ index c927512..921b107 100644
void cleanup(void);
void setup(void);
@@ -164,9 +172,14 @@ static inline int getcpu(unsigned *cpu_id, unsigned *node_id,
@@ -164,7 +172,11 @@ static inline int getcpu(unsigned *cpu_id, unsigned *node_id,
{
#if defined(__i386__)
return syscall(318, cpu_id, node_id, cache_struct);
-#elif __GLIBC_PREREQ(2,6)
+#if defined(__GLIBC__)
+#elif defined(__GLIBC__)
+#if __GLIBC_PREREQ(2,6)
+ *cpu_id = sched_getcpu();
+#endif
+#else
*cpu_id = sched_getcpu();
#endif
+#endif
return 0;
}
@@ -191,15 +204,20 @@ unsigned int set_cpu_affinity(void)
cpu_set_t *set;
size_t size;