summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libpthread/nptl_db/Makefile106
-rw-r--r--libpthread/nptl_db/td_symbol_list.c2
-rw-r--r--libpthread/nptl_db/td_ta_new.c4
-rw-r--r--libpthread/nptl_db/thread_dbP.h4
4 files changed, 55 insertions, 61 deletions
diff --git a/libpthread/nptl_db/Makefile b/libpthread/nptl_db/Makefile
index c1c4d6d8a..7fa3daa9a 100644
--- a/libpthread/nptl_db/Makefile
+++ b/libpthread/nptl_db/Makefile
@@ -1,63 +1,47 @@
-# Copyright (C) 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
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-
-# The GNU C Library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library; if not, write to the Free
-# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-# 02111-1307 USA.
-
-# Makefile for NPTL debug library subdirectory of GNU C Library.
-
-subdir := nptl_db
-
-nptl_db-version = 1.0
-
-extra-libs = libthread_db
-extra-libs-others := $(extra-libs)
-
-headers = thread_db.h
-
-libthread_db-routines = td_init td_log td_ta_new td_ta_delete \
- td_ta_get_nthreads td_ta_get_ph \
- td_ta_map_id2thr td_ta_map_lwp2thr \
- td_ta_thr_iter td_ta_tsd_iter \
- td_thr_get_info td_thr_getfpregs td_thr_getgregs \
- td_thr_getxregs td_thr_getxregsize td_thr_setfpregs \
- td_thr_setgregs td_thr_setprio td_thr_setsigpending \
- td_thr_setxregs td_thr_sigsetmask td_thr_tsd \
- td_thr_validate td_thr_dbsuspend td_thr_dbresume \
- td_ta_setconcurrency td_ta_enable_stats \
- td_ta_reset_stats td_ta_get_stats td_ta_event_addr \
- td_thr_event_enable td_thr_set_event \
- td_thr_clear_event td_thr_event_getmsg \
- td_ta_set_event td_ta_event_getmsg \
- td_ta_clear_event td_symbol_list \
- td_thr_tlsbase td_thr_tls_get_addr \
- fetch-value
-
-libthread_db-inhibit-o = $(filter-out .os,$(object-suffixes))
-
-# The ps_* callback functions are not defined.
-libthread_db.so-no-z-defs = yes
-
-distribute = thread_dbP.h shlib-versions proc_service.h db_info.c structs.def
-#include ../Rules
-
-# Depend on libc.so so a DT_NEEDED is generated in the shared objects.
-# This ensures they will load libc.so for needed symbols if loaded by
-# a statically-linked program that hasn't already loaded it.
-$(objpfx)libthread_db.so: $(common-objpfx)libc.so \
- $(common-objpfx)libc_nonshared.a
+# Makefile for uClibc's NPTL pthread debug library
+#
+# Copyright (C) 2005 Steven J. Hill <sjhill@realitydiluted.com>
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU Library General Public License as published by the Free
+# Software Foundation; either version 2 of the License, or (at your option) any
+# later version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Library General Public License
+# along with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+# Makefile for uClibc
+
+TOPDIR=../../
+include $(TOPDIR)Rules.mak
+
+LIBTHREAD_DB=../libthread_db.a
+
+CFLAGS := $(CFLAGS:-O0=-O2) -DNOT_IN_libc=1 -DIS_IN_libthread_db=1 \
+ -std=gnu99 -DLIBPTHREAD_SO="\"libpthread.so.$(MAJOR_VERSION)\""
+
+CFLAGS += -I$(PTDIR)compat \
+ -I$(PTDIR)sysdeps/unix/sysv/linux/$(TARGET_ARCH) \
+ -I$(PTDIR)sysdeps/$(TARGET_ARCH) \
+ -I$(PTDIR)sysdeps/unix/sysv/linux \
+ -I$(PTDIR)sysdeps/pthread \
+ -I$(PTDIR)sysdeps/generic
+
+OBJS=$(patsubst %.c, %.o, $(filter-out db_info.c, $(wildcard *.c)))
+
+all: $(LIBTHREAD_DB)
+
+$(LIBTHREAD_DB) ar-target: $(OBJS)
+ $(AR) $(ARFLAGS) $(LIBTHREAD_DB) $(OBJS)
+
+$(OBJS): %.o : %.c
+ $(CC) $(CFLAGS) -c $< -o $@
+ $(STRIPTOOL) -x -R .note -R .comment $*.o
clean:
- $(RM) *~ *.[ao]
+ $(RM) *.[oa] *~ core
diff --git a/libpthread/nptl_db/td_symbol_list.c b/libpthread/nptl_db/td_symbol_list.c
index 5d6c94e5b..04aed6787 100644
--- a/libpthread/nptl_db/td_symbol_list.c
+++ b/libpthread/nptl_db/td_symbol_list.c
@@ -19,7 +19,9 @@
02111-1307 USA. */
#include <assert.h>
+#ifndef __UCLIBC__
#include <gnu/lib-names.h>
+#endif
#include "thread_dbP.h"
diff --git a/libpthread/nptl_db/td_ta_new.c b/libpthread/nptl_db/td_ta_new.c
index f84049af3..152c27b5e 100644
--- a/libpthread/nptl_db/td_ta_new.c
+++ b/libpthread/nptl_db/td_ta_new.c
@@ -21,7 +21,11 @@
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
+#ifdef __UCLIBC__
+#include <../nptl/version.h>
+#else
#include <version.h>
+#endif
#include "thread_dbP.h"
diff --git a/libpthread/nptl_db/thread_dbP.h b/libpthread/nptl_db/thread_dbP.h
index c53d1ed94..c3d263b0c 100644
--- a/libpthread/nptl_db/thread_dbP.h
+++ b/libpthread/nptl_db/thread_dbP.h
@@ -30,6 +30,10 @@
#include "thread_db.h"
#include "../nptl/pthreadP.h" /* This is for *_BITMASK only. */
+#ifdef __UCLIBC__
+#define __alloca alloca
+#endif
+
/* Indeces for the symbol names. */
enum
{