libthr: fix warnings from GCC when WARNS=6
Fix warnings about: - redundant declarations - a local variable shadowing a global function (dlinfo) - an old-style function definition (with an empty parameter list) - a variable that is possibly used uninitialized "make tinderbox" passes this time, except for a few unrelated kernel failures. Reviewed by: kib MFC after: 3 days Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D10870
This commit is contained in:
parent
583b5f3561
commit
5a6d7b723f
@ -464,7 +464,10 @@ static __inline int __sputc(int _c, FILE *_p) {
|
||||
(*(p)->_p = (c), (int)*(p)->_p++))
|
||||
#endif
|
||||
|
||||
#ifndef __LIBC_ISTHREADED_DECLARED
|
||||
#define __LIBC_ISTHREADED_DECLARED
|
||||
extern int __isthreaded;
|
||||
#endif
|
||||
|
||||
#ifndef __cplusplus
|
||||
|
||||
|
@ -42,7 +42,10 @@
|
||||
* or more threads. It is used to avoid calling locking functions
|
||||
* when they are not required.
|
||||
*/
|
||||
#ifndef __LIBC_ISTHREADED_DECLARED
|
||||
#define __LIBC_ISTHREADED_DECLARED
|
||||
extern int __isthreaded;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Elf_Auxinfo *__elf_aux_vector, the pointer to the ELF aux vector
|
||||
|
@ -46,8 +46,6 @@ __FBSDID("$FreeBSD$");
|
||||
#include "libc_private.h"
|
||||
#include "thr_private.h"
|
||||
|
||||
void _pthread_exit(void *status);
|
||||
|
||||
static void exit_thread(void) __dead2;
|
||||
|
||||
__weak_reference(_pthread_exit, pthread_exit);
|
||||
@ -72,7 +70,7 @@ static void
|
||||
thread_uw_init(void)
|
||||
{
|
||||
static int inited = 0;
|
||||
Dl_info dlinfo;
|
||||
Dl_info dli;
|
||||
void *handle;
|
||||
void *forcedunwind, *getcfa;
|
||||
|
||||
@ -80,12 +78,12 @@ thread_uw_init(void)
|
||||
return;
|
||||
handle = RTLD_DEFAULT;
|
||||
if ((forcedunwind = dlsym(handle, "_Unwind_ForcedUnwind")) != NULL) {
|
||||
if (dladdr(forcedunwind, &dlinfo)) {
|
||||
if (dladdr(forcedunwind, &dli)) {
|
||||
/*
|
||||
* Make sure the address is always valid by holding the library,
|
||||
* also assume functions are in same library.
|
||||
*/
|
||||
if ((handle = dlopen(dlinfo.dli_fname, RTLD_LAZY)) != NULL) {
|
||||
if ((handle = dlopen(dli.dli_fname, RTLD_LAZY)) != NULL) {
|
||||
forcedunwind = dlsym(handle, "_Unwind_ForcedUnwind");
|
||||
getcfa = dlsym(handle, "_Unwind_GetCFA");
|
||||
if (forcedunwind != NULL && getcfa != NULL) {
|
||||
|
@ -62,7 +62,7 @@ _thr_setthreaded(int threaded)
|
||||
}
|
||||
|
||||
void
|
||||
_thr_assert_lock_level()
|
||||
_thr_assert_lock_level(void)
|
||||
{
|
||||
PANIC("locklevel <= 0");
|
||||
}
|
||||
|
@ -35,8 +35,8 @@ __FBSDID("$FreeBSD$");
|
||||
#include <string.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#include "thr_private.h"
|
||||
#include "libc_private.h"
|
||||
#include "thr_private.h"
|
||||
|
||||
/*#define DEBUG_THREAD_LIST */
|
||||
#ifdef DEBUG_THREAD_LIST
|
||||
|
@ -70,8 +70,6 @@ int __pthread_mutex_trylock(pthread_mutex_t *mutex);
|
||||
int __pthread_mutex_lock(pthread_mutex_t *mutex);
|
||||
int __pthread_mutex_timedlock(pthread_mutex_t *mutex,
|
||||
const struct timespec *abstime);
|
||||
int _pthread_mutex_init_calloc_cb(pthread_mutex_t *mutex,
|
||||
void *(calloc_cb)(size_t, size_t));
|
||||
int _pthread_mutex_getspinloops_np(pthread_mutex_t *mutex, int *count);
|
||||
int _pthread_mutex_setspinloops_np(pthread_mutex_t *mutex, int count);
|
||||
int __pthread_mutex_setspinloops_np(pthread_mutex_t *mutex, int count);
|
||||
@ -712,6 +710,7 @@ mutex_lock_common(struct pthread_mutex *m, const struct timespec *abstime,
|
||||
struct pthread *curthread;
|
||||
int ret, robust;
|
||||
|
||||
robust = 0; /* pacify gcc */
|
||||
curthread = _get_curthread();
|
||||
if (!cvattach && m->m_flags & PMUTEX_FLAG_PRIVATE)
|
||||
THR_CRITICAL_ENTER(curthread);
|
||||
|
@ -701,7 +701,10 @@ do { \
|
||||
(curthr->report_events && \
|
||||
(((curthr)->event_mask | _thread_event_mask ) & e) != 0)
|
||||
|
||||
#ifndef __LIBC_ISTHREADED_DECLARED
|
||||
#define __LIBC_ISTHREADED_DECLARED
|
||||
extern int __isthreaded;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Global variables for the pthread kernel.
|
||||
@ -835,8 +838,10 @@ int _sched_yield(void);
|
||||
void _pthread_cleanup_push(void (*)(void *), void *);
|
||||
void _pthread_cleanup_pop(int);
|
||||
void _pthread_exit_mask(void *status, sigset_t *mask) __dead2 __hidden;
|
||||
#ifndef _LIBC_PRIVATE_H_
|
||||
void _pthread_cancel_enter(int maycancel);
|
||||
void _pthread_cancel_leave(int maycancel);
|
||||
#endif
|
||||
int _pthread_mutex_consistent(pthread_mutex_t * _Nonnull);
|
||||
int _pthread_mutexattr_getrobust(pthread_mutexattr_t * _Nonnull __restrict,
|
||||
int * _Nonnull __restrict);
|
||||
@ -844,46 +849,56 @@ int _pthread_mutexattr_setrobust(pthread_mutexattr_t * _Nonnull, int);
|
||||
|
||||
/* #include <fcntl.h> */
|
||||
#ifdef _SYS_FCNTL_H_
|
||||
#ifndef _LIBC_PRIVATE_H_
|
||||
int __sys_fcntl(int, int, ...);
|
||||
int __sys_openat(int, const char *, int, ...);
|
||||
#endif
|
||||
#endif /* _LIBC_PRIVATE_H_ */
|
||||
#endif /* _SYS_FCNTL_H_ */
|
||||
|
||||
/* #include <signal.h> */
|
||||
#ifdef _SIGNAL_H_
|
||||
int __sys_kill(pid_t, int);
|
||||
int __sys_sigaction(int, const struct sigaction *, struct sigaction *);
|
||||
int __sys_sigaltstack(const struct sigaltstack *, struct sigaltstack *);
|
||||
int __sys_sigpending(sigset_t *);
|
||||
int __sys_sigreturn(const ucontext_t *);
|
||||
#ifndef _LIBC_PRIVATE_H_
|
||||
int __sys_sigaction(int, const struct sigaction *, struct sigaction *);
|
||||
int __sys_sigprocmask(int, const sigset_t *, sigset_t *);
|
||||
int __sys_sigsuspend(const sigset_t *);
|
||||
int __sys_sigreturn(const ucontext_t *);
|
||||
int __sys_sigaltstack(const struct sigaltstack *, struct sigaltstack *);
|
||||
int __sys_sigwait(const sigset_t *, int *);
|
||||
int __sys_sigtimedwait(const sigset_t *, siginfo_t *,
|
||||
const struct timespec *);
|
||||
int __sys_sigwait(const sigset_t *, int *);
|
||||
int __sys_sigwaitinfo(const sigset_t *set, siginfo_t *info);
|
||||
#endif
|
||||
#endif /* _LIBC_PRIVATE_H_ */
|
||||
#endif /* _SYS_FCNTL_H_ */
|
||||
|
||||
/* #include <time.h> */
|
||||
#ifdef _TIME_H_
|
||||
#ifndef _LIBC_PRIVATE_H_
|
||||
int __sys_clock_nanosleep(clockid_t, int, const struct timespec *,
|
||||
struct timespec *);
|
||||
int __sys_nanosleep(const struct timespec *, struct timespec *);
|
||||
#endif
|
||||
#endif /* _LIBC_PRIVATE_H_ */
|
||||
#endif /* _SYS_FCNTL_H_ */
|
||||
|
||||
/* #include <sys/ucontext.h> */
|
||||
#ifdef _SYS_UCONTEXT_H_
|
||||
#ifndef _LIBC_PRIVATE_H_
|
||||
int __sys_setcontext(const ucontext_t *ucp);
|
||||
int __sys_swapcontext(ucontext_t *oucp, const ucontext_t *ucp);
|
||||
#endif
|
||||
#endif /* _LIBC_PRIVATE_H_ */
|
||||
#endif /* _SYS_FCNTL_H_ */
|
||||
|
||||
/* #include <unistd.h> */
|
||||
#ifdef _UNISTD_H_
|
||||
void __sys_exit(int);
|
||||
pid_t __sys_getpid(void);
|
||||
#ifndef _LIBC_PRIVATE_H_
|
||||
int __sys_close(int);
|
||||
int __sys_fork(void);
|
||||
pid_t __sys_getpid(void);
|
||||
ssize_t __sys_read(int, void *, size_t);
|
||||
void __sys_exit(int);
|
||||
#endif
|
||||
#endif /* _LIBC_PRIVATE_H_ */
|
||||
#endif /* _SYS_FCNTL_H_ */
|
||||
|
||||
static inline int
|
||||
_thr_isthreaded(void)
|
||||
|
Loading…
Reference in New Issue
Block a user