diff options
author | Prashanth Pai <ppai@redhat.com> | 2018-05-10 18:25:56 +0530 |
---|---|---|
committer | Amar Tumballi <amarts@redhat.com> | 2018-05-18 04:22:42 +0000 |
commit | 89e1a4e5720509c096ff6860c1a8c483e0019278 (patch) | |
tree | 88f1fabf37eff57db85c23822f305f4f16c4e280 /xlators | |
parent | c2cf3f686f3ea0efd936d2eafc404fc9d2e0acc7 (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.am | 20 | ||||
-rw-r--r-- | xlators/experimental/dht2/dht2-client/src/Makefile.am | 2 | ||||
-rw-r--r-- | xlators/experimental/dht2/dht2-server/src/Makefile.am | 2 | ||||
-rw-r--r-- | xlators/experimental/fdl/src/Makefile.am | 2 | ||||
-rw-r--r-- | xlators/experimental/jbr-client/src/Makefile.am | 2 | ||||
-rw-r--r-- | xlators/experimental/jbr-server/src/Makefile.am | 2 | ||||
-rw-r--r-- | xlators/experimental/posix2/ds/src/Makefile.am | 2 | ||||
-rw-r--r-- | xlators/experimental/posix2/mds/src/Makefile.am | 2 | ||||
-rw-r--r-- | xlators/features/changelog/lib/src/Makefile.am | 5 | ||||
-rw-r--r-- | xlators/features/glupy/src/Makefile.am | 6 | ||||
-rw-r--r-- | xlators/features/utime/src/Makefile.am | 2 | ||||
-rw-r--r-- | xlators/nfs/server/src/Makefile.am | 5 | ||||
-rw-r--r-- | xlators/performance/nl-cache/src/Makefile.am | 2 |
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 |