summaryrefslogtreecommitdiffstats
path: root/xlators
diff options
context:
space:
mode:
authorPrashanth Pai <ppai@redhat.com>2018-05-10 18:25:56 +0530
committerAmar Tumballi <amarts@redhat.com>2018-05-18 04:22:42 +0000
commit89e1a4e5720509c096ff6860c1a8c483e0019278 (patch)
tree88f1fabf37eff57db85c23822f305f4f16c4e280 /xlators
parentc2cf3f686f3ea0efd936d2eafc404fc9d2e0acc7 (diff)
build: Disallow unresolved symbol references
In the past, it was often[1] forgotten for xlators to be linked against the symbols they refer to. This often caused glusterd2 to fail while loading xlator's shared object (.so) file. This change adds "--no-undefined" as a linker flag which causes the linker to treat unresolved symbol references as an error and hence fail linking. [1]: https://review.gluster.org/#/c/19912/ https://review.gluster.org/#/c/19664/ https://review.gluster.org/#/c/19056/ https://review.gluster.org/#/c/17659/ https://bugzilla.redhat.com/show_bug.cgi?id=1532238 Bonus: Added cloudsync and utime xlator's generated source files to .gitignore Updates: bz#1193929 Change-Id: I9604a4a87b7313a5fa43bda5fdb37dfa7ef8facd Signed-off-by: Prashanth Pai <ppai@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r--xlators/cluster/dht/src/Makefile.am20
-rw-r--r--xlators/experimental/dht2/dht2-client/src/Makefile.am2
-rw-r--r--xlators/experimental/dht2/dht2-server/src/Makefile.am2
-rw-r--r--xlators/experimental/fdl/src/Makefile.am2
-rw-r--r--xlators/experimental/jbr-client/src/Makefile.am2
-rw-r--r--xlators/experimental/jbr-server/src/Makefile.am2
-rw-r--r--xlators/experimental/posix2/ds/src/Makefile.am2
-rw-r--r--xlators/experimental/posix2/mds/src/Makefile.am2
-rw-r--r--xlators/features/changelog/lib/src/Makefile.am5
-rw-r--r--xlators/features/glupy/src/Makefile.am6
-rw-r--r--xlators/features/utime/src/Makefile.am2
-rw-r--r--xlators/nfs/server/src/Makefile.am5
-rw-r--r--xlators/performance/nl-cache/src/Makefile.am2
13 files changed, 30 insertions, 24 deletions
diff --git a/xlators/cluster/dht/src/Makefile.am b/xlators/cluster/dht/src/Makefile.am
index 525a214c24a..59f87cf7bdc 100644
--- a/xlators/cluster/dht/src/Makefile.am
+++ b/xlators/cluster/dht/src/Makefile.am
@@ -18,20 +18,24 @@ nufa_la_SOURCES = $(dht_common_source) nufa.c
switch_la_SOURCES = $(dht_common_source) switch.c
tier_la_SOURCES = $(dht_common_source) tier.c tier-common.c
-dht_la_LDFLAGS = -module -avoid-version -export-symbols \
- $(top_srcdir)/xlators/cluster/dht/src/dht.sym
+dht_la_LDFLAGS = -module -avoid-version \
+ -export-symbols $(top_srcdir)/xlators/cluster/dht/src/dht.sym \
+ $(GF_NO_UNDEFINED)
dht_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
-nufa_la_LDFLAGS = -module -avoid-version -export-symbols \
- $(top_srcdir)/xlators/cluster/dht/src/nufa.sym
+nufa_la_LDFLAGS = -module -avoid-version \
+ -export-symbols $(top_srcdir)/xlators/cluster/dht/src/nufa.sym \
+ $(GF_NO_UNDEFINED)
nufa_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
-switch_la_LDFLAGS = -module -avoid-version -export-symbols \
- $(top_srcdir)/xlators/cluster/dht/src/switch.sym
+switch_la_LDFLAGS = -module -avoid-version
+ -export-symbols $(top_srcdir)/xlators/cluster/dht/src/switch.sym \
+ $(GF_NO_UNDEFINED)
switch_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
-tier_la_LDFLAGS = -module -avoid-version -export-symbols \
- $(top_srcdir)/xlators/cluster/dht/src/tier.sym
+tier_la_LDFLAGS = -module -avoid-version \
+ -export-symbols $(top_srcdir)/xlators/cluster/dht/src/tier.sym \
+ $(GF_NO_UNDEFINED)
tier_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
noinst_HEADERS = dht-common.h dht-mem-types.h dht-messages.h \
diff --git a/xlators/experimental/dht2/dht2-client/src/Makefile.am b/xlators/experimental/dht2/dht2-client/src/Makefile.am
index a16b9df2f76..3a13a2a3986 100644
--- a/xlators/experimental/dht2/dht2-client/src/Makefile.am
+++ b/xlators/experimental/dht2/dht2-client/src/Makefile.am
@@ -6,7 +6,7 @@ dht2c_sources = dht2-client-main.c
dht2common_sources = $(top_srcdir)/xlators/experimental/dht2/dht2-common/src/dht2-common-map.c
dht2c_la_SOURCES = $(dht2c_sources) $(dht2common_sources)
-dht2c_la_LDFLAGS = -module -avoid-version
+dht2c_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS)
dht2c_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
AM_CFLAGS = -Wall $(GF_CFLAGS)
diff --git a/xlators/experimental/dht2/dht2-server/src/Makefile.am b/xlators/experimental/dht2/dht2-server/src/Makefile.am
index 12d66d126f0..c76fab0ca74 100644
--- a/xlators/experimental/dht2/dht2-server/src/Makefile.am
+++ b/xlators/experimental/dht2/dht2-server/src/Makefile.am
@@ -8,7 +8,7 @@ dht2s_sources = dht2-server-main.c
dht2common_sources = $(top_srcdir)/xlators/experimental/dht2/dht2-common/src/dht2-common-map.c
dht2s_la_SOURCES = $(dht2s_sources) $(dht2common_sources)
-dht2s_la_LDFLAGS = -module -avoid-version
+dht2s_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS)
dht2s_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
AM_CFLAGS = -Wall $(GF_CFLAGS)
diff --git a/xlators/experimental/fdl/src/Makefile.am b/xlators/experimental/fdl/src/Makefile.am
index da80ce28317..f39978c3930 100644
--- a/xlators/experimental/fdl/src/Makefile.am
+++ b/xlators/experimental/fdl/src/Makefile.am
@@ -6,7 +6,7 @@ endif
noinst_HEADERS = fdl.h
nodist_fdl_la_SOURCES = fdl.c
-fdl_la_LDFLAGS = -module -avoid-version
+fdl_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS)
fdl_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
if WITH_SERVER
diff --git a/xlators/experimental/jbr-client/src/Makefile.am b/xlators/experimental/jbr-client/src/Makefile.am
index a894e69c8d7..15616d13798 100644
--- a/xlators/experimental/jbr-client/src/Makefile.am
+++ b/xlators/experimental/jbr-client/src/Makefile.am
@@ -6,7 +6,7 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/experimental
nodist_jbrc_la_SOURCES = jbrc-cg.c
CLEANFILES = $(nodist_jbrc_la_SOURCES)
-jbrc_la_LDFLAGS = -module -avoid-version
+jbrc_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS)
jbrc_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
noinst_HEADERS = $(top_srcdir)/xlators/lib/src/libxlator.h \
diff --git a/xlators/experimental/jbr-server/src/Makefile.am b/xlators/experimental/jbr-server/src/Makefile.am
index fe1342dbaff..b3ceb2d9eda 100644
--- a/xlators/experimental/jbr-server/src/Makefile.am
+++ b/xlators/experimental/jbr-server/src/Makefile.am
@@ -6,7 +6,7 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/experimental
nodist_jbr_la_SOURCES = jbr-cg.c
CLEANFILES = $(nodist_jbr_la_SOURCES)
-jbr_la_LDFLAGS = -module -avoid-version
+jbr_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS)
jbr_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
$(top_builddir)/api/src/libgfapi.la
diff --git a/xlators/experimental/posix2/ds/src/Makefile.am b/xlators/experimental/posix2/ds/src/Makefile.am
index d77ef8cb540..7a792a8d07b 100644
--- a/xlators/experimental/posix2/ds/src/Makefile.am
+++ b/xlators/experimental/posix2/ds/src/Makefile.am
@@ -6,7 +6,7 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/experimental
posix2_ds_sources = posix2-ds-main.c
posix2_ds_la_SOURCES = $(posix2_ds_sources)
-posix2_ds_la_LDFLAGS = -module -avoid-version
+posix2_ds_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS)
posix2_ds_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
posix2_ds_la_LIBADD += $(top_builddir)/xlators/experimental/posix2/common/src/libposix2common.la
diff --git a/xlators/experimental/posix2/mds/src/Makefile.am b/xlators/experimental/posix2/mds/src/Makefile.am
index c6411f46114..0681cb73c45 100644
--- a/xlators/experimental/posix2/mds/src/Makefile.am
+++ b/xlators/experimental/posix2/mds/src/Makefile.am
@@ -6,7 +6,7 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/experimental
posix2_mds_sources = posix2-mds-main.c
posix2_mds_la_SOURCES = $(posix2_mds_sources)
-posix2_mds_la_LDFLAGS = -module -avoid-version
+posix2_mds_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS)
posix2_mds_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
posix2_mds_la_LIBADD += $(top_builddir)/xlators/experimental/posix2/common/src/libposix2common.la
diff --git a/xlators/features/changelog/lib/src/Makefile.am b/xlators/features/changelog/lib/src/Makefile.am
index 92ee26827da..6baafd6cf27 100644
--- a/xlators/features/changelog/lib/src/Makefile.am
+++ b/xlators/features/changelog/lib/src/Makefile.am
@@ -13,8 +13,9 @@ libgfchangelog_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
$(top_builddir)/rpc/xdr/src/libgfxdr.la \
$(top_builddir)/rpc/rpc-lib/src/libgfrpc.la
-libgfchangelog_la_LDFLAGS = $(GF_LDFLAGS) -version-info \
- $(LIBGFCHANGELOG_LT_VERSION)
+libgfchangelog_la_LDFLAGS = $(GF_LDFLAGS) \
+ -version-info $(LIBGFCHANGELOG_LT_VERSION) \
+ $(GF_NO_UNDEFINED)
libgfchangelogdir = $(includedir)/glusterfs/gfchangelog
lib_LTLIBRARIES = libgfchangelog.la
diff --git a/xlators/features/glupy/src/Makefile.am b/xlators/features/glupy/src/Makefile.am
index f1802c3545e..1fadbe3e68d 100644
--- a/xlators/features/glupy/src/Makefile.am
+++ b/xlators/features/glupy/src/Makefile.am
@@ -15,9 +15,9 @@ AM_CFLAGS = $(PYTHONDEV_CPPFLAGS) -Wall -fno-strict-aliasing \
$(GF_CFLAGS)
# Flags to build glupy.so with
-glupy_la_LDFLAGS = $(PYTHONDEV_LDFLAGS) -module -avoid-version \
- -nostartfiles -export-symbols \
- $(top_srcdir)/xlators/features/glupy/src/glupy.sym
+glupy_la_LDFLAGS = $(PYTHONDEV_LDFLAGS) -module -avoid-version -nostartfiles \
+ -export-symbols $(top_srcdir)/xlators/features/glupy/src/glupy.sym \
+ $(GF_NO_UNDEFINED)
glupy_la_SOURCES = glupy.c
glupy_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
diff --git a/xlators/features/utime/src/Makefile.am b/xlators/features/utime/src/Makefile.am
index 52f2eb5df24..e94a00a8326 100644
--- a/xlators/features/utime/src/Makefile.am
+++ b/xlators/features/utime/src/Makefile.am
@@ -10,7 +10,7 @@ utime_la_SOURCES = $(utime_sources)
nodist_utime_la_SOURCES = utime-autogen-fops.c utime-autogen-fops.h
BUILT_SOURCES = utime-autogen-fops.h
-utime_la_LDFLAGS = -module -avoid-version
+utime_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS)
utime_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
noinst_HEADERS_utime = $(UTIME_SRC)/utime-helpers.h
diff --git a/xlators/nfs/server/src/Makefile.am b/xlators/nfs/server/src/Makefile.am
index 5d1136d04ee..dfdcdee8a17 100644
--- a/xlators/nfs/server/src/Makefile.am
+++ b/xlators/nfs/server/src/Makefile.am
@@ -4,8 +4,9 @@ endif
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/nfs
nfsrpclibdir = $(top_srcdir)/rpc/rpc-lib/src
-server_la_LDFLAGS = -module -avoid-version -export-symbols \
- $(top_srcdir)/xlators/nfs/server/src/nfsserver.sym
+server_la_LDFLAGS = -module -avoid-version \
+ -export-symbols $(top_srcdir)/xlators/nfs/server/src/nfsserver.sym \
+ $(GF_NO_UNDEFINED)
server_la_SOURCES = nfs.c nfs-common.c nfs-fops.c nfs-inodes.c \
nfs-generics.c mount3.c nfs3-fh.c nfs3.c nfs3-helpers.c nlm4.c \
diff --git a/xlators/performance/nl-cache/src/Makefile.am b/xlators/performance/nl-cache/src/Makefile.am
index f45e8be78c5..c44ce871627 100644
--- a/xlators/performance/nl-cache/src/Makefile.am
+++ b/xlators/performance/nl-cache/src/Makefile.am
@@ -1,6 +1,6 @@
xlator_LTLIBRARIES = nl-cache.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
-nl_cache_la_LDFLAGS = -module -avoid-version
+nl_cache_la_LDFLAGS = -module $(GF_XLATOR_DEFAULT_LDFLAGS)
nl_cache_la_SOURCES = nl-cache.c nl-cache-helper.c
nl_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
noinst_HEADERS = nl-cache.h nl-cache-mem-types.h nl-cache-messages.h