On 2019-10-07 10:00, Andriy Gapon wrote:
Author: avg
Date: Mon Oct  7 08:00:54 2019
New Revision: 353168
URL: https://svnweb.freebsd.org/changeset/base/353168

Log:
   ZFS: unconditionally use atomic_swap_64
Previously, the code used a plain store on platforms that lacked
   atomic_swap_64 and possibly some other platforms as the condition worked
   only if atomic_swap_64 was a macro.
MFC after: 1 week
   X-MFC after: r353166, r353167

Modified:
   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c      Mon Oct 
 7 07:54:34 2019        (r353167)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c      Mon Oct 
 7 08:00:54 2019        (r353168)
@@ -313,12 +313,8 @@ feature_sync(spa_t *spa, zfeature_info_t *feature, uin
        if (feature->fi_feature != SPA_FEATURE_NONE) {
                uint64_t *refcount_cache =
                    &spa->spa_feat_refcount_cache[feature->fi_feature];
-#ifdef atomic_swap_64
                VERIFY3U(*refcount_cache, ==,
                    atomic_swap_64(refcount_cache, refcount));
-#else
-               *refcount_cache = refcount;
-#endif
        }
if (refcount == 0)


Hi,

Is this yours for i386?

You maybe need to include:

/sys/i386/include/atomic.h:atomic_swap_64(volatile uint64_t *p, uint64_t v)

--HPS

09:27:46 --- gdtoa_dtoa.po ---
09:27:46 --- all_subdir_rescue ---
09:27:46 ld: error: undefined symbol: atomic_swap_64
09:27:46 >>> referenced by zfeature.c:316 
(/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c:316)
09:27:46 >>>               zfeature.o:(feature_sync) in archive 
/usr/obj/usr/src/i386.i386/tmp/usr/lib/libzpool.a
09:27:46 09:27:46 ld: error: undefined symbol: atomic_swap_64
09:27:46 >>> referenced by dmu_object.c:195 
(/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c:195)
09:27:46 >>>               dmu_object.o:(dmu_object_alloc_impl) in archive 
/usr/obj/usr/src/i386.i386/tmp/usr/lib/libzpool.a
09:27:46 09:27:46 ld: error: undefined symbol: atomic_swap_64
09:27:46 >>> referenced by dmu_object.c:149 
(/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c:149)
09:27:46 >>>               dmu_object.o:(dmu_object_alloc_impl) in archive 
/usr/obj/usr/src/i386.i386/tmp/usr/lib/libzpool.a
09:27:46 --- all_subdir_lib ---
09:27:46 --- gdtoa_gdtoa.po ---
09:27:46 --- gdtoa_dtoa.po ---

_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to