From: Michael Jeanson Date: Fri, 9 Apr 2021 18:22:45 +0000 (-0400) Subject: Move liblttng-ust-fd to 'src/lib/' X-Git-Tag: v2.13.0-rc1~137 X-Git-Url: http://git.liburcu.org/?a=commitdiff_plain;h=4889a38dc8ef0267541a8f98e431bc9fd92eeb1f;hp=18a76df9471a85f29dcf1ed4dbce5e1db5e6e675;p=lttng-ust.git Move liblttng-ust-fd to 'src/lib/' Move all public libraries under 'src/lib/'. This is part of an effort to standardize our autotools setup across projects to simplify maintenance. Change-Id: I11fffd79c7f74ab602b115be94dfa28937e6ff2d Signed-off-by: Michael Jeanson Signed-off-by: Mathieu Desnoyers --- diff --git a/.gitignore b/.gitignore index 714646dd..098b2277 100644 --- a/.gitignore +++ b/.gitignore @@ -130,7 +130,7 @@ cscope.* /src/liblttng-ust-ctl/Makefile /src/lib/lttng-ust-cyg-profile/Makefile /src/liblttng-ust-dl/Makefile -/src/liblttng-ust-fd/Makefile +/src/lib/lttng-ust-fd/Makefile /src/lib/lttng-ust-fork/Makefile /src/liblttng-ust-java-agent/Makefile /src/liblttng-ust-java-agent/java/Makefile diff --git a/configure.ac b/configure.ac index 7c2dd902..a75b323e 100644 --- a/configure.ac +++ b/configure.ac @@ -524,7 +524,7 @@ AC_CONFIG_FILES([ src/liblttng-ust-ctl/Makefile src/lib/lttng-ust-cyg-profile/Makefile src/liblttng-ust-dl/Makefile - src/liblttng-ust-fd/Makefile + src/lib/lttng-ust-fd/Makefile src/lib/lttng-ust-fork/Makefile src/liblttng-ust-java-agent/java/lttng-ust-agent-all/Makefile src/liblttng-ust-java-agent/java/lttng-ust-agent-common/Makefile diff --git a/src/Makefile.am b/src/Makefile.am index 33f9ed14..86480840 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -7,8 +7,7 @@ SUBDIRS = \ libcounter \ liblttng-ust \ liblttng-ust-ctl \ - lib \ - liblttng-ust-fd + lib if ENABLE_UST_DL SUBDIRS += liblttng-ust-dl diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am index bbaf9a01..0803fc00 100644 --- a/src/lib/Makefile.am +++ b/src/lib/Makefile.am @@ -1,6 +1,7 @@ # SPDX-License-Identifier: LGPL-2.1-only SUBDIRS = \ + lttng-ust-fd \ lttng-ust-fork \ lttng-ust-cyg-profile \ lttng-ust-libc-wrapper diff --git a/src/lib/lttng-ust-fd/Makefile.am b/src/lib/lttng-ust-fd/Makefile.am new file mode 100644 index 00000000..6571b112 --- /dev/null +++ b/src/lib/lttng-ust-fd/Makefile.am @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: LGPL-2.1-only + +AM_CFLAGS += -fno-strict-aliasing + +lib_LTLIBRARIES = liblttng-ust-fd.la +liblttng_ust_fd_la_SOURCES = \ + lttng-ust-fd.c + +liblttng_ust_fd_la_LIBADD = \ + $(top_builddir)/src/liblttng-ust/liblttng-ust.la \ + $(DL_LIBS) + +liblttng_ust_fd_la_LDFLAGS = -version-info $(LTTNG_UST_LIBRARY_VERSION) diff --git a/src/lib/lttng-ust-fd/lttng-ust-fd.c b/src/lib/lttng-ust-fd/lttng-ust-fd.c new file mode 100644 index 00000000..5efc0acd --- /dev/null +++ b/src/lib/lttng-ust-fd/lttng-ust-fd.c @@ -0,0 +1,76 @@ +/* + * SPDX-License-Identifier: LGPL-2.1-only + * + * Copyright (C) 2016 Mathieu Desnoyers + */ + +#define _LGPL_SOURCE +#include +#include +#include +#include +#include "common/ust-fd.h" +#include + +#include "common/macros.h" + +static int (*__lttng_ust_fd_plibc_close)(int fd); +static int (*__lttng_ust_fd_plibc_fclose)(FILE *stream); + +static +int _lttng_ust_fd_libc_close(int fd) +{ + if (!__lttng_ust_fd_plibc_close) { + __lttng_ust_fd_plibc_close = dlsym(RTLD_NEXT, "close"); + if (!__lttng_ust_fd_plibc_close) { + fprintf(stderr, "%s\n", dlerror()); + return -1; + } + } + return lttng_ust_safe_close_fd(fd, __lttng_ust_fd_plibc_close); +} + +static +int _lttng_ust_fd_libc_fclose(FILE *stream) +{ + if (!__lttng_ust_fd_plibc_fclose) { + __lttng_ust_fd_plibc_fclose = dlsym(RTLD_NEXT, "fclose"); + if (!__lttng_ust_fd_plibc_fclose) { + fprintf(stderr, "%s\n", dlerror()); + return -1; + } + } + return lttng_ust_safe_fclose_stream(stream, + __lttng_ust_fd_plibc_fclose); +} + +int close(int fd) +{ + return _lttng_ust_fd_libc_close(fd); +} + +/* + * Note: fcloseall() is not an issue because it fcloses only the + * streams it knows about, which differs from the problems caused by + * gnulib close_stdout(), which does an explicit fclose(stdout). + */ +int fclose(FILE *stream) +{ + return _lttng_ust_fd_libc_fclose(stream); +} + +#if defined(__sun__) || defined(__FreeBSD__) +/* Solaris and FreeBSD. */ +void closefrom(int lowfd) +{ + (void) lttng_ust_safe_closefrom_fd(lowfd, __lttng_ust_fd_plibc_close); +} +#elif defined(__NetBSD__) || defined(__OpenBSD__) +/* NetBSD and OpenBSD. */ +int closefrom(int lowfd) +{ + return lttng_ust_safe_closefrom_fd(lowfd, __lttng_ust_fd_plibc_close); +} +#else +/* As far as we know, this OS does not implement closefrom. */ +#endif diff --git a/src/liblttng-ust-fd/Makefile.am b/src/liblttng-ust-fd/Makefile.am deleted file mode 100644 index 6571b112..00000000 --- a/src/liblttng-ust-fd/Makefile.am +++ /dev/null @@ -1,13 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-only - -AM_CFLAGS += -fno-strict-aliasing - -lib_LTLIBRARIES = liblttng-ust-fd.la -liblttng_ust_fd_la_SOURCES = \ - lttng-ust-fd.c - -liblttng_ust_fd_la_LIBADD = \ - $(top_builddir)/src/liblttng-ust/liblttng-ust.la \ - $(DL_LIBS) - -liblttng_ust_fd_la_LDFLAGS = -version-info $(LTTNG_UST_LIBRARY_VERSION) diff --git a/src/liblttng-ust-fd/lttng-ust-fd.c b/src/liblttng-ust-fd/lttng-ust-fd.c deleted file mode 100644 index 5efc0acd..00000000 --- a/src/liblttng-ust-fd/lttng-ust-fd.c +++ /dev/null @@ -1,76 +0,0 @@ -/* - * SPDX-License-Identifier: LGPL-2.1-only - * - * Copyright (C) 2016 Mathieu Desnoyers - */ - -#define _LGPL_SOURCE -#include -#include -#include -#include -#include "common/ust-fd.h" -#include - -#include "common/macros.h" - -static int (*__lttng_ust_fd_plibc_close)(int fd); -static int (*__lttng_ust_fd_plibc_fclose)(FILE *stream); - -static -int _lttng_ust_fd_libc_close(int fd) -{ - if (!__lttng_ust_fd_plibc_close) { - __lttng_ust_fd_plibc_close = dlsym(RTLD_NEXT, "close"); - if (!__lttng_ust_fd_plibc_close) { - fprintf(stderr, "%s\n", dlerror()); - return -1; - } - } - return lttng_ust_safe_close_fd(fd, __lttng_ust_fd_plibc_close); -} - -static -int _lttng_ust_fd_libc_fclose(FILE *stream) -{ - if (!__lttng_ust_fd_plibc_fclose) { - __lttng_ust_fd_plibc_fclose = dlsym(RTLD_NEXT, "fclose"); - if (!__lttng_ust_fd_plibc_fclose) { - fprintf(stderr, "%s\n", dlerror()); - return -1; - } - } - return lttng_ust_safe_fclose_stream(stream, - __lttng_ust_fd_plibc_fclose); -} - -int close(int fd) -{ - return _lttng_ust_fd_libc_close(fd); -} - -/* - * Note: fcloseall() is not an issue because it fcloses only the - * streams it knows about, which differs from the problems caused by - * gnulib close_stdout(), which does an explicit fclose(stdout). - */ -int fclose(FILE *stream) -{ - return _lttng_ust_fd_libc_fclose(stream); -} - -#if defined(__sun__) || defined(__FreeBSD__) -/* Solaris and FreeBSD. */ -void closefrom(int lowfd) -{ - (void) lttng_ust_safe_closefrom_fd(lowfd, __lttng_ust_fd_plibc_close); -} -#elif defined(__NetBSD__) || defined(__OpenBSD__) -/* NetBSD and OpenBSD. */ -int closefrom(int lowfd) -{ - return lttng_ust_safe_closefrom_fd(lowfd, __lttng_ust_fd_plibc_close); -} -#else -/* As far as we know, this OS does not implement closefrom. */ -#endif