2004-04-09  Thorsten Kukuk  <kukuk@suse.de>

	* sysdeps/s390/ffs.c: Don't add ffsl weak alias on s390x.

2004-04-09  Steven Munroe  <sjmunroe@us.ibm.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c: New file.
This commit is contained in:
Ulrich Drepper 2004-04-09 19:10:05 +00:00
parent c4c5feda77
commit 7906dd5626
4 changed files with 29 additions and 6 deletions

View File

@ -1,3 +1,11 @@
2004-04-09 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/s390/ffs.c: Don't add ffsl weak alias on s390x.
2004-04-09 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc64/umount.c: New file.
2004-04-09 Andreas Schwab <schwab@suse.de> 2004-04-09 Andreas Schwab <schwab@suse.de>
* sysdeps/unix/sysv/linux/m68k/sysdep.h (INTERNAL_SYSCALL): Add * sysdeps/unix/sysv/linux/m68k/sysdep.h (INTERNAL_SYSCALL): Add

View File

@ -1,3 +1,11 @@
2004-04-09 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/tls.h (TLS_INIT_TP): Eliminate lvalue cast from
__thread_self assignment.
(THREAD_DTV): Replace __thread_register with __thread_self.
(INIT_THREAD_SELF): Eliminate lvalue cast from __thread_self
assignment.
2004-04-08 Alexandre Oliva <aoliva@redhat.com> 2004-04-08 Alexandre Oliva <aoliva@redhat.com>
* signals.c (pthread_sigmask): Don't ever block or mask * signals.c (pthread_sigmask): Don't ever block or mask

View File

@ -92,19 +92,24 @@ typedef struct
/* Return dtv of given thread descriptor. */ /* Return dtv of given thread descriptor. */
# define GET_DTV(TCBP) (((tcbhead_t *) (TCBP))[-1].dtv) # define GET_DTV(TCBP) (((tcbhead_t *) (TCBP))[-1].dtv)
/* The global register variable is declared in pt-machine.h with /* We still need this define so that tcb-offsets.sym can override it and
the wrong type, but the compiler doesn't like us declaring another. */ use THREAD_SELF to generate MULTIPLE_THREADS_OFFSET. */
# define __thread_register ((void *) __thread_self) # define __thread_register ((void *) __thread_self)
/* Code to initially initialize the thread pointer. This might need /* Code to initially initialize the thread pointer. This might need
special attention since 'errno' is not yet available and if the special attention since 'errno' is not yet available and if the
operation can cause a failure 'errno' must not be touched. */ operation can cause a failure 'errno' must not be touched.
The global register variable is declared in pt-machine.h with the
wrong type, so we need some extra casts to get the desired result.
This avoids a lvalue cast that gcc-3.4 does not like. */
# define TLS_INIT_TP(TCBP, SECONDCALL) \ # define TLS_INIT_TP(TCBP, SECONDCALL) \
(__thread_register = (void *) (TCBP) + TLS_TCB_OFFSET, NULL) (__thread_self = (struct _pthread_descr_struct *) \
((void *) (TCBP) + TLS_TCB_OFFSET), NULL)
/* Return the address of the dtv for the current thread. */ /* Return the address of the dtv for the current thread. */
# define THREAD_DTV() \ # define THREAD_DTV() \
(((tcbhead_t *) (__thread_register - TLS_TCB_OFFSET))[-1].dtv) (((tcbhead_t *) ((void *) __thread_self - TLS_TCB_OFFSET))[-1].dtv)
/* Return the thread descriptor for the current thread. */ /* Return the thread descriptor for the current thread. */
# undef THREAD_SELF # undef THREAD_SELF
@ -114,7 +119,7 @@ typedef struct
# undef INIT_THREAD_SELF # undef INIT_THREAD_SELF
# define INIT_THREAD_SELF(DESCR, NR) \ # define INIT_THREAD_SELF(DESCR, NR) \
(__thread_register = ((void *) (DESCR) \ (__thread_self = (struct _pthread_descr_struct *)((void *) (DESCR) \
+ TLS_TCB_OFFSET + TLS_PRE_TCB_SIZE)) + TLS_TCB_OFFSET + TLS_PRE_TCB_SIZE))
/* Make sure we have the p_multiple_threads member in the thread structure. /* Make sure we have the p_multiple_threads member in the thread structure.

View File

@ -63,6 +63,8 @@ __ffs (x)
} }
weak_alias (__ffs, ffs) weak_alias (__ffs, ffs)
#if ULONG_MAX == UINT_MAX
#undef ffsl #undef ffsl
weak_alias (__ffs, ffsl) weak_alias (__ffs, ffsl)
#endif