diff options
Diffstat (limited to 'libpthread/nptl')
-rw-r--r-- | libpthread/nptl/Makefile.in | 59 | ||||
-rw-r--r-- | libpthread/nptl/pthread-errnos.sym | 12 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/mips/Makefile.arch | 48 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/mips/tcb-offsets.h | 3 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/mips/tcb-offsets.sym | 11 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in | 94 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelbarrier.sym | 11 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelcond.sym | 16 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelrwlock.sym | 14 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/unix/sysv/linux/unwindbuf.sym | 7 |
10 files changed, 221 insertions, 54 deletions
diff --git a/libpthread/nptl/Makefile.in b/libpthread/nptl/Makefile.in index 45f3bd1f2..84a1cd124 100644 --- a/libpthread/nptl/Makefile.in +++ b/libpthread/nptl/Makefile.in @@ -44,9 +44,6 @@ libpthread-routines = init vars events version \ pthread_cond_init pthread_cond_destroy \ pthread_cond_wait pthread_cond_timedwait \ pthread_cond_signal pthread_cond_broadcast \ - old_pthread_cond_init old_pthread_cond_destroy \ - old_pthread_cond_wait old_pthread_cond_timedwait \ - old_pthread_cond_signal old_pthread_cond_broadcast \ pthread_condattr_init pthread_condattr_destroy \ pthread_condattr_getpshared pthread_condattr_setpshared \ pthread_condattr_getclock pthread_condattr_setclock \ @@ -223,42 +220,42 @@ endif libpthread_FULL_NAME := libpthread-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so -libpthread_DIR := $(top_srcdir)libpthread/nptl -libpthread_OUT := $(top_builddir)libpthread/nptl +PTHREAD_DIR := $(top_srcdir)libpthread/nptl +PTHREAD_OUT := $(top_builddir)libpthread/nptl -libpthread_a_SRC = $(patsubst %, $(libpthread_DIR)/%.c, \ +libpthread_a_SRC = $(patsubst %, $(PTHREAD_DIR)/%.c, \ $(filter-out $(libpthread-os-routines) \ $(libpthread-misc-routines) \ $(libpthread-shared-only-routines), \ $(libpthread-routines))) -libpthread_so_SRC = $(patsubst %, $(libpthread_DIR)/%.c, \ +libpthread_so_SRC = $(patsubst %, $(PTHREAD_DIR)/%.c, \ $(filter-out $(libpthread-os-routines) \ $(libpthread-misc-routines), $(libpthread-routines))) -libc-a-y += $(patsubst %.c, $(libpthread_OUT)/%.o, alloca_cutoff.c \ +libc-a-y += $(patsubst %.c, $(PTHREAD_OUT)/%.o, alloca_cutoff.c \ forward.c libc-cancellation.c) -libc-so-y += $(patsubst %.c, $(libpthread_OUT)/%.oS, forward.c \ +libc-so-y += $(patsubst %.c, $(PTHREAD_OUT)/%.oS, forward.c \ libc-cancellation.c) -libpthread-a-y := $(patsubst $(libpthread_DIR)/%.c,$(libpthread_OUT)/%.o,$(libpthread_a_SRC)) -libpthread-so-y := $(patsubst $(libpthread_DIR)/%.c,$(libpthread_OUT)/%.oS,$(libpthread_so_SRC)) +libpthread-a-y := $(patsubst $(PTHREAD_DIR)/%.c,$(PTHREAD_OUT)/%.o,$(libpthread_a_SRC)) +libpthread-so-y := $(patsubst $(PTHREAD_DIR)/%.c,$(PTHREAD_OUT)/%.oS,$(libpthread_so_SRC)) --include $(libpthread_DIR)/sysdeps/pthread/Makefile.in --include $(libpthread_DIR)/sysdeps/$(TARGET_ARCH)/Makefile.arch --include $(libpthread_DIR)/sysdeps/unix/sysv/linux/Makefile.in --include $(libpthread_DIR)/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/Makefile.arch +objclean-y += libpthread_clean +headers_clean-y += nptl_headers_clean + +-include $(PTHREAD_DIR)/sysdeps/generic/Makefile.in +-include $(PTHREAD_DIR)/sysdeps/pthread/Makefile.in +-include $(PTHREAD_DIR)/sysdeps/$(TARGET_ARCH)/Makefile.arch +-include $(PTHREAD_DIR)/sysdeps/unix/sysv/linux/Makefile.in +-include $(PTHREAD_DIR)/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/Makefile.arch lib-a-y += $(top_builddir)lib/libpthread.a lib-so-y += $(top_builddir)lib/libpthread.so -objclean-y += libpthread_clean -headers-y += nptl_headers -headers_clean-y += nptl_headers_clean - -$(top_builddir)lib/libpthread.so: $(libpthread_OUT)/libpthread_so.a +$(top_builddir)lib/libpthread.so: $(PTHREAD_OUT)/libpthread_so.a $(call link.so,$(libpthread_FULL_NAME),$(MAJOR_VERSION)) -$(libpthread_OUT)/libpthread_so.a: $(libpthread-so-y) +$(PTHREAD_OUT)/libpthread_so.a: $(libpthread-so-y) $(Q)$(RM) $@ ifeq ($(PTHREADS_DEBUG_SUPPORT),y) $(do_strip:-x=-X --strip-debug) @@ -277,6 +274,20 @@ endif $(do_strip) $(do_ar) +# +# Create 'pthread-errnos.h' header file. +# +CFLAGS-pthread-errnos.c = -S + +$(PTHREAD_OUT)/pthread-errnos.c: $(PTHREAD_DIR)/pthread-errnos.sym + awk -f $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@ + +$(PTHREAD_OUT)/pthread-errnos.s: $(PTHREAD_OUT)/pthread-errnos.c + $(compile.c) + +$(PTHREAD_OUT)/pthread-errnos.h: $(PTHREAD_OUT)/pthread-errnos.s + @sed -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $(PTHREAD_OUT)/pthread-errnos.h + nptl_headers: @sed 's/\(.*\)/"\1\\n"/' $(PTDIR)/Banner > $(PTDIR)/banner.h @echo "#define VERSION \""$(VERSION)"\"" > $(PTDIR)/version.h @@ -287,10 +298,12 @@ nptl_headers: $(LN) -sf ../../$(PTDIR)/sysdeps/unix/sysv/linux/$(TARGET_ARCH)/bits/pthreadtypes.h $(top_builddir)include/bits/ $(LN) -sf ../../$(PTDIR)/sysdeps/pthread/bits/libc-lock.h $(top_builddir)include/bits/ $(LN) -sf ../../$(PTDIR)/sysdeps/pthread/bits/stdio-lock.h $(top_builddir)include/bits/ + $(MAKE) $(PTHREAD_OUT)/pthread-errnos.h nptl_headers_clean: $(RM) $(PTDIR)/banner.h $(top_builddir)include/pthread.h \ - $(PTDIR)/version.h $(top_builddir)include/semaphore.h + $(PTDIR)/version.h $(top_builddir)include/semaphore.h \ + $(PTHREAD_OUT)/pthread-errnos.{c,h,s} libpthread_clean: - $(RM) $(libpthread_OUT)/*.{o,os,oS} + $(RM) $(PTHREAD_OUT)/*.{o,os,oS} diff --git a/libpthread/nptl/pthread-errnos.sym b/libpthread/nptl/pthread-errnos.sym new file mode 100644 index 000000000..2bb4d0d3c --- /dev/null +++ b/libpthread/nptl/pthread-errnos.sym @@ -0,0 +1,12 @@ +#include <errno.h> + +-- These errno codes are used by some assembly code. + +EAGAIN EAGAIN +EBUSY EBUSY +EDEADLK EDEADLK +EINTR EINTR +EINVAL EINVAL +ENOSYS ENOSYS +ETIMEDOUT ETIMEDOUT +EWOULDBLOCK EWOULDBLOCK diff --git a/libpthread/nptl/sysdeps/mips/Makefile.arch b/libpthread/nptl/sysdeps/mips/Makefile.arch index 4c73ef583..fa22a5454 100644 --- a/libpthread/nptl/sysdeps/mips/Makefile.arch +++ b/libpthread/nptl/sysdeps/mips/Makefile.arch @@ -6,38 +6,56 @@ # libpthread_SSRC = pthread_spin_lock.S pthread_spin_trylock.S \ - nptl-syscall_error.S + nptl-sysdep.S -libc_a_CSRC = dl-support.c dl-tls.c libc-tls.c +libc_a_CSRC = libc-tls.c CFLAGS-pt-raise.c = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 -CFLAGS-dl-support.c = -D_GNU_SOURCE ASFLAGS-pthread_spin_lock.S = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 ASFLAGS-pthread_spin_trylock.S = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 -ASFLAGS-nptl-syscall_error.S = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 \ - -I$(top_srcdir)libc/sysdeps/linux/mips +ASFLAGS-nptl-sysdep.S = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 \ + -I$(top_srcdir)libc/sysdeps/linux/mips CFLAGS-mips = $(SSP_ALL_CFLAGS) #CFLAGS:=$(CFLAGS:-O1=-O2) -PTHREAD_ARCH_DIR:=$(top_srcdir)libpthread/nptl/sysdeps/mips -PTHREAD_ARCH_OUT:=$(top_builddir)libpthread/nptl/sysdeps/mips - -PTHREAD_ARCH_OBJ:=$(patsubst %.S,$(PTHREAD_ARCH_OUT)/%.o,$(libpthread_SSRC)) +PTHREAD_ARCH_DIR := $(top_srcdir)libpthread/nptl/sysdeps/mips +PTHREAD_ARCH_OUT := $(top_builddir)libpthread/nptl/sysdeps/mips +PTHREAD_ARCH_OBJ := $(patsubst %.S,$(PTHREAD_ARCH_OUT)/%.o,$(libpthread_SSRC)) libpthread-a-y += $(PTHREAD_ARCH_OBJ) libpthread-so-y += $(PTHREAD_ARCH_OBJ:.o=.oS) -libpthread-nomulti-y+=$(PTHREAD_ARCH_OBJ) +libpthread-nomulti-y += $(PTHREAD_ARCH_OBJ) + +LIBC_ARCH_OBJ := $(patsubst %.c,$(PTHREAD_ARCH_OUT)/%.o,$(libc_a_CSRC)) + +libc-a-y += $(LIBC_ARCH_OBJ) + +libc-nomulti-y += $(LIBC_ARCH_OBJ) + +objclean-y += nptl_arch_objclean +headers_clean-y += nptl_arch_headers_clean + +# +# Create 'tcb-offsets.h' header file. +# +CFLAGS-tcb-offsets.c = -S -LIBC_ARCH_OBJ:=$(patsubst %.c,$(PTHREAD_ARCH_OUT)/%.o,$(libc_a_CSRC)) +$(PTHREAD_ARCH_OUT)/tcb-offsets.c: $(PTHREAD_ARCH_DIR)/tcb-offsets.sym + awk -f $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@ -libc-a-y+=$(LIBC_ARCH_OBJ) +$(PTHREAD_ARCH_OUT)/tcb-offsets.s: $(PTHREAD_ARCH_OUT)/tcb-offsets.c + $(compile.c) -libc-nomulti-y+=$(LIBC_ARCH_OBJ) +nptl_arch_headers: $(PTHREAD_ARCH_OUT)/tcb-offsets.s + @sed -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $(PTHREAD_ARCH_OUT)/tcb-offsets.h -objclean-y+=pthread_arch_objclean +nptl_arch_headers_clean: + $(RM) $(PTHREAD_ARCH_OUT)/tcb-offsets.c \ + $(PTHREAD_ARCH_OUT)/tcb-offsets.s \ + $(PTHREAD_ARCH_OUT)/tcb-offsets.h -pthread_arch_objclean: +nptl_arch_objclean: $(RM) $(PTHREAD_ARCH_OUT)/*.{o,os,oS} diff --git a/libpthread/nptl/sysdeps/mips/tcb-offsets.h b/libpthread/nptl/sysdeps/mips/tcb-offsets.h deleted file mode 100644 index 3ba80c55d..000000000 --- a/libpthread/nptl/sysdeps/mips/tcb-offsets.h +++ /dev/null @@ -1,3 +0,0 @@ -#define MULTIPLE_THREADS_OFFSET -29776 -#define PID_OFFSET -29700 -#define TID_OFFSET -29704 diff --git a/libpthread/nptl/sysdeps/mips/tcb-offsets.sym b/libpthread/nptl/sysdeps/mips/tcb-offsets.sym new file mode 100644 index 000000000..e0e71dc43 --- /dev/null +++ b/libpthread/nptl/sysdeps/mips/tcb-offsets.sym @@ -0,0 +1,11 @@ +#include <sysdep.h> +#include <tls.h> + +-- + +-- Abuse tls.h macros to derive offsets relative to the thread register. +#define thread_offsetof(mem) (long)(offsetof(struct pthread, mem) - TLS_TCB_OFFSET - TLS_PRE_TCB_SIZE) + +MULTIPLE_THREADS_OFFSET thread_offsetof (header.multiple_threads) +PID_OFFSET thread_offsetof (pid) +TID_OFFSET thread_offsetof (tid) diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in index 8bd512731..a39ada190 100644 --- a/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/Makefile.in @@ -1,6 +1,6 @@ # Makefile for uClibc NPTL # -# Copyright (C) 2005 Steven J. Hill <sjhill@uclibc.org> +# Copyright (C) 2006 Steven J. Hill <sjhill@uclibc.org> # # Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. # @@ -13,10 +13,14 @@ libpthread_CSRC = pt-raise.c pthread_attr_getaffinity.c \ sem_trywait.c sem_wait.c pt-fork.c \ sigtimedwait.c sigwaitinfo.c sigwait.c sleep.c +libpthread_SSRC = #ptw-close.S ptw-open.S ptw-waitid.S ptw-waidpid.S ptw-write.S + libc_CSRC = libc_pthread_init.c libc_multiple_threads.c \ register-atfork.c unregister-atfork.c getpid.c \ raise.c sleep.c +libc_SSRC = #close.S open.S waitid.S waidpid.S write.S + ifeq ($(TARGET_ARCH),alpha) libpthread_CSRC += lowlevellock.c libc_CSRC += libc-lowlevellock.c @@ -52,24 +56,88 @@ CFLAGS-OMIT-raise.c = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 CFLAGS-OMIT-sleep.c = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 CFLAGS-OMIT-libc-lowlevellock.c = -DNOT_IN_libc=1 -DIS_IN_libpthread=1 -linux_DIR := $(top_srcdir)/libpthread/nptl/sysdeps/unix/sysv/linux -linux_OUT := $(top_builddir)/libpthread/nptl/sysdeps/unix/sysv/linux +PTHREAD_LINUX_DIR := $(top_srcdir)/libpthread/nptl/sysdeps/unix/sysv/linux +PTHREAD_LINUX_OUT := $(top_builddir)/libpthread/nptl/sysdeps/unix/sysv/linux + +PTHREAD_LINUX_OBJ := $(patsubst %.c,$(PTHREAD_LINUX_OUT)/%.o,$(libpthread_CSRC)) +PTHREAD_LINUX_OBJ += $(patsubst %.S,$(PTHREAD_LINUX_OUT)/%.o,$(libpthread_SSRC)) + +libpthread-a-y += $(PTHREAD_LINUX_OBJ) +libpthread-so-y += $(PTHREAD_LINUX_OBJ:.o=.oS) + +libpthread-nomulti-y += $(PTHREAD_LINUX_OBJ) -PTHREAD_OBJ = $(patsubst %.c, $(linux_OUT)/%.o, $(libpthread_CSRC)) +LIBC_LINUX_OBJ := $(patsubst %.c,$(PTHREAD_LINUX_OUT)/%.o,$(libc_CSRC)) +LIBC_LINUX_OBJ += $(patsubst %.S,$(PTHREAD_LINUX_OUT)/%.o,$(libc_SSRC)) -libpthread-a-y += $(PTHREAD_OBJ) -libpthread-so-y += $(PTHREAD_OBJ:.o=.oS) +libc-a-y += $(LIBC_LINUX_OBJ) +libc-so-y += $(LIBC_LINUX_OBJ:.o=.oS) + +libc-nomulti-y += $(LIBC_LINUX_OBJ) + +objclean-y += nptl_linux_objclean +headers_clean-y += nptl_linux_headers_clean # -# Special suffix rules. +# Create header files. # -LIBC_OBJ = $(patsubst %.c, $(linux_OUT)/%.o, $(libc_CSRC)) +CFLAGS-lowlevelbarrier.c = -S +CFLAGS-lowlevelcond.c = -S +CFLAGS-lowlevelrwlock.c = -S +CFLAGS-unwindbuf.c = -S + +$(PTHREAD_LINUX_OUT)/lowlevelbarrier.c: $(PTHREAD_LINUX_DIR)/lowlevelbarrier.sym + awk -f $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@ + +$(PTHREAD_LINUX_OUT)/lowlevelcond.c: $(PTHREAD_LINUX_DIR)/lowlevelcond.sym + awk -f $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@ + +$(PTHREAD_LINUX_OUT)/lowlevelrwlock.c: $(PTHREAD_LINUX_DIR)/lowlevelrwlock.sym + awk -f $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@ + +$(PTHREAD_LINUX_OUT)/unwindbuf.c: $(PTHREAD_LINUX_DIR)/unwindbuf.sym + awk -f $(top_srcdir)extra/scripts/gen-as-const.awk $< > $@ + +$(PTHREAD_LINUX_OUT)/lowlevelbarrier.s: $(PTHREAD_LINUX_OUT)/lowlevelbarrier.c + $(compile.c) + +$(PTHREAD_LINUX_OUT)/lowlevelcond.s: $(PTHREAD_LINUX_OUT)/lowlevelcond.c + $(compile.c) + +$(PTHREAD_LINUX_OUT)/lowlevelrwlock.s: $(PTHREAD_LINUX_OUT)/lowlevelrwlock.c + $(compile.c) + +$(PTHREAD_LINUX_OUT)/unwindbuf.s: $(PTHREAD_LINUX_OUT)/unwindbuf.c + $(compile.c) + +$(PTHREAD_LINUX_OUT)/lowlevelbarrier.h: $(PTHREAD_LINUX_OUT)/lowlevelbarrier.s + @sed -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@ + +$(PTHREAD_LINUX_OUT)/lowlevelcond.h: $(PTHREAD_LINUX_OUT)/lowlevelcond.s + @sed -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@ + +$(PTHREAD_LINUX_OUT)/lowlevelrwlock.h: $(PTHREAD_LINUX_OUT)/lowlevelrwlock.s + @sed -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@ + +$(PTHREAD_LINUX_OUT)/unwindbuf.h: $(PTHREAD_LINUX_OUT)/unwindbuf.s + @sed -n "s/^.*@@@name@@@\([^@]*\)@@@value@@@[^0-9Xxa-fA-F-]*\([0-9Xxa-fA-F-][0-9Xxa-fA-F-]*\).*@@@end@@@.*$\/#define \1 \2/p" $< > $@ +ptw-%.oS: + $(PTHREAD_LINUX_OUT)/sjh.sh $* > $(PTHREAD_LINUX_OUT)/tmp.S + $(compile.S) -x assembler-with-cpp tmp.S -libc-a-y += $(LIBC_OBJ) -libc-so-y += $(LIBC_OBJ:.o=.oS) +nptl_linux_headers: + $(MAKE) $(PTHREAD_LINUX_OUT)/lowlevelbarrier.h + $(MAKE) $(PTHREAD_LINUX_OUT)/lowlevelcond.h + $(MAKE) $(PTHREAD_LINUX_OUT)/lowlevelrwlock.h + $(MAKE) $(PTHREAD_LINUX_OUT)/unwindbuf.h + $(LN) -sf ../../$(PTHREAD_LINUX_DIR)/bits/local_lim.h $(top_builddir)include/bits -objclean-y += pthread_linux_objclean +nptl_linux_headers_clean: + $(RM) $(PTHREAD_LINUX_OUT)/lowlevelbarrier.{c,h,s} \ + $(RM) $(PTHREAD_LINUX_OUT)/lowlevelcond.{c,h,s} \ + $(RM) $(PTHREAD_LINUX_OUT)/lowlevelrwlock.{c,h,s} \ + $(RM) $(PTHREAD_LINUX_OUT)/unwindbuf.{c,h,s} -pthread_linux_objclean: - $(RM) $(linux_OUT)/*.{o,os,oS} +nptl_linux_objclean: + $(RM) $(PTHREAD_LINUX_OUT)/*.{o,os,oS} diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelbarrier.sym b/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelbarrier.sym new file mode 100644 index 000000000..36e28eb2a --- /dev/null +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelbarrier.sym @@ -0,0 +1,11 @@ +#include <stddef.h> +#include <sched.h> +#include <bits/pthreadtypes.h> +#include "internaltypes.h" + +-- + +CURR_EVENT offsetof (struct pthread_barrier, curr_event) +MUTEX offsetof (struct pthread_barrier, lock) +LEFT offsetof (struct pthread_barrier, left) +INIT_COUNT offsetof (struct pthread_barrier, init_count) diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelcond.sym b/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelcond.sym new file mode 100644 index 000000000..c5e797806 --- /dev/null +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelcond.sym @@ -0,0 +1,16 @@ +#include <stddef.h> +#include <sched.h> +#include <bits/pthreadtypes.h> +#include <internaltypes.h> + +-- + +cond_lock offsetof (pthread_cond_t, __data.__lock) +cond_futex offsetof (pthread_cond_t, __data.__futex) +cond_nwaiters offsetof (pthread_cond_t, __data.__nwaiters) +total_seq offsetof (pthread_cond_t, __data.__total_seq) +wakeup_seq offsetof (pthread_cond_t, __data.__wakeup_seq) +woken_seq offsetof (pthread_cond_t, __data.__woken_seq) +dep_mutex offsetof (pthread_cond_t, __data.__mutex) +broadcast_seq offsetof (pthread_cond_t, __data.__broadcast_seq) +clock_bits COND_CLOCK_BITS diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelrwlock.sym b/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelrwlock.sym new file mode 100644 index 000000000..e82c878d3 --- /dev/null +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevelrwlock.sym @@ -0,0 +1,14 @@ +#include <stddef.h> +#include <stdio.h> +#include <bits/pthreadtypes.h> + +-- + +MUTEX offsetof (pthread_rwlock_t, __data.__lock) +NR_READERS offsetof (pthread_rwlock_t, __data.__nr_readers) +READERS_WAKEUP offsetof (pthread_rwlock_t, __data.__readers_wakeup) +WRITERS_WAKEUP offsetof (pthread_rwlock_t, __data.__writer_wakeup) +READERS_QUEUED offsetof (pthread_rwlock_t, __data.__nr_readers_queued) +WRITERS_QUEUED offsetof (pthread_rwlock_t, __data.__nr_writers_queued) +FLAGS offsetof (pthread_rwlock_t, __data.__flags) +WRITER offsetof (pthread_rwlock_t, __data.__writer) diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/unwindbuf.sym b/libpthread/nptl/sysdeps/unix/sysv/linux/unwindbuf.sym new file mode 100644 index 000000000..8044b4078 --- /dev/null +++ b/libpthread/nptl/sysdeps/unix/sysv/linux/unwindbuf.sym @@ -0,0 +1,7 @@ +#include <pthread.h> +#include <stddef.h> + +-- + +UNWINDBUFSIZE sizeof (__pthread_unwind_buf_t) +UWJMPBUF offsetof (__pthread_unwind_buf_t, __cancel_jmp_buf) |