# HG changeset patch # User Gordon Ross # Date 1309484392 14400 # Node ID 9f43d870d174cd3f10d9bf764b02ac71af8b5a5f # Parent 96340372b72d9c3f6acec898279264796c269b81 1168 want a libtermcap that does not force libcurses diff -r 96340372b72d -r 9f43d870d174 usr/src/lib/libcurses/Makefile.com --- a/usr/src/lib/libcurses/Makefile.com Thu Jun 30 17:58:05 2011 -0400 +++ b/usr/src/lib/libcurses/Makefile.com Thu Jun 30 21:39:52 2011 -0400 @@ -19,11 +19,10 @@ # CDDL HEADER END # # +# Copyright 2011 Nexenta Systems, Inc. All rights reserved. # Copyright 2006 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # -# ident "%Z%%M% %I% %E% SMI" -# LIBRARY= libcurses.a VERS= .1 @@ -178,41 +177,33 @@ $(ROOTLIBDIR)/%.a: %.a $(INS.file) cd $(ROOTLIBDIR); \ - $(RM) libtermlib.a libtermcap.a; \ - ln libcurses.a libtermlib.a; \ - ln libcurses.a libtermcap.a; + $(RM) libtermlib.a; \ + ln libcurses.a libtermlib.a; # install rules for 32-bit libcurses.so in /usr/lib $(ROOTLINKS) := INS.liblink= \ $(RM) $@; $(SYMLINK) $(LIBLINKPATH)$(LIBLINKS)$(VERS) $@; \ cd $(ROOTLIBDIR); \ - $(RM) libtermlib.so$(VERS) libtermcap.so$(VERS); \ - $(RM) libtermlib.so libtermcap.so; \ + $(RM) libtermlib.so libtermlib.so$(VERS); \ $(SYMLINK) libcurses.so$(VERS) libtermlib.so$(VERS); \ - $(SYMLINK) libcurses.so$(VERS) libtermcap.so$(VERS); \ - $(SYMLINK) libtermlib.so$(VERS) libtermlib.so; \ - $(SYMLINK) libtermcap.so$(VERS) libtermcap.so; + $(SYMLINK) libtermlib.so$(VERS) libtermlib.so; # install rule for lint library target $(ROOTLINTDIR)/%: ../screen/% $(INS.file) cd $(ROOTLINTDIR); \ - $(RM) llib-ltermcap llib-ltermlib ; \ - $(SYMLINK) ./llib-lcurses llib-ltermcap; \ + $(RM) llib-ltermlib ; \ $(SYMLINK) ./llib-lcurses llib-ltermlib; \ - $(RM) llib-ltermcap.ln llib-ltermlib.ln ; \ - $(SYMLINK) ./llib-lcurses.ln llib-ltermcap.ln; \ + $(RM) llib-ltermlib.ln ; \ $(SYMLINK) ./llib-lcurses.ln llib-ltermlib.ln; # install rule for 64 bit lint library target $(ROOTLINTDIR64)/%: ../screen/% $(INS.file) cd $(ROOTLINTDIR64); \ - $(RM) llib-ltermcap llib-ltermlib ; \ - $(SYMLINK) ./llib-lcurses llib-ltermcap; \ + $(RM) llib-ltermlib ; \ $(SYMLINK) ./llib-lcurses llib-ltermlib; \ - $(RM) llib-ltermcap.ln llib-ltermlib.ln ; \ - $(SYMLINK) ./llib-lcurses.ln llib-ltermcap.ln; \ + $(RM) llib-ltermlib.ln ; \ $(SYMLINK) ./llib-lcurses.ln llib-ltermlib.ln; # diff -r 96340372b72d -r 9f43d870d174 usr/src/lib/libtermcap/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usr/src/lib/libtermcap/Makefile Thu Jun 30 21:39:52 2011 -0400 @@ -0,0 +1,44 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# +# Copyright 2011 Nexenta Systems, Inc. All rights reserved. +# + + +include ../Makefile.lib + +HDRS = termcap.h +HDRDIR= common +SUBDIRS= $(MACH) +$(BUILD64)SUBDIRS += $(MACH64) + +all := TARGET= all +clean := TARGET= clean +clobber := TARGET= clobber +install := TARGET= install + +.KEEP_STATE: + +all clean clobber install: $(SUBDIRS) + +lint: + +install_h: $(ROOTHDRS) + +check: $(CHECKHDRS) + +$(SUBDIRS): FRC + @cd $@; pwd; $(MAKE) $(TARGET) + +FRC: + +include ../Makefile.targ diff -r 96340372b72d -r 9f43d870d174 usr/src/lib/libtermcap/Makefile.com --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usr/src/lib/libtermcap/Makefile.com Thu Jun 30 21:39:52 2011 -0400 @@ -0,0 +1,23 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# +# Copyright 2011 Nexenta Systems, Inc. All rights reserved. +# + +# install this library in the root filesystem +include ../../Makefile.rootfs + +LIBRARY = libtermcap.a +VERS = .1 +LIBS += $(LINTLIB) + +DYNFLAGS += $(ZLOADFLTR) diff -r 96340372b72d -r 9f43d870d174 usr/src/lib/libtermcap/amd64/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usr/src/lib/libtermcap/amd64/Makefile Thu Jun 30 21:39:52 2011 -0400 @@ -0,0 +1,22 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# +# Copyright 2011 Nexenta Systems, Inc. All rights reserved. +# + +include $(SRC)/lib/Makefile.filter.com +include ../Makefile.com +include $(SRC)/lib/Makefile.lib.64 + +install: all $(ROOTLIBDIR64) .WAIT $(ROOTLIBS64) $(ROOTLINKS64) + +include $(SRC)/lib/Makefile.filter.targ diff -r 96340372b72d -r 9f43d870d174 usr/src/lib/libtermcap/common/llib-ltermcap --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usr/src/lib/libtermcap/common/llib-ltermcap Thu Jun 30 21:39:52 2011 -0400 @@ -0,0 +1,16 @@ +/* + * This file and its contents are supplied under the terms of the + * Common Development and Distribution License ("CDDL"), version 1.0. + * You may only use this file in accordance with the terms of version + * 1.0 of the CDDL. + * + * A full copy of the text of the CDDL should have accompanied this + * source. A copy of the CDDL is also available via the Internet at + * http://www.illumos.org/license/CDDL. + */ + +/* + * Copyright 2011 Nexenta Systems, Inc. All rights reserved. + */ + +#include diff -r 96340372b72d -r 9f43d870d174 usr/src/lib/libtermcap/common/mapfile-vers --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usr/src/lib/libtermcap/common/mapfile-vers Thu Jun 30 21:39:52 2011 -0400 @@ -0,0 +1,65 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# +# Copyright 2011 Nexenta Systems, Inc. All rights reserved. +# + +# +# MAPFILE HEADER START +# +# WARNING: STOP NOW. DO NOT MODIFY THIS FILE. +# Object versioning must comply with the rules detailed in +# +# usr/src/lib/README.mapfiles +# +# You should not be making modifications here until you've read the most current +# copy of that file. If you need help, contact a gatekeeper for guidance. +# +# MAPFILE HEADER END +# + +$mapfile_version 2 + +# +# This is a mapfile that defines a filter for libcurses so that +# libraries such as libreadline can link with this and NOT force +# the choice of which curses library will be used. The NODIRECT +# flag lets other libraries earlier in the link order provide the +# symbols below, in which case those will be used by all calls +# to these functions _instead_ of the libcurses ones. Cool, eh? +# + +SYMBOL_VERSION ILLUMOS_0.1 { + global: + + BC { TYPE = DATA; FLAGS = NODIRECT; + FILTER = libcurses.so.1; }; + PC { TYPE = DATA; FLAGS = NODIRECT; + FILTER = libcurses.so.1; }; + UP { TYPE = DATA; FLAGS = NODIRECT; + FILTER = libcurses.so.1; }; + ospeed { TYPE = DATA; FLAGS = NODIRECT; + FILTER = libcurses.so.1; }; + + tgetent { TYPE = FUNCTION; FLAGS = NODIRECT; + FILTER = libcurses.so.1; }; + tgetflag { TYPE = FUNCTION; FLAGS = NODIRECT; + FILTER = libcurses.so.1 }; + tgetnum { TYPE = FUNCTION; FLAGS = NODIRECT; + FILTER = libcurses.so.1 }; + tgetstr { TYPE = FUNCTION; FLAGS = NODIRECT; + FILTER = libcurses.so.1 }; + tgoto { TYPE = FUNCTION; FLAGS = NODIRECT; + FILTER = libcurses.so.1 }; + tputs { TYPE = FUNCTION; FLAGS = NODIRECT; + FILTER = libcurses.so.1 }; +}; diff -r 96340372b72d -r 9f43d870d174 usr/src/lib/libtermcap/common/termcap.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usr/src/lib/libtermcap/common/termcap.h Thu Jun 30 21:39:52 2011 -0400 @@ -0,0 +1,43 @@ +/* + * This file and its contents are supplied under the terms of the + * Common Development and Distribution License ("CDDL"), version 1.0. + * You may only use this file in accordance with the terms of version + * 1.0 of the CDDL. + * + * A full copy of the text of the CDDL should have accompanied this + * source. A copy of the CDDL is also available via the Internet at + * http://www.illumos.org/license/CDDL. + */ + +/* + * Copyright 2011 Nexenta Systems, Inc. All rights reserved. + */ + +#ifndef _TERMCAP_H_ +#define _TERMCAP_H_ + +/* + * This declares the public functions exported by the + * "filter" library: libtermcap. These include only + * the traditional BSD-style functions and data. + */ + +#ifdef __cplusplus +extern "C" { +#endif + +extern char PC, *UP, *BC; +extern short ospeed; + +extern int tgetent(char *, const char *); +extern int tgetflag(const char *); +extern int tgetnum(const char *); +extern char *tgetstr(const char *, char **); +extern char *tgoto(const char *, int, int); +extern int tputs(const char *, int, int (*)(int)); + +#ifdef __cplusplus +} +#endif + +#endif /* _TERMCAP_H_ */ diff -r 96340372b72d -r 9f43d870d174 usr/src/lib/libtermcap/i386/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usr/src/lib/libtermcap/i386/Makefile Thu Jun 30 21:39:52 2011 -0400 @@ -0,0 +1,21 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# +# Copyright 2011 Nexenta Systems, Inc. All rights reserved. +# + +include $(SRC)/lib/Makefile.filter.com +include ../Makefile.com + +install: all $(ROOTLIBDIR) .WAIT $(ROOTLIBS) $(ROOTLINKS) + +include $(SRC)/lib/Makefile.filter.targ diff -r 96340372b72d -r 9f43d870d174 usr/src/lib/libtermcap/sparc/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usr/src/lib/libtermcap/sparc/Makefile Thu Jun 30 21:39:52 2011 -0400 @@ -0,0 +1,21 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# +# Copyright 2011 Nexenta Systems, Inc. All rights reserved. +# + +include $(SRC)/lib/Makefile.filter.com +include ../Makefile.com + +install: all $(ROOTLIBDIR) .WAIT $(ROOTLIBS) $(ROOTLINKS) + +include $(SRC)/lib/Makefile.filter.targ diff -r 96340372b72d -r 9f43d870d174 usr/src/lib/libtermcap/sparcv9/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/usr/src/lib/libtermcap/sparcv9/Makefile Thu Jun 30 21:39:52 2011 -0400 @@ -0,0 +1,22 @@ +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy of the CDDL is also available via the Internet at +# http://www.illumos.org/license/CDDL. +# + +# +# Copyright 2011 Nexenta Systems, Inc. All rights reserved. +# + +include $(SRC)/lib/Makefile.filter.com +include ../Makefile.com +include $(SRC)/lib/Makefile.lib.64 + +install: all $(ROOTLIBDIR64) .WAIT $(ROOTLIBS64) $(ROOTLINKS64) + +include $(SRC)/lib/Makefile.filter.targ diff -r 96340372b72d -r 9f43d870d174 usr/src/man/man3lib/libcurses.3lib --- a/usr/src/man/man3lib/libcurses.3lib Thu Jun 30 17:58:05 2011 -0400 +++ b/usr/src/man/man3lib/libcurses.3lib Thu Jun 30 21:39:52 2011 -0400 @@ -1,8 +1,22 @@ '\" te +.\" Copyright 2011 Nexenta Systems, Inc. All rights reserved. .\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved. -.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. -.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License. -.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner] +.\" +.\" The contents of this file are subject to the terms of the +.\" Common Development and Distribution License (the "License"). +.\" You may not use this file except in compliance with the License. +.\" +.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +.\" or http://www.opensolaris.org/os/licensing. +.\" See the License for the specific language governing permissions +.\" and limitations under the License. +.\" +.\" When distributing Covered Code, include this CDDL HEADER in each +.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. +.\" If applicable, add the following below this CDDL HEADER, with the +.\" fields enclosed by brackets "[]" replaced with your own identifying +.\" information: Portions Copyright [yyyy] [name of copyright owner] +.\" .TH libcurses 3LIB "24 Mar 2004" "SunOS 5.11" "Interface Libraries" .SH NAME libcurses, libtermcap, libtermlib \- screen handling and optimization library @@ -15,10 +29,16 @@ .SH DESCRIPTION .sp .LP -Functions in the \fBlibcurses\fR library provide a terminal-independent method -of updating character screens with reasonable optimization. The -\fBlibtermcap\fR and \fBlibtermlib\fR libraries are identical to -\fBlibcurses\fR and are maintained for backward compatibility. +Functions in the \fBlibcurses\fR library provide a terminal-independent +method of updating character screens with reasonable optimization. +.LP +The \fBlibtermcap\fR library is a "filter" on \fBlibcurses\fR +that provides the traditional BSD-style termcap functions, +and does so in a way that allows the consuming library or +application to link with an alternate curses library. +.LP +The \fBlibtermlib\fR library is identical to \fBlibcurses\fR and +is maintained for backward compatibility. .sp .LP See \fBlibcurses\fR(3XCURSES) for information about the curses library that @@ -26,12 +46,11 @@ .SH INTERFACES .sp .LP -The shared objects \fBlibcurses.so.1\fR, \fBlibtermcap.so.1\fR, and +The shared objects \fBlibcurses.so.1\fR and \fBlibtermlib.so.1\fR provide the public interfaces defined below. See \fBIntro\fR(3) for additional information on shared object interfaces. .sp -.sp .TS tab(); lw(2.75i) lw(2.75i) @@ -215,6 +234,24 @@ \fBwvline\fR .TE +.LP +The shared object \fBlibtermcap.so.1\fR provides the traditional +BSD-style interfaces defined below: +.sp + +.TS +tab(); +lw(2.75i) lw(2.75i) +lw(2.75i) lw(2.75i) +. +\fBtgetent\fR +\fBtgetflag\fR +\fBtgetnum\fR +\fBtgetstr\fR +\fBtgoto\fR +\fBtputs\fR +.TE + .SH FILES .sp .ne 2 diff -r 96340372b72d -r 9f43d870d174 usr/src/pkg/manifests/system-header.mf --- a/usr/src/pkg/manifests/system-header.mf Thu Jun 30 17:58:05 2011 -0400 +++ b/usr/src/pkg/manifests/system-header.mf Thu Jun 30 21:39:52 2011 -0400 @@ -20,6 +20,7 @@ # # +# Copyright 2011 Nexenta Systems, Inc. All rights reserved. # Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. # @@ -1615,6 +1616,7 @@ file path=usr/include/tar.h file path=usr/include/tcpd.h file path=usr/include/term.h +file path=usr/include/termcap.h file path=usr/include/termio.h file path=usr/include/termios.h file path=usr/include/thread.h diff -r 96340372b72d -r 9f43d870d174 usr/src/pkg/manifests/system-library.mf --- a/usr/src/pkg/manifests/system-library.mf Thu Jun 30 17:58:05 2011 -0400 +++ b/usr/src/pkg/manifests/system-library.mf Thu Jun 30 21:39:52 2011 -0400 @@ -20,6 +20,7 @@ # # +# Copyright 2011 Nexenta Systems, Inc. All rights reserved. # Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. # @@ -214,6 +215,7 @@ file path=lib/$(ARCH64)/libsendfile.so.1 file path=lib/$(ARCH64)/libsocket.so.1 file path=lib/$(ARCH64)/libsysevent.so.1 +file path=lib/$(ARCH64)/libtermcap.so.1 file path=lib/$(ARCH64)/libthread.so.1 file path=lib/$(ARCH64)/libtsnet.so.1 file path=lib/$(ARCH64)/libtsol.so.2 @@ -296,6 +298,7 @@ file path=lib/libsendfile.so.1 file path=lib/libsocket.so.1 file path=lib/libsysevent.so.1 +file path=lib/libtermcap.so.1 file path=lib/libthread.so.1 file path=lib/libtsnet.so.1 file path=lib/libtsol.so.2 @@ -624,7 +627,6 @@ link path=lib/$(ARCH64)/libsocket.so target=libsocket.so.1 link path=lib/$(ARCH64)/libsysevent.so target=libsysevent.so.1 link path=lib/$(ARCH64)/libtermcap.so target=libtermcap.so.1 -link path=lib/$(ARCH64)/libtermcap.so.1 target=libcurses.so.1 link path=lib/$(ARCH64)/libtermlib.so target=libtermlib.so.1 link path=lib/$(ARCH64)/libtermlib.so.1 target=libcurses.so.1 link path=lib/$(ARCH64)/libthread.so target=libthread.so.1 @@ -690,7 +692,6 @@ link path=lib/libsocket.so target=libsocket.so.1 link path=lib/libsysevent.so target=./libsysevent.so.1 link path=lib/libtermcap.so target=libtermcap.so.1 -link path=lib/libtermcap.so.1 target=libcurses.so.1 link path=lib/libtermlib.so target=libtermlib.so.1 link path=lib/libtermlib.so.1 target=libcurses.so.1 link path=lib/libthread.so target=libthread.so.1 @@ -718,7 +719,7 @@ link path=usr/ccs/lib/$(ARCH64)/libpanel.so \ target=../../../lib/$(ARCH64)/libpanel.so.1 link path=usr/ccs/lib/$(ARCH64)/libtermcap.so \ - target=../../../../lib/$(ARCH64)/libcurses.so.1 + target=../../../../lib/$(ARCH64)/libtermcap.so.1 link path=usr/ccs/lib/$(ARCH64)/libtermlib.so \ target=../../../../lib/$(ARCH64)/libcurses.so.1 link path=usr/ccs/lib/$(ARCH64)/liby.so \ @@ -730,7 +731,7 @@ link path=usr/ccs/lib/libmalloc.so target=../../lib/libmalloc.so.1 link path=usr/ccs/lib/libmenu.so target=../../lib/libmenu.so.1 link path=usr/ccs/lib/libpanel.so target=../../lib/libpanel.so.1 -link path=usr/ccs/lib/libtermcap.so target=../../../lib/libcurses.so.1 +link path=usr/ccs/lib/libtermcap.so target=../../../lib/libtermcap.so.1 link path=usr/ccs/lib/libtermlib.so target=../../../lib/libcurses.so.1 link path=usr/ccs/lib/liby.so target=../../lib/liby.so.1 link path=usr/lib/$(ARCH64)/libadm.so \ @@ -940,9 +941,9 @@ link path=usr/lib/$(ARCH64)/libsysevent.so.1 \ target=../../../lib/$(ARCH64)/libsysevent.so.1 link path=usr/lib/$(ARCH64)/libtermcap.so \ - target=../../../lib/$(ARCH64)/libcurses.so.1 + target=../../../lib/$(ARCH64)/libtermcap.so.1 link path=usr/lib/$(ARCH64)/libtermcap.so.1 \ - target=../../../lib/$(ARCH64)/libcurses.so.1 + target=../../../lib/$(ARCH64)/libtermcap.so.1 link path=usr/lib/$(ARCH64)/libtermlib.so \ target=../../../lib/$(ARCH64)/libcurses.so.1 link path=usr/lib/$(ARCH64)/libtermlib.so.1 \ @@ -1139,8 +1140,8 @@ link path=usr/lib/libsys.so target=./libsys.so.1 link path=usr/lib/libsysevent.so target=../../lib/libsysevent.so.1 link path=usr/lib/libsysevent.so.1 target=../../lib/libsysevent.so.1 -link path=usr/lib/libtermcap.so target=../../lib/libcurses.so.1 -link path=usr/lib/libtermcap.so.1 target=../../lib/libcurses.so.1 +link path=usr/lib/libtermcap.so target=../../lib/libtermcap.so.1 +link path=usr/lib/libtermcap.so.1 target=../../lib/libtermcap.so.1 link path=usr/lib/libtermlib.so target=../../lib/libcurses.so.1 link path=usr/lib/libtermlib.so.1 target=../../lib/libcurses.so.1 link path=usr/lib/libthread.so target=../../lib/libthread.so.1