Hi, After the recent changes to the macros to atomic.h, I am getting compilation warnings in sched_ule.c. /usr/src/sys/kern/sched_ule.c: In function `kseq_assign': /usr/src/sys/kern/sched_ule.c:654: warning: passing arg 1 of `atomic_cmpset_int' from incompatible pointer type /usr/src/sys/kern/sched_ule.c:654: warning: passing arg 2 of `atomic_cmpset_int' makes integer from pointer without a cast /usr/src/sys/kern/sched_ule.c:654: warning: passing arg 3 of `atomic_cmpset_int' makes integer from pointer without a cast /usr/src/sys/kern/sched_ule.c: In function `kseq_notify': /usr/src/sys/kern/sched_ule.c:691: warning: passing arg 1 of `atomic_cmpset_int' from incompatible pointer type /usr/src/sys/kern/sched_ule.c:691: warning: passing arg 2 of `atomic_cmpset_int' makes integer from pointer without a cast /usr/src/sys/kern/sched_ule.c:691: warning: passing arg 3 of `atomic_cmpset_int' makes integer from pointer without a cast *** Error code 1 Is this the correct way to fix this: --- /usr/src/sys/kern/sched_ule.c.orig Sat Jul 16 21:42:07 2005 +++ /usr/src/sys/kern/sched_ule.c Sat Jul 16 22:09:00 2005 _at__at_ -651,7 +651,8 _at__at_ do { *(volatile struct kse **)&ke = kseq->ksq_assigned; - } while(!atomic_cmpset_ptr(&kseq->ksq_assigned, ke, NULL)); + } while(!atomic_cmpset_ptr((uintptr_t *)&kseq->ksq_assigned, + (uintptr_t)ke, (uintptr_t)NULL)); for (; ke != NULL; ke = nke) { nke = ke->ke_assign; kseq->ksq_group->ksg_load--; _at__at_ -688,7 +689,8 _at__at_ */ do { *(volatile struct kse **)&ke->ke_assign = kseq->ksq_assigned; - } while(!atomic_cmpset_ptr(&kseq->ksq_assigned, ke->ke_assign, ke)); + } while(!atomic_cmpset_ptr((uintptr_t *)&kseq->ksq_assigned, + (uintptr_t)ke->ke_assign, (uintptr_t)ke)); /* * Without sched_lock we could lose a race where we set NEEDRESCHED * on a thread that is switched out before the IPI is delivered. This -- Craig Rodrigues rodrigc_at_crodrigues.orgReceived on Sun Jul 17 2005 - 00:09:46 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:39 UTC