mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Fix several build warnings on sparc.
/ * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c (set_obp_int): New function. (get_obp_int): New function. (__get_clockfreq_via_dev_openprom): Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.h (INTERNAL_SYSCALL_ERROR_P): Avoid unused variable warnings on 'val' and use builtin_expect. (INLINE_SYSCALL): Don't wrap INTERNAL_SYSCALL_ERROR_P with builtin_expect. (INLINE_CLONE_SYSCALL): Likewise. nptl/ * sysdeps/unix/sysv/linux/sparc/sem_post.c (__new_sem_post): Use atomic_increment and remove unused local variable. (__old_sem_post): Likewise.
This commit is contained in:
@ -154,6 +154,22 @@ __get_clockfreq_via_proc_openprom (void)
|
||||
return result;
|
||||
}
|
||||
|
||||
static void set_obp_int (struct openpromio *op, int val)
|
||||
{
|
||||
char *cp = op->oprom_array;
|
||||
int *ip = (int *) cp;
|
||||
|
||||
*ip = val;
|
||||
}
|
||||
|
||||
static int get_obp_int (struct openpromio *op)
|
||||
{
|
||||
char *cp = op->oprom_array;
|
||||
int *ip = (int *) cp;
|
||||
|
||||
return *ip;
|
||||
}
|
||||
|
||||
static hp_timing_t
|
||||
__get_clockfreq_via_dev_openprom (void)
|
||||
{
|
||||
@ -171,11 +187,11 @@ __get_clockfreq_via_dev_openprom (void)
|
||||
|
||||
obp_cmd->oprom_size =
|
||||
sizeof (obp_buf) - sizeof (unsigned int);
|
||||
*(int *) obp_cmd->oprom_array = 0;
|
||||
set_obp_int (obp_cmd, 0);
|
||||
ret = ioctl (obp_dev_fd, OPROMCHILD, (char *) obp_cmd);
|
||||
if (ret == 0)
|
||||
{
|
||||
int cur_node = *(int *) obp_cmd->oprom_array;
|
||||
int cur_node = get_obp_int (obp_cmd);
|
||||
|
||||
while (cur_node != 0 && cur_node != -1)
|
||||
{
|
||||
@ -190,15 +206,14 @@ __get_clockfreq_via_dev_openprom (void)
|
||||
strcpy (obp_cmd->oprom_array, "clock-frequency");
|
||||
ret = ioctl (obp_dev_fd, OPROMGETPROP, (char *) obp_cmd);
|
||||
if (ret == 0)
|
||||
result =
|
||||
(hp_timing_t) *(unsigned int *) obp_cmd->oprom_array;
|
||||
result = (hp_timing_t) get_obp_int (obp_cmd);
|
||||
}
|
||||
obp_cmd->oprom_size = sizeof (obp_buf) - sizeof (unsigned int);
|
||||
*(int *) obp_cmd->oprom_array = cur_node;
|
||||
set_obp_int (obp_cmd, cur_node);
|
||||
ret = ioctl (obp_dev_fd, OPROMNEXT, (char *) obp_cmd);
|
||||
if (ret < 0)
|
||||
break;
|
||||
cur_node = *(int *)obp_cmd->oprom_array;
|
||||
cur_node = get_obp_int (obp_cmd);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user