summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--api/src/Makefile.am2
-rw-r--r--configure.ac3
-rw-r--r--xlators/Makefile.am2
-rw-r--r--xlators/cluster/afr/src/Makefile.am4
-rw-r--r--xlators/cluster/dht/src/Makefile.am11
-rw-r--r--xlators/cluster/dht/src/dht.sym8
-rw-r--r--xlators/cluster/dht/src/nufa.sym8
-rw-r--r--xlators/cluster/dht/src/switch.sym8
-rw-r--r--xlators/cluster/dht/src/tier.sym9
-rw-r--r--xlators/cluster/ec/src/Makefile.am2
-rw-r--r--xlators/cluster/ha/src/Makefile.am3
-rw-r--r--xlators/cluster/map/src/Makefile.am3
-rw-r--r--xlators/cluster/stripe/src/Makefile.am3
-rw-r--r--xlators/debug/error-gen/src/Makefile.am2
-rw-r--r--xlators/debug/io-stats/src/Makefile.am2
-rw-r--r--xlators/debug/trace/src/Makefile.am2
-rw-r--r--xlators/encryption/crypt/src/Makefile.am2
-rw-r--r--xlators/encryption/rot-13/src/Makefile.am2
-rw-r--r--xlators/features/arbiter/src/Makefile.am2
-rw-r--r--xlators/features/barrier/src/Makefile.am2
-rw-r--r--xlators/features/bit-rot/src/bitd/Makefile.am2
-rw-r--r--xlators/features/bit-rot/src/stub/Makefile.am2
-rw-r--r--xlators/features/changelog/src/Makefile.am2
-rw-r--r--xlators/features/changetimerecorder/src/Makefile.am2
-rw-r--r--xlators/features/compress/src/Makefile.am2
-rw-r--r--xlators/features/filter/src/Makefile.am2
-rw-r--r--xlators/features/ganesha/src/Makefile.am2
-rw-r--r--xlators/features/gfid-access/src/Makefile.am2
-rw-r--r--xlators/features/glupy/src/Makefile.am4
-rw-r--r--xlators/features/glupy/src/glupy.sym101
-rw-r--r--xlators/features/index/src/Makefile.am2
-rw-r--r--xlators/features/locks/src/Makefile.am2
-rw-r--r--xlators/features/mac-compat/src/Makefile.am2
-rw-r--r--xlators/features/marker/src/Makefile.am2
-rw-r--r--xlators/features/path-convertor/src/Makefile.am2
-rw-r--r--xlators/features/protect/src/Makefile.am6
-rw-r--r--xlators/features/quiesce/src/Makefile.am2
-rw-r--r--xlators/features/quota/src/Makefile.am6
-rw-r--r--xlators/features/quota/src/quotad.sym7
-rw-r--r--xlators/features/read-only/src/Makefile.am4
-rw-r--r--xlators/features/shard/src/Makefile.am2
-rw-r--r--xlators/features/snapview-client/src/Makefile.am2
-rw-r--r--xlators/features/snapview-server/src/Makefile.am2
-rw-r--r--xlators/features/trash/src/Makefile.am2
-rw-r--r--xlators/features/upcall/src/Makefile.am2
-rw-r--r--xlators/meta/src/Makefile.am2
-rw-r--r--xlators/mgmt/glusterd/src/Makefile.am2
-rw-r--r--xlators/mount/fuse/src/Makefile.am2
-rw-r--r--xlators/nfs/server/src/Makefile.am4
-rw-r--r--xlators/nfs/server/src/nfsserver.sym20
-rw-r--r--xlators/performance/io-cache/src/Makefile.am2
-rw-r--r--xlators/performance/io-threads/src/Makefile.am2
-rw-r--r--xlators/performance/md-cache/src/Makefile.am2
-rw-r--r--xlators/performance/open-behind/src/Makefile.am2
-rw-r--r--xlators/performance/quick-read/src/Makefile.am2
-rw-r--r--xlators/performance/read-ahead/src/Makefile.am2
-rw-r--r--xlators/performance/readdir-ahead/src/Makefile.am2
-rw-r--r--xlators/performance/symlink-cache/src/Makefile.am2
-rw-r--r--xlators/performance/write-behind/src/Makefile.am2
-rw-r--r--xlators/playground/template/src/Makefile.am2
-rw-r--r--xlators/protocol/client/src/Makefile.am2
-rw-r--r--xlators/protocol/server/src/Makefile.am2
-rw-r--r--xlators/storage/bd/src/Makefile.am2
-rw-r--r--xlators/storage/posix/src/Makefile.am2
-rw-r--r--xlators/system/posix-acl/src/Makefile.am2
-rw-r--r--xlators/xlator.sym9
66 files changed, 250 insertions, 65 deletions
diff --git a/api/src/Makefile.am b/api/src/Makefile.am
index 3c517e68072..527b12d0850 100644
--- a/api/src/Makefile.am
+++ b/api/src/Makefile.am
@@ -29,7 +29,7 @@ $(install_xlatorLTLIBRARIES): install-libLTLIBRARIES
api_la_SOURCES = glfs-master.c
api_la_DEPENDENCIES = libgfapi.la
-api_la_LDFLAGS = -module -avoid-version
+api_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
api_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
$(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \
$(top_builddir)/rpc/xdr/src/libgfxdr.la \
diff --git a/configure.ac b/configure.ac
index 3245d1fa20c..ae7b61c7eff 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1279,6 +1279,8 @@ AC_SUBST(CFLAGS)
dnl libglusterfs.so uses math functions
GF_LDADD="${GF_LDADD} ${MATH_LIB}"
+GF_XLATOR_DEFAULT_LDFLAGS='-module -avoid-version -export-symbols $(top_srcdir)/xlators/xlator.sym'
+
AC_SUBST(GF_HOST_OS)
AC_SUBST(GF_CFLAGS)
AC_SUBST(GF_LDFLAGS)
@@ -1289,6 +1291,7 @@ AC_SUBST(RLLIBS)
AC_SUBST(LIBAIO)
AC_SUBST(AM_MAKEFLAGS)
AC_SUBST(AM_LIBTOOLFLAGS)
+AC_SUBST(GF_XLATOR_DEFAULT_LDFLAGS)
CONTRIBDIR='$(top_srcdir)/contrib'
AC_SUBST(CONTRIBDIR)
diff --git a/xlators/Makefile.am b/xlators/Makefile.am
index 2a03f905b6d..2b66201035d 100644
--- a/xlators/Makefile.am
+++ b/xlators/Makefile.am
@@ -1,4 +1,6 @@
SUBDIRS = cluster storage protocol performance debug features encryption mount nfs mgmt system \
playground meta
+EXTRA_DIST = xlator.sym
+
CLEANFILES =
diff --git a/xlators/cluster/afr/src/Makefile.am b/xlators/cluster/afr/src/Makefile.am
index ac66bf3bb11..27384d1c317 100644
--- a/xlators/cluster/afr/src/Makefile.am
+++ b/xlators/cluster/afr/src/Makefile.am
@@ -10,11 +10,11 @@ AFR_SELFHEAL_SOURCES = afr-self-heal-common.c afr-self-heal-data.c \
afr-self-heal-entry.c afr-self-heal-metadata.c afr-self-heald.c \
afr-self-heal-name.c
-afr_la_LDFLAGS = -module -avoid-version
+afr_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
afr_la_SOURCES = $(afr_common_source) $(AFR_SELFHEAL_SOURCES) afr.c
afr_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
-pump_la_LDFLAGS = -module -avoid-version
+pump_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
pump_la_SOURCES = $(afr_common_source) $(AFR_SELFHEAL_SOURCES) pump.c
pump_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/cluster/dht/src/Makefile.am b/xlators/cluster/dht/src/Makefile.am
index f6c9ef2607a..bb3308f14a3 100644
--- a/xlators/cluster/dht/src/Makefile.am
+++ b/xlators/cluster/dht/src/Makefile.am
@@ -18,17 +18,16 @@ nufa_la_SOURCES = $(dht_common_source) nufa.c
switch_la_SOURCES = $(dht_common_source) switch.c
tier_la_SOURCES = $(dht_common_source) tier.c
-dht_la_LDFLAGS = -module -avoid-version
+dht_la_LDFLAGS = -module -avoid-version -export-symbols $(top_srcdir)/xlators/cluster/dht/src/dht.sym
dht_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
-nufa_la_LDFLAGS = -module -avoid-version
+nufa_la_LDFLAGS = -module -avoid-version -export-symbols $(top_srcdir)/xlators/cluster/dht/src/nufa.sym
nufa_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
-switch_la_LDFLAGS = -module -avoid-version
+switch_la_LDFLAGS = -module -avoid-version -export-symbols $(top_srcdir)/xlators/cluster/dht/src/switch.sym
switch_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
-
-tier_la_LDFLAGS = -module -avoid-version
+tier_la_LDFLAGS = -module -avoid-version -export-symbols $(top_srcdir)/xlators/cluster/dht/src/tier.sym
tier_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
noinst_HEADERS = dht-common.h dht-mem-types.h dht-messages.h dht-helper.h tier.h\
@@ -43,6 +42,8 @@ AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src \
CLEANFILES =
+EXTRA_DIST = dht.sym nufa.sym switch.sym tier.sym
+
uninstall-local:
rm -f $(DESTDIR)$(xlatordir)/distribute.so
diff --git a/xlators/cluster/dht/src/dht.sym b/xlators/cluster/dht/src/dht.sym
new file mode 100644
index 00000000000..780b5fc0387
--- /dev/null
+++ b/xlators/cluster/dht/src/dht.sym
@@ -0,0 +1,8 @@
+fops
+cbks
+class_methods
+dht_methods
+options
+mem_acct_init
+reconfigure
+dumpops
diff --git a/xlators/cluster/dht/src/nufa.sym b/xlators/cluster/dht/src/nufa.sym
new file mode 100644
index 00000000000..780b5fc0387
--- /dev/null
+++ b/xlators/cluster/dht/src/nufa.sym
@@ -0,0 +1,8 @@
+fops
+cbks
+class_methods
+dht_methods
+options
+mem_acct_init
+reconfigure
+dumpops
diff --git a/xlators/cluster/dht/src/switch.sym b/xlators/cluster/dht/src/switch.sym
new file mode 100644
index 00000000000..780b5fc0387
--- /dev/null
+++ b/xlators/cluster/dht/src/switch.sym
@@ -0,0 +1,8 @@
+fops
+cbks
+class_methods
+dht_methods
+options
+mem_acct_init
+reconfigure
+dumpops
diff --git a/xlators/cluster/dht/src/tier.sym b/xlators/cluster/dht/src/tier.sym
new file mode 100644
index 00000000000..60205d145b6
--- /dev/null
+++ b/xlators/cluster/dht/src/tier.sym
@@ -0,0 +1,9 @@
+fops
+cbks
+class_methods
+dht_methods
+tier_methods
+options
+mem_acct_init
+reconfigure
+dumpops
diff --git a/xlators/cluster/ec/src/Makefile.am b/xlators/cluster/ec/src/Makefile.am
index 3ebd5ec3c53..c45a8f05713 100644
--- a/xlators/cluster/ec/src/Makefile.am
+++ b/xlators/cluster/ec/src/Makefile.am
@@ -33,7 +33,7 @@ ec_ext_sources = $(top_builddir)/xlators/lib/src/libxlator.c
ec_ext_headers = $(top_builddir)/xlators/lib/src/libxlator.h
-ec_la_LDFLAGS = -module -avoid-version
+ec_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
ec_la_SOURCES = $(ec_sources) $(ec_headers) $(ec_ext_sources) $(ec_ext_headers)
ec_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/cluster/ha/src/Makefile.am b/xlators/cluster/ha/src/Makefile.am
index 5c1364b7f9d..4b730f9534e 100644
--- a/xlators/cluster/ha/src/Makefile.am
+++ b/xlators/cluster/ha/src/Makefile.am
@@ -1,7 +1,8 @@
xlator_LTLIBRARIES = ha.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/cluster
-ha_la_LDFLAGS = -module -avoid-version
+ha_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
+
ha_la_SOURCES = ha-helpers.c ha.c
ha_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/cluster/map/src/Makefile.am b/xlators/cluster/map/src/Makefile.am
index a278b05e2d1..6f4765ff2e4 100644
--- a/xlators/cluster/map/src/Makefile.am
+++ b/xlators/cluster/map/src/Makefile.am
@@ -1,7 +1,8 @@
xlator_LTLIBRARIES = map.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/cluster
-map_la_LDFLAGS = -module -avoid-version
+map_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
+
map_la_SOURCES = map.c map-helper.c
map_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/cluster/stripe/src/Makefile.am b/xlators/cluster/stripe/src/Makefile.am
index 4268d6f0382..a4c5370562c 100644
--- a/xlators/cluster/stripe/src/Makefile.am
+++ b/xlators/cluster/stripe/src/Makefile.am
@@ -1,7 +1,8 @@
xlator_LTLIBRARIES = stripe.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/cluster
-stripe_la_LDFLAGS = -module -avoid-version
+stripe_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
+
stripe_la_SOURCES = stripe.c stripe-helpers.c \
$(top_builddir)/xlators/lib/src/libxlator.c
diff --git a/xlators/debug/error-gen/src/Makefile.am b/xlators/debug/error-gen/src/Makefile.am
index 5075c59a861..d1145dea5aa 100644
--- a/xlators/debug/error-gen/src/Makefile.am
+++ b/xlators/debug/error-gen/src/Makefile.am
@@ -2,7 +2,7 @@
xlator_LTLIBRARIES = error-gen.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/debug
-error_gen_la_LDFLAGS = -module -avoid-version
+error_gen_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
error_gen_la_SOURCES = error-gen.c
error_gen_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/debug/io-stats/src/Makefile.am b/xlators/debug/io-stats/src/Makefile.am
index dff294cd84e..a55933b6d19 100644
--- a/xlators/debug/io-stats/src/Makefile.am
+++ b/xlators/debug/io-stats/src/Makefile.am
@@ -2,7 +2,7 @@
xlator_LTLIBRARIES = io-stats.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/debug
-io_stats_la_LDFLAGS = -module -avoid-version
+io_stats_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
io_stats_la_SOURCES = io-stats.c
io_stats_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/debug/trace/src/Makefile.am b/xlators/debug/trace/src/Makefile.am
index 7b2597b4db6..4577d0d6973 100644
--- a/xlators/debug/trace/src/Makefile.am
+++ b/xlators/debug/trace/src/Makefile.am
@@ -2,7 +2,7 @@
xlator_LTLIBRARIES = trace.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/debug
-trace_la_LDFLAGS = -module -avoid-version
+trace_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
trace_la_SOURCES = trace.c
trace_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/encryption/crypt/src/Makefile.am b/xlators/encryption/crypt/src/Makefile.am
index d7ebac61884..050d6cca7b3 100644
--- a/xlators/encryption/crypt/src/Makefile.am
+++ b/xlators/encryption/crypt/src/Makefile.am
@@ -3,7 +3,7 @@ if ENABLE_CRYPT_XLATOR
xlator_LTLIBRARIES = crypt.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/encryption
-crypt_la_LDFLAGS = -module -avoid-version
+crypt_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
crypt_la_SOURCES = keys.c data.c metadata.c atom.c crypt.c
crypt_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la -lssl -lcrypto
diff --git a/xlators/encryption/rot-13/src/Makefile.am b/xlators/encryption/rot-13/src/Makefile.am
index 94e8d18e789..a6213c0b690 100644
--- a/xlators/encryption/rot-13/src/Makefile.am
+++ b/xlators/encryption/rot-13/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = rot-13.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/encryption
-rot_13_la_LDFLAGS = -module -avoid-version
+rot_13_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
rot_13_la_SOURCES = rot-13.c
rot_13_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/features/arbiter/src/Makefile.am b/xlators/features/arbiter/src/Makefile.am
index 090095d8860..328e08cda9c 100644
--- a/xlators/features/arbiter/src/Makefile.am
+++ b/xlators/features/arbiter/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = arbiter.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-arbiter_la_LDFLAGS = -module -avoid-version
+arbiter_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
arbiter_la_SOURCES = arbiter.c
arbiter_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/features/barrier/src/Makefile.am b/xlators/features/barrier/src/Makefile.am
index 8859be328d3..162c6a8865c 100644
--- a/xlators/features/barrier/src/Makefile.am
+++ b/xlators/features/barrier/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = barrier.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-barrier_la_LDFLAGS = -module -avoid-version
+barrier_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
barrier_la_SOURCES = barrier.c
diff --git a/xlators/features/bit-rot/src/bitd/Makefile.am b/xlators/features/bit-rot/src/bitd/Makefile.am
index f06cf9eeaaa..b338d3cdd8f 100644
--- a/xlators/features/bit-rot/src/bitd/Makefile.am
+++ b/xlators/features/bit-rot/src/bitd/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = bit-rot.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-bit_rot_la_LDFLAGS = -module -avoid-version
+bit_rot_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src \
-I$(top_srcdir)/rpc/xdr/src/ \
diff --git a/xlators/features/bit-rot/src/stub/Makefile.am b/xlators/features/bit-rot/src/stub/Makefile.am
index 30e7ca72cb6..5b5253c4ad5 100644
--- a/xlators/features/bit-rot/src/stub/Makefile.am
+++ b/xlators/features/bit-rot/src/stub/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = bitrot-stub.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-bitrot_stub_la_LDFLAGS = -module -avoid-version
+bitrot_stub_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
bitrot_stub_la_SOURCES = bit-rot-stub.c
bitrot_stub_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/features/changelog/src/Makefile.am b/xlators/features/changelog/src/Makefile.am
index f70e5f8e707..e851cc7819a 100644
--- a/xlators/features/changelog/src/Makefile.am
+++ b/xlators/features/changelog/src/Makefile.am
@@ -7,7 +7,7 @@ noinst_HEADERS = changelog-helpers.h changelog-mem-types.h changelog-rt.h \
changelog-rpc-common.h changelog-rpc.h changelog-ev-handle.h \
changelog-messages.h
-changelog_la_LDFLAGS = -module -avoid-version
+changelog_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
changelog_la_SOURCES = changelog.c changelog-rt.c changelog-helpers.c \
changelog-encoders.c changelog-rpc.c changelog-barrier.c \
diff --git a/xlators/features/changetimerecorder/src/Makefile.am b/xlators/features/changetimerecorder/src/Makefile.am
index 630dd8e6e15..5af50983fef 100644
--- a/xlators/features/changetimerecorder/src/Makefile.am
+++ b/xlators/features/changetimerecorder/src/Makefile.am
@@ -5,7 +5,7 @@ if BUILD_GFDB
xlator_LTLIBRARIES = changetimerecorder.la
endif
-changetimerecorder_la_LDFLAGS = -module -avoid-version
+changetimerecorder_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
changetimerecorder_la_SOURCES = changetimerecorder.c ctr-helper.c ctr-xlator-ctx.c
diff --git a/xlators/features/compress/src/Makefile.am b/xlators/features/compress/src/Makefile.am
index 2f79e66a82d..1c4c80eec90 100644
--- a/xlators/features/compress/src/Makefile.am
+++ b/xlators/features/compress/src/Makefile.am
@@ -4,7 +4,7 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
noinst_HEADERS = cdc.h cdc-mem-types.h
-cdc_la_LDFLAGS = -module -avoid-version
+cdc_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
cdc_la_SOURCES = cdc.c cdc-helper.c
cdc_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(ZLIB_LIBS)
diff --git a/xlators/features/filter/src/Makefile.am b/xlators/features/filter/src/Makefile.am
index d1fda8b0a9d..49ea3a45fb7 100644
--- a/xlators/features/filter/src/Makefile.am
+++ b/xlators/features/filter/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = filter.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/features
-filter_la_LDFLAGS = -module -avoid-version
+filter_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
filter_la_SOURCES = filter.c
filter_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/features/ganesha/src/Makefile.am b/xlators/features/ganesha/src/Makefile.am
index d42b68f8440..3a245703eb1 100644
--- a/xlators/features/ganesha/src/Makefile.am
+++ b/xlators/features/ganesha/src/Makefile.am
@@ -4,7 +4,7 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
noinst_HEADERS = ganesha.h ganesha-mem-types.h
-ganesha_la_LDFLAGS = -module -avoid-version
+ganesha_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
ganesha_la_SOURCES = ganesha.c
diff --git a/xlators/features/gfid-access/src/Makefile.am b/xlators/features/gfid-access/src/Makefile.am
index db53affaab3..ba95c7c0184 100644
--- a/xlators/features/gfid-access/src/Makefile.am
+++ b/xlators/features/gfid-access/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = gfid-access.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-gfid_access_la_LDFLAGS = -module -avoid-version
+gfid_access_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
gfid_access_la_SOURCES = gfid-access.c
gfid_access_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/features/glupy/src/Makefile.am b/xlators/features/glupy/src/Makefile.am
index 2ac0d99cd5f..eadccf75c15 100644
--- a/xlators/features/glupy/src/Makefile.am
+++ b/xlators/features/glupy/src/Makefile.am
@@ -7,7 +7,7 @@ AM_CPPFLAGS = $(PYTHONDEV_CPPFLAGS) $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/
AM_CFLAGS = $(PYTHONDEV_CFLAGS) -Wall -fno-strict-aliasing -DGLUSTER_PYTHON_PATH=\"$(glupydir)\" -DPATH_GLUSTERFS_GLUPY_MODULE=\"${xlatordir}/glupy${shrext_cmds}\" $(GF_CFLAGS)
# Flags to build glupy.so with
-glupy_la_LDFLAGS = $(PYTHONDEV_LDFLAGS) -module -avoid-version -nostartfiles
+glupy_la_LDFLAGS = $(PYTHONDEV_LDFLAGS) -module -avoid-version -nostartfiles -export-symbols $(top_srcdir)/xlators/features/glupy/src/glupy.sym
glupy_la_SOURCES = glupy.c
glupy_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
-lpthread -l$(BUILD_PYTHON_LIB)
@@ -22,3 +22,5 @@ pyglupy_PYTHON = __init__.py
SUBDIRS = glupy
CLEANFILES =
+
+EXTRA_DIST = glupy.sym
diff --git a/xlators/features/glupy/src/glupy.sym b/xlators/features/glupy/src/glupy.sym
new file mode 100644
index 00000000000..55d9a300108
--- /dev/null
+++ b/xlators/features/glupy/src/glupy.sym
@@ -0,0 +1,101 @@
+init
+fini
+fops
+cbks
+options
+notify
+mem_acct_init
+reconfigure
+dumpops
+set_lookup_fop
+set_lookup_cbk
+set_create_fop
+set_create_cbk
+set_open_fop
+set_open_cbk
+set_readv_fop
+set_readv_cbk
+set_writev_fop
+set_writev_cbk
+set_opendir_fop
+set_opendir_cbk
+set_readdir_fop
+set_readdir_cbk
+set_readdirp_fop
+set_readdirp_cbk
+set_stat_fop
+set_stat_cbk
+set_fstat_fop
+set_fstat_cbk
+set_statfs_fop
+set_statfs_cbk
+set_setxattr_fop
+set_setxattr_cbk
+set_getxattr_fop
+set_getxattr_cbk
+set_fsetxattr_fop
+set_fsetxattr_cbk
+set_fgetxattr_fop
+set_fgetxattr_cbk
+set_removexattr_fop
+set_removexattr_cbk
+set_fremovexattr_fop
+set_fremovexattr_cbk
+set_link_fop
+set_link_cbk
+set_symlink_fop
+set_symlink_cbk
+set_readlink_fop
+set_readlink_cbk
+set_unlink_fop
+set_unlink_cbk
+set_mkdir_fop
+set_mkdir_cbk
+set_rmdir_fop
+set_rmdir_cbk
+wind_lookup
+wind_create
+wind_open
+wind_readv
+wind_writev
+wind_opendir
+wind_readdir
+wind_readdirp
+wind_stat
+wind_fstat
+wind_statfs
+wind_setxattr
+wind_getxattr
+wind_fsetxattr
+wind_fgetxattr
+wind_removexattr
+wind_fremovexattr
+wind_link
+wind_symlink
+wind_readlink
+wind_unlink
+wind_mkdir
+wind_rmdir
+unwind_lookup
+unwind_create
+unwind_open
+unwind_readv
+unwind_writev
+unwind_opendir
+unwind_readdir
+unwind_readdirp
+unwind_stat
+unwind_fstat
+unwind_statfs
+unwind_setxattr
+unwind_getxattr
+unwind_fsetxattr
+unwind_fgetxattr
+unwind_removexattr
+unwind_fremovexattr
+unwind_link
+unwind_symlink
+unwind_readlink
+unwind_unlink
+unwind_mkdir
+unwind_rmdir
diff --git a/xlators/features/index/src/Makefile.am b/xlators/features/index/src/Makefile.am
index 73bb8972e70..a19026c6f94 100644
--- a/xlators/features/index/src/Makefile.am
+++ b/xlators/features/index/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = index.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-index_la_LDFLAGS = -module -avoid-version
+index_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
index_la_SOURCES = index.c
index_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/features/locks/src/Makefile.am b/xlators/features/locks/src/Makefile.am
index 0f79731b415..e486e32fa1e 100644
--- a/xlators/features/locks/src/Makefile.am
+++ b/xlators/features/locks/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = locks.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-locks_la_LDFLAGS = -module -avoid-version
+locks_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
locks_la_SOURCES = common.c posix.c entrylk.c inodelk.c reservelk.c \
clear.c
diff --git a/xlators/features/mac-compat/src/Makefile.am b/xlators/features/mac-compat/src/Makefile.am
index 42ed350e93e..c178a2542e8 100644
--- a/xlators/features/mac-compat/src/Makefile.am
+++ b/xlators/features/mac-compat/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = mac-compat.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-mac_compat_la_LDFLAGS = -module -avoid-version
+mac_compat_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
mac_compat_la_SOURCES = mac-compat.c
mac_compat_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/features/marker/src/Makefile.am b/xlators/features/marker/src/Makefile.am
index a7c67647218..d122c0bfc08 100644
--- a/xlators/features/marker/src/Makefile.am
+++ b/xlators/features/marker/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = marker.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-marker_la_LDFLAGS = -module -avoid-version
+marker_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
marker_la_SOURCES = marker.c marker-quota.c marker-quota-helper.c marker-common.c
marker_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/features/path-convertor/src/Makefile.am b/xlators/features/path-convertor/src/Makefile.am
index 393a7bd089c..9b5c7f45d12 100644
--- a/xlators/features/path-convertor/src/Makefile.am
+++ b/xlators/features/path-convertor/src/Makefile.am
@@ -2,7 +2,7 @@
xlator_LTLIBRARIES = path-converter.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/features
-path_converter_la_LDFLAGS = -module -avoid-version
+path_converter_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
path_converter_la_SOURCES = path.c
path_converter_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/features/protect/src/Makefile.am b/xlators/features/protect/src/Makefile.am
index fdfed4b219e..bc0643d6806 100644
--- a/xlators/features/protect/src/Makefile.am
+++ b/xlators/features/protect/src/Makefile.am
@@ -2,15 +2,15 @@ xlator_LTLIBRARIES = prot_dht.la prot_client.la prot_server.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-prot_dht_la_LDFLAGS = -module -avoid-version
+prot_dht_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
prot_dht_la_SOURCES = prot_dht.c
prot_dht_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
-prot_client_la_LDFLAGS = -module -avoid-version
+prot_client_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
prot_client_la_SOURCES = prot_client.c
prot_client_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
-prot_server_la_LDFLAGS = -module -avoid-version
+prot_server_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
prot_server_la_SOURCES = prot_server.c
prot_server_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/features/quiesce/src/Makefile.am b/xlators/features/quiesce/src/Makefile.am
index 15e46629e78..862ca76f3e5 100644
--- a/xlators/features/quiesce/src/Makefile.am
+++ b/xlators/features/quiesce/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = quiesce.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-quiesce_la_LDFLAGS = -module -avoid-version
+quiesce_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
quiesce_la_SOURCES = quiesce.c
quiesce_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/features/quota/src/Makefile.am b/xlators/features/quota/src/Makefile.am
index 79bc9290076..a6d2c86bf58 100644
--- a/xlators/features/quota/src/Makefile.am
+++ b/xlators/features/quota/src/Makefile.am
@@ -1,8 +1,8 @@
xlator_LTLIBRARIES = quota.la quotad.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-quota_la_LDFLAGS = -module -avoid-version
-quotad_la_LDFLAGS = -module -avoid-version
+quota_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
+quotad_la_LDFLAGS = -module -avoid-version -export-symbols $(top_srcdir)/xlators/features/quota/src/quotad.sym
quota_la_SOURCES = quota.c quota-enforcer-client.c
quota_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
@@ -21,3 +21,5 @@ AM_CFLAGS = -Wall $(GF_CFLAGS)
CLEANFILES =
+EXTRA_DIST = quotad.sym
+
diff --git a/xlators/features/quota/src/quotad.sym b/xlators/features/quota/src/quotad.sym
new file mode 100644
index 00000000000..0829ffe1584
--- /dev/null
+++ b/xlators/features/quota/src/quotad.sym
@@ -0,0 +1,7 @@
+fops
+cbks
+class_methods
+options
+mem_acct_init
+reconfigure
+dumpops
diff --git a/xlators/features/read-only/src/Makefile.am b/xlators/features/read-only/src/Makefile.am
index 209e4208af0..a44fd36f035 100644
--- a/xlators/features/read-only/src/Makefile.am
+++ b/xlators/features/read-only/src/Makefile.am
@@ -4,12 +4,12 @@ xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
noinst_HEADERS = read-only.h read-only-mem-types.h read-only-common.h
-read_only_la_LDFLAGS = -module -avoid-version
+read_only_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
read_only_la_SOURCES = read-only.c read-only-common.c
read_only_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
-worm_la_LDFLAGS = -module -avoid-version
+worm_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
worm_la_SOURCES = read-only-common.c worm.c
worm_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/features/shard/src/Makefile.am b/xlators/features/shard/src/Makefile.am
index b589cafe924..327ef15060e 100644
--- a/xlators/features/shard/src/Makefile.am
+++ b/xlators/features/shard/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = shard.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-shard_la_LDFLAGS = -module -avoid-version
+shard_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
shard_la_SOURCES = shard.c
diff --git a/xlators/features/snapview-client/src/Makefile.am b/xlators/features/snapview-client/src/Makefile.am
index 8a3f6fe4ea2..3b08e685092 100644
--- a/xlators/features/snapview-client/src/Makefile.am
+++ b/xlators/features/snapview-client/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = snapview-client.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-snapview_client_la_LDFLAGS = -module -avoid-version
+snapview_client_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
snapview_client_la_SOURCES = snapview-client.c
snapview_client_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/features/snapview-server/src/Makefile.am b/xlators/features/snapview-server/src/Makefile.am
index df58d7bef71..004741cedad 100644
--- a/xlators/features/snapview-server/src/Makefile.am
+++ b/xlators/features/snapview-server/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = snapview-server.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-snapview_server_la_LDFLAGS = -module -avoid-version
+snapview_server_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
snapview_server_la_SOURCES = snapview-server.c snapview-server-mgmt.c snapview-server-helpers.c
snapview_server_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la\
diff --git a/xlators/features/trash/src/Makefile.am b/xlators/features/trash/src/Makefile.am
index 2000359a6a9..dc216c366f1 100644
--- a/xlators/features/trash/src/Makefile.am
+++ b/xlators/features/trash/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = trash.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-trash_la_LDFLAGS = -module -avoid-version
+trash_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
trash_la_SOURCES = trash.c
trash_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/features/upcall/src/Makefile.am b/xlators/features/upcall/src/Makefile.am
index 2ac09551476..a81c36940e5 100644
--- a/xlators/features/upcall/src/Makefile.am
+++ b/xlators/features/upcall/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = upcall.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/features
-upcall_la_LDFLAGS = -module -avoid-version
+upcall_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
upcall_la_SOURCES = upcall.c upcall-internal.c
diff --git a/xlators/meta/src/Makefile.am b/xlators/meta/src/Makefile.am
index b705e86b60a..9cb55f97c62 100644
--- a/xlators/meta/src/Makefile.am
+++ b/xlators/meta/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = meta.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator
-meta_la_LDFLAGS = -module -avoid-version
+meta_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
meta_la_SOURCES = meta.c meta-helpers.c meta-defaults.c \
root-dir.c \
diff --git a/xlators/mgmt/glusterd/src/Makefile.am b/xlators/mgmt/glusterd/src/Makefile.am
index 17ea1c256d0..7d41b71e3ed 100644
--- a/xlators/mgmt/glusterd/src/Makefile.am
+++ b/xlators/mgmt/glusterd/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = glusterd.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/mgmt
glusterd_la_CPPFLAGS = $(AM_CPPFLAGS) "-DFILTERDIR=\"$(libdir)/glusterfs/$(PACKAGE_VERSION)/filter\""
-glusterd_la_LDFLAGS = -module -avoid-version
+glusterd_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
glusterd_la_SOURCES = glusterd.c glusterd-handler.c glusterd-sm.c \
glusterd-op-sm.c glusterd-utils.c glusterd-rpc-ops.c \
glusterd-store.c glusterd-handshake.c glusterd-pmap.c \
diff --git a/xlators/mount/fuse/src/Makefile.am b/xlators/mount/fuse/src/Makefile.am
index 749fb3bbbb5..3caebe81035 100644
--- a/xlators/mount/fuse/src/Makefile.am
+++ b/xlators/mount/fuse/src/Makefile.am
@@ -26,7 +26,7 @@ endif
fuse_la_SOURCES = fuse-helpers.c fuse-resolve.c fuse-bridge.c \
$(CONTRIBDIR)/fuse-lib/misc.c $(mount_source)
-fuse_la_LDFLAGS = -module -avoid-version
+fuse_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
fuse_la_LIBADD = $(GF_LDADD) @GF_FUSE_LDADD@
AM_CPPFLAGS = $(GF_CPPFLAGS) \
diff --git a/xlators/nfs/server/src/Makefile.am b/xlators/nfs/server/src/Makefile.am
index f91bbcf622a..b2831e6990e 100644
--- a/xlators/nfs/server/src/Makefile.am
+++ b/xlators/nfs/server/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = server.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/nfs
nfsrpclibdir = $(top_srcdir)/rpc/rpc-lib/src
-server_la_LDFLAGS = -module -avoid-version
+server_la_LDFLAGS = -module -avoid-version -export-symbols $(top_srcdir)/xlators/nfs/server/src/nfsserver.sym
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 \
nlmcbk_svc.c mount3udp_svc.c acl3.c netgroups.c exports.c \
@@ -25,3 +25,5 @@ AM_CFLAGS = -Wall $(GF_CFLAGS)
AM_LDFLAGS = -L$(xlatordir)
CLEANFILES =
+
+EXTRA_DIST = nfsserver.sym
diff --git a/xlators/nfs/server/src/nfsserver.sym b/xlators/nfs/server/src/nfsserver.sym
new file mode 100644
index 00000000000..2126634962a
--- /dev/null
+++ b/xlators/nfs/server/src/nfsserver.sym
@@ -0,0 +1,20 @@
+init
+fini
+fops
+cbks
+options
+notify
+mem_acct_init
+reconfigure
+dumpops
+exp_file_parse
+exp_file_print
+exp_file_get_dir
+exp_dir_get_host
+exp_dir_get_netgroup
+exp_file_dir_from_uuid
+exp_file_deinit
+ng_file_parse
+ng_file_get_netgroup
+ng_file_print
+ng_file_deinit
diff --git a/xlators/performance/io-cache/src/Makefile.am b/xlators/performance/io-cache/src/Makefile.am
index 2176ea75ca8..9fd312cee9a 100644
--- a/xlators/performance/io-cache/src/Makefile.am
+++ b/xlators/performance/io-cache/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = io-cache.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
-io_cache_la_LDFLAGS = -module -avoid-version
+io_cache_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
io_cache_la_SOURCES = io-cache.c page.c ioc-inode.c
io_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/performance/io-threads/src/Makefile.am b/xlators/performance/io-threads/src/Makefile.am
index 36a733159d6..250c5abe5fe 100644
--- a/xlators/performance/io-threads/src/Makefile.am
+++ b/xlators/performance/io-threads/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = io-threads.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
-io_threads_la_LDFLAGS = -module -avoid-version
+io_threads_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
io_threads_la_SOURCES = io-threads.c
io_threads_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/performance/md-cache/src/Makefile.am b/xlators/performance/md-cache/src/Makefile.am
index 8260b2bb04e..ba8ce63d8ec 100644
--- a/xlators/performance/md-cache/src/Makefile.am
+++ b/xlators/performance/md-cache/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = md-cache.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
-md_cache_la_LDFLAGS = -module -avoid-version
+md_cache_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
md_cache_la_SOURCES = md-cache.c
md_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/performance/open-behind/src/Makefile.am b/xlators/performance/open-behind/src/Makefile.am
index eb6dfb105f9..a73bf3e2802 100644
--- a/xlators/performance/open-behind/src/Makefile.am
+++ b/xlators/performance/open-behind/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = open-behind.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
-open_behind_la_LDFLAGS = -module -avoid-version
+open_behind_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
open_behind_la_SOURCES = open-behind.c
open_behind_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/performance/quick-read/src/Makefile.am b/xlators/performance/quick-read/src/Makefile.am
index 6344aaff8c1..4f26e43b6c3 100644
--- a/xlators/performance/quick-read/src/Makefile.am
+++ b/xlators/performance/quick-read/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = quick-read.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
-quick_read_la_LDFLAGS = -module -avoid-version
+quick_read_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
quick_read_la_SOURCES = quick-read.c
quick_read_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/performance/read-ahead/src/Makefile.am b/xlators/performance/read-ahead/src/Makefile.am
index 56823b38b67..bfef8feeab6 100644
--- a/xlators/performance/read-ahead/src/Makefile.am
+++ b/xlators/performance/read-ahead/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = read-ahead.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
-read_ahead_la_LDFLAGS = -module -avoid-version
+read_ahead_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
read_ahead_la_SOURCES = read-ahead.c page.c
read_ahead_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/performance/readdir-ahead/src/Makefile.am b/xlators/performance/readdir-ahead/src/Makefile.am
index 70525f4bf68..7423b933195 100644
--- a/xlators/performance/readdir-ahead/src/Makefile.am
+++ b/xlators/performance/readdir-ahead/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = readdir-ahead.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
-readdir_ahead_la_LDFLAGS = -module -avoid-version
+readdir_ahead_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
readdir_ahead_la_SOURCES = readdir-ahead.c
readdir_ahead_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/performance/symlink-cache/src/Makefile.am b/xlators/performance/symlink-cache/src/Makefile.am
index 4be8968b3fd..517894b9ced 100644
--- a/xlators/performance/symlink-cache/src/Makefile.am
+++ b/xlators/performance/symlink-cache/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = symlink-cache.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/performance
-symlink_cache_la_LDFLAGS = -module -avoid-version
+symlink_cache_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
symlink_cache_la_SOURCES = symlink-cache.c
symlink_cache_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/performance/write-behind/src/Makefile.am b/xlators/performance/write-behind/src/Makefile.am
index 8f2b664290c..c51c377c36c 100644
--- a/xlators/performance/write-behind/src/Makefile.am
+++ b/xlators/performance/write-behind/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = write-behind.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/performance
-write_behind_la_LDFLAGS = -module -avoid-version
+write_behind_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
write_behind_la_SOURCES = write-behind.c
write_behind_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/playground/template/src/Makefile.am b/xlators/playground/template/src/Makefile.am
index 21f1c5f6b75..74de03af238 100644
--- a/xlators/playground/template/src/Makefile.am
+++ b/xlators/playground/template/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = template.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/testing/features
-template_la_LDFLAGS = -module -avoid-version
+template_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
template_la_SOURCES = template.c
template_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/protocol/client/src/Makefile.am b/xlators/protocol/client/src/Makefile.am
index fcdf5e39303..b981c4c1512 100644
--- a/xlators/protocol/client/src/Makefile.am
+++ b/xlators/protocol/client/src/Makefile.am
@@ -2,7 +2,7 @@
xlator_LTLIBRARIES = client.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/protocol
-client_la_LDFLAGS = -module -avoid-version
+client_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
client_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
$(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \
diff --git a/xlators/protocol/server/src/Makefile.am b/xlators/protocol/server/src/Makefile.am
index c62d24fc828..50799790445 100644
--- a/xlators/protocol/server/src/Makefile.am
+++ b/xlators/protocol/server/src/Makefile.am
@@ -1,7 +1,7 @@
xlator_LTLIBRARIES = server.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/protocol
-server_la_LDFLAGS = -module -avoid-version
+server_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
server_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
$(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \
diff --git a/xlators/storage/bd/src/Makefile.am b/xlators/storage/bd/src/Makefile.am
index 60ceff31b20..f0fbc24086a 100644
--- a/xlators/storage/bd/src/Makefile.am
+++ b/xlators/storage/bd/src/Makefile.am
@@ -2,7 +2,7 @@ if ENABLE_BD_XLATOR
xlator_LTLIBRARIES = bd.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/storage
-bd_la_LDFLAGS = -module -avoid-version
+bd_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
LIBBD = -llvm2app -lrt
bd_la_SOURCES = bd.c bd-helper.c bd-aio.c
bd_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBBD) $(LIBAIO)
diff --git a/xlators/storage/posix/src/Makefile.am b/xlators/storage/posix/src/Makefile.am
index 9dd89e71826..6de572992db 100644
--- a/xlators/storage/posix/src/Makefile.am
+++ b/xlators/storage/posix/src/Makefile.am
@@ -2,7 +2,7 @@
xlator_LTLIBRARIES = posix.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/storage
-posix_la_LDFLAGS = -module -avoid-version
+posix_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
posix_la_SOURCES = posix.c posix-helpers.c posix-handle.c posix-aio.c
posix_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la $(LIBAIO) \
diff --git a/xlators/system/posix-acl/src/Makefile.am b/xlators/system/posix-acl/src/Makefile.am
index bc5fbc23b0c..69e133e48d5 100644
--- a/xlators/system/posix-acl/src/Makefile.am
+++ b/xlators/system/posix-acl/src/Makefile.am
@@ -1,6 +1,6 @@
xlator_LTLIBRARIES = posix-acl.la
xlatordir = $(libdir)/glusterfs/$(PACKAGE_VERSION)/xlator/system
-posix_acl_la_LDFLAGS = -module -avoid-version
+posix_acl_la_LDFLAGS = $(GF_XLATOR_DEFAULT_LDFLAGS)
posix_acl_la_SOURCES = posix-acl.c posix-acl-xattr.c
posix_acl_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la
diff --git a/xlators/xlator.sym b/xlators/xlator.sym
new file mode 100644
index 00000000000..f8f1386cf2e
--- /dev/null
+++ b/xlators/xlator.sym
@@ -0,0 +1,9 @@
+init
+fini
+fops
+cbks
+options
+notify
+mem_acct_init
+reconfigure
+dumpops