From 5f4d86c1219d56604890d932a3152b3b5dd15b55 Mon Sep 17 00:00:00 2001 From: Apple Date: Tue, 3 Feb 2009 02:58:56 +0000 Subject: [PATCH] Libc-498.1.7.tar.gz --- man/Makefile.inc | 2 ++ man/utmp.5 | 2 +- ppc/sys/OSAtomic.s | 17 +++++++++++++++++ pthreads/pthread.c | 1 - 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/man/Makefile.inc b/man/Makefile.inc index 8206a14..44090a4 100644 --- a/man/Makefile.inc +++ b/man/Makefile.inc @@ -7,6 +7,8 @@ MAN3 += assert.3 bitstring.3 stdarg.3 .ifdef FEATURE_LEGACY_UTMP_APIS MAN5 += utmp.5 +MLINKS += utmp.5 lastlog.5 +MLINKS += utmp.5 wtmp.5 .endif MAN7 += environ.7 diff --git a/man/utmp.5 b/man/utmp.5 index 288097e..b822a4e 100644 --- a/man/utmp.5 +++ b/man/utmp.5 @@ -47,7 +47,7 @@ The interfaces in file .Aq Pa utmp.h are all -.Sy DEPRECIATED +.Sy DEPRECATED and are only provided for compatibility with previous releases of Mac OS X. See .Xr pututxline 3 diff --git a/ppc/sys/OSAtomic.s b/ppc/sys/OSAtomic.s index 24858e9..8ce3cd1 100644 --- a/ppc/sys/OSAtomic.s +++ b/ppc/sys/OSAtomic.s @@ -36,8 +36,19 @@ /* int32_t OSAtomicAdd32( int32_t theAmount, int32_t *theValue ); */ +#if defined(__ppc__) MI_ENTRY_POINT(_OSAtomicAdd32) ba _COMM_PAGE_ATOMIC_ADD32 +#elif defined(__ppc64__) +MI_ENTRY_POINT(_OSAtomicAdd32) + mflr r12 // save return address + bla _COMM_PAGE_ATOMIC_ADD32 + mtlr r12 + extsw r3,r3 // sign extend return value + blr +#else +#error undefined architecture +#endif /* int32_t OSAtomicOr32( int32_t theMask, int32_t *theValue ); */ @@ -240,7 +251,13 @@ MI_ENTRY_POINT(_OSAtomicAdd32Barrier) cmpwi r3,0 // did swap occur? beq-- 1b // compare-and-swap failed, try again mtlr r12 // restore return adddress +#if defined(__ppc__) mr r3,r4 // return new value +#elif defined(__ppc64__) + extsw r3,r4 // sign extend return value +#else +#error undefined architecture +#endif blr diff --git a/pthreads/pthread.c b/pthreads/pthread.c index b01850a..7a84593 100644 --- a/pthreads/pthread.c +++ b/pthreads/pthread.c @@ -3135,7 +3135,6 @@ pthread_workqueue_removeitem_np(pthread_workqueue_t workq, pthread_workitem_hand } return(0); } else { - workqueue_list_unlock(); return(EBUSY); } } -- 2.45.2