+2003-05-31 Ulrich Drepper <drepper@redhat.com>
+
+ * libio/fileops.c (_IO_file_open): Don't mark as inline.
+
+ * sysdeps/ia64/elf/initfini.c ((gmon_initializer): Mark with
+ attribute used.
+
2003-05-30 Ulrich Drepper <drepper@redhat.com>
* scripts/config.guess: Update from master copy.
}
INTDEF2(_IO_new_file_finish, _IO_file_finish)
-#if defined __GNUC__ && __GNUC__ >= 2
-__inline__
-#endif
_IO_FILE *
_IO_file_open (fp, filename, posix_mode, prot, read_write, is32not64)
_IO_FILE *fp;
+2003-05-31 Ulrich Drepper <drepper@redhat.com>
+
+ * posix-timer.h: Remove old, unused timer_id2ptr and timer_ptr2id
+ definitions.
+
+ * sysdeps/pthread/timer_create.c (timer_create): In case
+ evp==NULL, assign timer ID to sival_ptr.
+
+ * descr.h (struct pthread_unwind_buf): Change type of prev element to
+ struct pthread_unwind_buf *.
+ (struct pthread): Likewise for cleanup_jmp_buf element.
+
+ * cleanup.c (__pthread_register_cancel): Add cast to avoid warning.
+ * cleanup_defer.c (__pthread_register_cancel_defer): Likewise.
+ * unwind.c (__pthread_unwind_next): Likewise.
+
2003-05-30 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/ia64/lowlevellock.h
ibuf->priv.data.cleanup = THREAD_GETMEM (self, cleanup);
/* Store the new cleanup handler info. */
- THREAD_SETMEM (self, cleanup_jmp_buf, buf);
+ THREAD_SETMEM (self, cleanup_jmp_buf, (struct pthread_unwind_buf *) buf);
}
: PTHREAD_CANCEL_DEFERRED);
/* Store the new cleanup handler info. */
- THREAD_SETMEM (self, cleanup_jmp_buf, buf);
+ THREAD_SETMEM (self, cleanup_jmp_buf, (struct pthread_unwind_buf *) buf);
}
struct
{
/* Pointer to the previous cleanup buffer. */
- __pthread_unwind_buf_t *prev;
+ struct pthread_unwind_buf *prev;
/* Backward compatibility: state of the old-style cleanup
handler at the time of the previous new-style cleanup handler
struct _pthread_cleanup_buffer *cleanup;
/* Unwind information. */
- __pthread_unwind_buf_t *cleanup_jmp_buf;
+ struct pthread_unwind_buf *cleanup_jmp_buf;
#define HAVE_CLEANUP_JMP_BUF
/* Flags determining processing of cancellation. */
/* Return pointer to timer structure corresponding to ID. */
-#if 0
-static inline struct timer_node *
-timer_id2ptr (timer_t timerid)
-{
- if (timerid >= 0 && timerid < TIMER_MAX)
- return &__timer_array[timerid];
-
- return NULL;
-}
-
-/* Return ID of TIMER. */
-static inline int
-timer_ptr2id (struct timer_node *timer)
-{
- return timer - __timer_array;
-}
-#else
-# define timer_id2ptr(timerid) ((struct timer_node *) timerid)
-# define timer_ptr2id(timerid) ((void *) timerid)
-#endif
+#define timer_id2ptr(timerid) ((struct timer_node *) timerid)
+#define timer_ptr2id(timerid) ((void *) timerid)
/* Check whether timer is valid; global mutex must be held. */
static inline int
{
newtimer->event.sigev_notify = SIGEV_SIGNAL;
newtimer->event.sigev_signo = SIGALRM;
- newtimer->event.sigev_value.sival_int = timer_ptr2id (newtimer);
+ newtimer->event.sigev_value.sival_ptr = timer_ptr2id (newtimer);
newtimer->event.sigev_notify_function = 0;
}
{
struct pthread_unwind_buf *ibuf = (struct pthread_unwind_buf *) buf;
- __pthread_unwind (ibuf->priv.data.prev);
+ __pthread_unwind ((__pthread_unwind_buf_t *) ibuf->priv.data.prev);
}
/* Special .init and .fini section support for ia64.
- Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2002, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
--davidm 02/10/29 */
static void
+__attribute__ ((used))
gmon_initializer (void)
{
extern void weak_function __gmon_start__ (void);