]> granicus.if.org Git - strace/commitdiff
Introduce libstrace.a for potentially conditional compilation units
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 4 Feb 2016 02:49:01 +0000 (02:49 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Tue, 9 Feb 2016 05:08:00 +0000 (05:08 +0000)
Some files are used conditionally depending on architecture and
configuration.  Create a library for the purpose of keeping such
compilation units.

* Makefile.am (strace_LDADD, noinst_LIBRARIES): Add libstrace.a.
(libstrace_a_CPPFLAGS): New variable, set to $(strace_CPPFLAGS).
(libstrace_a_CFLAGS): New variable, set to $(strace_CFLAGS).
(libstrace_a_SOURCES): New variable, set to upeek.c.
* util.c (upeek): Move ...
* upeek.c: ... here.

Makefile.am
upeek.c [new file with mode: 0644]
util.c

index 8cbd2c467c150870e3e1734abcaa9e5854d469f1..944a1f5e23634b790aa885271c5536ac2c1ebaae 100644 (file)
@@ -58,8 +58,14 @@ include xlat/Makemodule.am
 strace_CPPFLAGS = $(AM_CPPFLAGS)
 strace_CFLAGS = $(AM_CFLAGS)
 strace_LDFLAGS =
-strace_LDADD =
-noinst_LIBRARIES =
+strace_LDADD = libstrace.a
+noinst_LIBRARIES = libstrace.a
+
+libstrace_a_CPPFLAGS = $(strace_CPPFLAGS)
+libstrace_a_CFLAGS = $(strace_CFLAGS)
+libstrace_a_SOURCES =  \
+       upeek.c         \
+       # end of libstrace_a_SOURCES
 
 strace_SOURCES =       \
        access.c        \
diff --git a/upeek.c b/upeek.c
new file mode 100644 (file)
index 0000000..f4f20bb
--- /dev/null
+++ b/upeek.c
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 1991, 1992 Paul Kranenburg <pk@cs.few.eur.nl>
+ * Copyright (c) 1993 Branko Lankester <branko@hacktic.nl>
+ * Copyright (c) 1993, 1994, 1995, 1996 Rick Sladkey <jrs@world.std.com>
+ * Copyright (c) 1996-1999 Wichert Akkerman <wichert@cistron.nl>
+ * Copyright (c) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
+ *                     Linux for s390 port by D.J. Barrow
+ *                    <barrow_dj@mail.yahoo.com,djbarrow@de.ibm.com>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "defs.h"
+#include "ptrace.h"
+
+int
+upeek(int pid, long off, long *res)
+{
+       long val;
+
+       errno = 0;
+       val = ptrace(PTRACE_PEEKUSER, (pid_t)pid, (char *) off, 0);
+       if (val == -1 && errno) {
+               if (errno != ESRCH) {
+                       perror_msg("upeek: PTRACE_PEEKUSER pid:%d @0x%lx)", pid, off);
+               }
+               return -1;
+       }
+       *res = val;
+       return 0;
+}
diff --git a/util.c b/util.c
index f6e9149525fb21dc6a412d9faa4e3560692dffe9..1e5aecc1f4f72a9773fbb94df68cc86e062c0490 100644 (file)
--- a/util.c
+++ b/util.c
@@ -1335,20 +1335,3 @@ umovestr(struct tcb *tcp, long addr, unsigned int len, char *laddr)
        }
        return 0;
 }
-
-int
-upeek(int pid, long off, long *res)
-{
-       long val;
-
-       errno = 0;
-       val = ptrace(PTRACE_PEEKUSER, (pid_t)pid, (char *) off, 0);
-       if (val == -1 && errno) {
-               if (errno != ESRCH) {
-                       perror_msg("upeek: PTRACE_PEEKUSER pid:%d @0x%lx)", pid, off);
-               }
-               return -1;
-       }
-       *res = val;
-       return 0;
-}