From f580a10d102abe35a838e57b08781cc6696dd261 Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Mon, 9 Jul 2012 14:58:14 -0700 Subject: [PATCH] rsocket: Build librspreload library as part of build Build the rsocket preload library as part of the build. To reduce the risk of the preload library intercepting calls without the user's knowledge, the preload library is installed into {_libdir}/rsocket. Signed-off-by: Sean Hefty --- Makefile.am | 8 ++++++++ librdmacm.spec.in | 8 ++++++-- src/preload.c | 8 -------- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/Makefile.am b/Makefile.am index 51b2f899..581cded9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,11 +1,14 @@ INCLUDES = -I$(srcdir)/include +rslibdir = $(libdir)/rsocket lib_LTLIBRARIES = src/librdmacm.la +rslib_LTLIBRARIES = src/librspreload.la ACLOCAL_AMFLAGS = -I config AM_CFLAGS = -g -Wall -D_GNU_SOURCE -DSYSCONFDIR=\"$(sysconfdir)\" -DRDMADIR=\"@rdmadir@\" src_librdmacm_la_CFLAGS = $(AM_CFLAGS) +src_librspreload_la_CFLAGS = $(AM_CFLAGS) if HAVE_LD_VERSION_SCRIPT librdmacm_version_script = -Wl,--version-script=$(srcdir)/src/librdmacm.map @@ -19,6 +22,11 @@ src_librdmacm_la_LDFLAGS = -version-info 1 -export-dynamic \ $(librdmacm_version_script) src_librdmacm_la_DEPENDENCIES = $(srcdir)/src/librdmacm.map +src_librspreload_la_SOURCES = src/preload.c src/indexer.c +src_librspreload_la_LDFLAGS = -version-info 1 -export-dynamic +src_librspreload_la_DEPENDENCIES = $(srcdir)/src/librspreload.map +src_librspreload_la_LIBADD = $(top_builddir)/src/librdmacm.la + bin_PROGRAMS = examples/ucmatose examples/rping examples/udaddy examples/mckey \ examples/rdma_client examples/rdma_server examples/rdma_xclient \ examples/rdma_xserver examples/rstream examples/rcopy diff --git a/librdmacm.spec.in b/librdmacm.spec.in index 72481374..4652bbcc 100644 --- a/librdmacm.spec.in +++ b/librdmacm.spec.in @@ -44,6 +44,7 @@ rm -rf $RPM_BUILD_ROOT %makeinstall # remove unpackaged files from the buildroot rm -f $RPM_BUILD_ROOT%{_libdir}/*.la +rm -f $RPM_BUILD_ROOT%{_libdir}/rsocket/*.la %clean rm -rf $RPM_BUILD_ROOT @@ -53,13 +54,16 @@ rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) -%{_libdir}/librdmacm*.so.* +%{_libdir}/lib*.so.* +%{_libdir}/rsocket/lib*.so.* %doc AUTHORS COPYING README %files devel %defattr(-,root,root) -%{_libdir}/lib*.so +%{_libdir}/librdmacm*.so +%{_libdir}/rsocket/librspreload*.so %{_libdir}/*.a +%{_libdir}/rsocket/*.a %{_includedir}/* %{_mandir}/man3/* %{_mandir}/man7/* diff --git a/src/preload.c b/src/preload.c index d21389f3..8758d5c6 100644 --- a/src/preload.c +++ b/src/preload.c @@ -31,14 +31,6 @@ * */ -/* - * Build: - * gcc -lrdmacm -Wall -shared -fPIC -o preload.so -D_GNU_SOURCE preload.c indexer.c - * - * Use: - * LD_PRELOAD=preload.so binary --plus_args - */ - #if HAVE_CONFIG_H # include #endif /* HAVE_CONFIG_H */ -- 2.45.2