Remove old spinlock_debug code from libc
This no longer seems useful. Remove it. This was prompted by a "cast discards volatile qualifier" warning in libthr when WARNS=6. Reviewed by: kib MFC after: 3 days Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D10832
This commit is contained in:
parent
048ad6aedc
commit
07f29d9f76
@ -485,7 +485,6 @@ FBSDprivate_1.0 {
|
|||||||
_pthread_sigmask;
|
_pthread_sigmask;
|
||||||
_pthread_testcancel;
|
_pthread_testcancel;
|
||||||
_spinlock;
|
_spinlock;
|
||||||
_spinlock_debug;
|
|
||||||
_spinunlock;
|
_spinunlock;
|
||||||
_rtld_addr_phdr;
|
_rtld_addr_phdr;
|
||||||
_rtld_atfork_pre;
|
_rtld_atfork_pre;
|
||||||
|
@ -38,7 +38,6 @@ __FBSDID("$FreeBSD$");
|
|||||||
long _atomic_lock_stub(volatile long *);
|
long _atomic_lock_stub(volatile long *);
|
||||||
void _spinlock_stub(spinlock_t *);
|
void _spinlock_stub(spinlock_t *);
|
||||||
void _spinunlock_stub(spinlock_t *);
|
void _spinunlock_stub(spinlock_t *);
|
||||||
void _spinlock_debug_stub(spinlock_t *, char *, int);
|
|
||||||
|
|
||||||
__weak_reference(_atomic_lock_stub, _atomic_lock);
|
__weak_reference(_atomic_lock_stub, _atomic_lock);
|
||||||
|
|
||||||
@ -48,7 +47,6 @@ _atomic_lock_stub(volatile long *lck __unused)
|
|||||||
return (0L);
|
return (0L);
|
||||||
}
|
}
|
||||||
|
|
||||||
__weak_reference(_spinlock, _spinlock_debug);
|
|
||||||
#pragma weak _spinlock
|
#pragma weak _spinlock
|
||||||
void
|
void
|
||||||
_spinlock(spinlock_t *lck)
|
_spinlock(spinlock_t *lck)
|
||||||
|
@ -41,21 +41,17 @@
|
|||||||
* Lock structure with room for debugging information.
|
* Lock structure with room for debugging information.
|
||||||
*/
|
*/
|
||||||
struct _spinlock {
|
struct _spinlock {
|
||||||
volatile long access_lock;
|
long spare1;
|
||||||
volatile long lock_owner;
|
long spare2;
|
||||||
volatile char *fname;
|
void *thr_extra;
|
||||||
volatile int lineno;
|
int spare3;
|
||||||
};
|
};
|
||||||
typedef struct _spinlock spinlock_t;
|
typedef struct _spinlock spinlock_t;
|
||||||
|
|
||||||
#define _SPINLOCK_INITIALIZER { 0, 0, 0, 0 }
|
#define _SPINLOCK_INITIALIZER { 0, 0, 0, 0 }
|
||||||
|
|
||||||
#define _SPINUNLOCK(_lck) _spinunlock(_lck);
|
#define _SPINUNLOCK(_lck) _spinunlock(_lck);
|
||||||
#ifdef _LOCK_DEBUG
|
|
||||||
#define _SPINLOCK(_lck) _spinlock_debug(_lck, __FILE__, __LINE__)
|
|
||||||
#else
|
|
||||||
#define _SPINLOCK(_lck) _spinlock(_lck)
|
#define _SPINLOCK(_lck) _spinlock(_lck)
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Thread function prototype definitions:
|
* Thread function prototype definitions:
|
||||||
@ -64,7 +60,6 @@ __BEGIN_DECLS
|
|||||||
long _atomic_lock(volatile long *);
|
long _atomic_lock(volatile long *);
|
||||||
void _spinlock(spinlock_t *);
|
void _spinlock(spinlock_t *);
|
||||||
void _spinunlock(spinlock_t *);
|
void _spinunlock(spinlock_t *);
|
||||||
void _spinlock_debug(spinlock_t *, char *, int);
|
|
||||||
__END_DECLS
|
__END_DECLS
|
||||||
|
|
||||||
#endif /* _SPINLOCK_H_ */
|
#endif /* _SPINLOCK_H_ */
|
||||||
|
@ -173,7 +173,6 @@ STATIC_LIB_REQUIRE(_sigtimedwait);
|
|||||||
STATIC_LIB_REQUIRE(_sigwait);
|
STATIC_LIB_REQUIRE(_sigwait);
|
||||||
STATIC_LIB_REQUIRE(_sigwaitinfo);
|
STATIC_LIB_REQUIRE(_sigwaitinfo);
|
||||||
STATIC_LIB_REQUIRE(_spinlock);
|
STATIC_LIB_REQUIRE(_spinlock);
|
||||||
STATIC_LIB_REQUIRE(_spinlock_debug);
|
|
||||||
STATIC_LIB_REQUIRE(_spinunlock);
|
STATIC_LIB_REQUIRE(_spinunlock);
|
||||||
STATIC_LIB_REQUIRE(_thread_init_hack);
|
STATIC_LIB_REQUIRE(_thread_init_hack);
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ __thr_spinunlock(spinlock_t *lck)
|
|||||||
{
|
{
|
||||||
struct spinlock_extra *_extra;
|
struct spinlock_extra *_extra;
|
||||||
|
|
||||||
_extra = (struct spinlock_extra *)lck->fname;
|
_extra = lck->thr_extra;
|
||||||
THR_UMUTEX_UNLOCK(_get_curthread(), &_extra->lock);
|
THR_UMUTEX_UNLOCK(_get_curthread(), &_extra->lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,9 +78,9 @@ __thr_spinlock(spinlock_t *lck)
|
|||||||
PANIC("Spinlock called when not threaded.");
|
PANIC("Spinlock called when not threaded.");
|
||||||
if (!initialized)
|
if (!initialized)
|
||||||
PANIC("Spinlocks not initialized.");
|
PANIC("Spinlocks not initialized.");
|
||||||
if (lck->fname == NULL)
|
if (lck->thr_extra == NULL)
|
||||||
init_spinlock(lck);
|
init_spinlock(lck);
|
||||||
_extra = (struct spinlock_extra *)lck->fname;
|
_extra = lck->thr_extra;
|
||||||
THR_UMUTEX_LOCK(_get_curthread(), &_extra->lock);
|
THR_UMUTEX_LOCK(_get_curthread(), &_extra->lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,14 +90,14 @@ init_spinlock(spinlock_t *lck)
|
|||||||
struct pthread *curthread = _get_curthread();
|
struct pthread *curthread = _get_curthread();
|
||||||
|
|
||||||
THR_UMUTEX_LOCK(curthread, &spinlock_static_lock);
|
THR_UMUTEX_LOCK(curthread, &spinlock_static_lock);
|
||||||
if ((lck->fname == NULL) && (spinlock_count < MAX_SPINLOCKS)) {
|
if ((lck->thr_extra == NULL) && (spinlock_count < MAX_SPINLOCKS)) {
|
||||||
lck->fname = (char *)&extra[spinlock_count];
|
lck->thr_extra = &extra[spinlock_count];
|
||||||
_thr_umutex_init(&extra[spinlock_count].lock);
|
_thr_umutex_init(&extra[spinlock_count].lock);
|
||||||
extra[spinlock_count].owner = lck;
|
extra[spinlock_count].owner = lck;
|
||||||
spinlock_count++;
|
spinlock_count++;
|
||||||
}
|
}
|
||||||
THR_UMUTEX_UNLOCK(curthread, &spinlock_static_lock);
|
THR_UMUTEX_UNLOCK(curthread, &spinlock_static_lock);
|
||||||
if (lck->fname == NULL)
|
if (lck->thr_extra == NULL)
|
||||||
PANIC("Warning: exceeded max spinlocks");
|
PANIC("Warning: exceeded max spinlocks");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user