1# Copyright (C) 2002-2021 Free Software Foundation, Inc.
2# This file is part of the GNU C Library.
3
4# The GNU C Library is free software; you can redistribute it and/or
5# modify it under the terms of the GNU Lesser General Public
6# License as published by the Free Software Foundation; either
7# version 2.1 of the License, or (at your option) any later version.
8
9# The GNU C Library is distributed in the hope that it will be useful,
10# but WITHOUT ANY WARRANTY; without even the implied warranty of
11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12# Lesser General Public License for more details.
13
14# You should have received a copy of the GNU Lesser General Public
15# License along with the GNU C Library; if not, see
16# <https://www.gnu.org/licenses/>.
17
18# Makefile for NPTL debug library subdirectory of GNU C Library.
19
20subdir          := nptl_db
21
22include ../Makeconfig
23
24extra-libs = libthread_db
25extra-libs-others := $(extra-libs)
26
27headers         = proc_service.h thread_db.h sys/procfs.h
28
29libthread_db-routines = td_init td_log td_ta_new td_ta_delete \
30			td_ta_get_nthreads td_ta_get_ph \
31			td_ta_map_id2thr td_ta_map_lwp2thr \
32			td_ta_thr_iter td_ta_tsd_iter \
33			td_thr_get_info td_thr_getfpregs td_thr_getgregs \
34			td_thr_getxregs td_thr_getxregsize td_thr_setfpregs \
35			td_thr_setgregs td_thr_setprio td_thr_setsigpending \
36			td_thr_setxregs td_thr_sigsetmask td_thr_tsd \
37			td_thr_validate td_thr_dbsuspend td_thr_dbresume \
38			td_ta_setconcurrency td_ta_enable_stats \
39			td_ta_reset_stats td_ta_get_stats td_ta_event_addr \
40			td_thr_event_enable td_thr_set_event \
41			td_thr_clear_event td_thr_event_getmsg \
42			td_ta_set_event td_ta_event_getmsg \
43			td_ta_clear_event td_symbol_list \
44			td_thr_tlsbase td_thr_tls_get_addr \
45			fetch-value
46
47libthread_db-inhibit-o = $(filter-out .os,$(object-suffixes))
48
49# The ps_* callback functions are not defined.
50libthread_db.so-no-z-defs = yes
51
52tests-special += $(objpfx)db-symbols.out
53
54include ../Rules
55
56$(objpfx)db-symbols.out: $(objpfx)db-symbols.v.i \
57			 $(objpfx)libc.symlist-private
58	LC_ALL=C $(AWK) -f $^ > $@; \
59	$(evaluate-test)
60
61$(objpfx)db-symbols.v.i: db-symbols.awk
62
63$(objpfx)libc.symlist-private: $(..)scripts/abilist.awk \
64  $(common-objpfx)libc.dynsym
65	LC_ALL=C $(AWK) -v include_private=1 -f $^ > $@T
66	mv -f $@T $@
67