1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-08 17:42:12 +03:00
2005-08-05  Alfred M. Szmidt  <ams@gnu.org>
	[BZ #1252]
	* sysdeps/mach/hurd/setitimer.c (restart_itimer): Move static fn
	forward decl out of function body.
	* sysdeps/mach/hurd/profil.c: Likewise.

	[BZ #1249]
This commit is contained in:
Roland McGrath
2005-10-16 10:32:31 +00:00
parent ce14289fcc
commit c45c24812b
3 changed files with 17 additions and 7 deletions

View File

@@ -1,3 +1,10 @@
2005-08-05 Alfred M. Szmidt <ams@gnu.org>
[BZ #1252]
* sysdeps/mach/hurd/setitimer.c (restart_itimer): Move static fn
forward decl out of function body.
* sysdeps/mach/hurd/profil.c: Likewise.
2005-10-16 Roland McGrath <roland@frob.com> 2005-10-16 Roland McGrath <roland@frob.com>
[BZ #1254] [BZ #1254]
@@ -15,6 +22,7 @@
Use __builtin_frame_address and __builtin_return_address. Use __builtin_frame_address and __builtin_return_address.
(_dl_init_first): Likewise. (_dl_init_first): Likewise.
[BZ #1249]
* sysdeps/mach/hurd/i386/init-first.c (_cthread_init_routine): Declare * sysdeps/mach/hurd/i386/init-first.c (_cthread_init_routine): Declare
as weak extern. as weak extern.
(init): Check for it being undefined. (init): Check for it being undefined.

View File

@@ -1,5 +1,5 @@
/* Low-level statistical profiling support function. Mach/Hurd version. /* Low-level statistical profiling support function. Mach/Hurd version.
Copyright (C) 1995, 1996, 1997, 2000, 2002 Free Software Foundation, Inc. Copyright (C) 1995, 1996, 1997, 2000, 2002, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@@ -49,6 +49,7 @@ static kern_return_t profil_task_get_sampled_pcs (mach_port_t,
sampled_pc_array_t, sampled_pc_array_t,
mach_msg_type_number_t *); mach_msg_type_number_t *);
static void fetch_samples (void); static void fetch_samples (void);
static void profile_waiter (void);
/* Enable statistical profiling, writing samples of the PC into at most /* Enable statistical profiling, writing samples of the PC into at most
SIZE bytes of SAMPLE_BUFFER; every processor clock tick while profiling SIZE bytes of SAMPLE_BUFFER; every processor clock tick while profiling
@@ -64,7 +65,6 @@ update_waiter (u_short *sample_buffer, size_t size, size_t offset, u_int scale)
if (profile_thread == MACH_PORT_NULL) if (profile_thread == MACH_PORT_NULL)
{ {
/* Set up the profiling collector thread. */ /* Set up the profiling collector thread. */
static void profile_waiter (void);
err = __thread_create (__mach_task_self (), &profile_thread); err = __thread_create (__mach_task_self (), &profile_thread);
if (! err) if (! err)
err = __mach_setup_thread (__mach_task_self (), profile_thread, err = __mach_setup_thread (__mach_task_self (), profile_thread,

View File

@@ -1,4 +1,5 @@
/* Copyright (C) 1994,1995,1996,1997,2000,2001 Free Software Foundation, Inc. /* Copyright (C) 1994,1995,1996,1997,2000,2001,2005
Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@@ -41,7 +42,7 @@ static void
quantize_timeval (struct timeval *tv) quantize_timeval (struct timeval *tv)
{ {
static time_t quantum = -1; static time_t quantum = -1;
if (quantum == -1) if (quantum == -1)
quantum = 1000000 / __getclktck (); quantum = 1000000 / __getclktck ();
@@ -127,14 +128,15 @@ timer_thread (void)
} }
/* Forward declaration. */
static int setitimer_locked (const struct itimerval *new,
struct itimerval *old, void *crit);
static sighandler_t static sighandler_t
restart_itimer (struct hurd_signal_preemptor *preemptor, restart_itimer (struct hurd_signal_preemptor *preemptor,
struct hurd_sigstate *ss, struct hurd_sigstate *ss,
int *signo, struct hurd_signal_detail *detail) int *signo, struct hurd_signal_detail *detail)
{ {
static int setitimer_locked (const struct itimerval *new,
struct itimerval *old, void *crit);
/* This function gets called in the signal thread /* This function gets called in the signal thread
each time a SIGALRM is arriving (even if blocked). */ each time a SIGALRM is arriving (even if blocked). */
struct itimerval it; struct itimerval it;