Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Dec 2020 16:22:27 +0000 (UTC)
From:      Eugene Grosbein <eugen@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r368389 - in stable/12/sys/cddl: compat/opensolaris/sys contrib/opensolaris/uts/common/fs/zfs contrib/opensolaris/uts/common/fs/zfs/sys
Message-ID:  <202012061622.0B6GMRAh093276@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: eugen
Date: Sun Dec  6 16:22:26 2020
New Revision: 368389
URL: https://svnweb.freebsd.org/changeset/base/368389

Log:
  MFC r364027 by arichardson: Fix linker error in libuutil with recent LLVM
  
  This also fixes nanobsd-style build (cross-compiling).
  Original commit log:
  
    Not marking the function as static can result in a linker error:
    undefined reference to __assfail [--no-allow-shlib-undefined]
    I noticed this error after updating our CHERI LLVM to the latest upstream
    LLVM HEAD revision.
  
    This change effectively reverts r329984 and marks dmu_buf_init_user as
    static (which keeps the GCC build happy).
  
  Reviewed By:	#zfs, asomers, freqlabs, mav
  Differential Revision: https://reviews.freebsd.org/D25663

Modified:
  stable/12/sys/cddl/compat/opensolaris/sys/assfail.h
  stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
  stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/cddl/compat/opensolaris/sys/assfail.h
==============================================================================
--- stable/12/sys/cddl/compat/opensolaris/sys/assfail.h	Sun Dec  6 15:58:50 2020	(r368388)
+++ stable/12/sys/cddl/compat/opensolaris/sys/assfail.h	Sun Dec  6 16:22:26 2020	(r368389)
@@ -48,9 +48,7 @@ void assfail3(const char *, uintmax_t, const char *, u
 #ifndef HAVE_ASSFAIL
 extern int aok;
 
-__inline int __assfail(const char *expr, const char *file, int line);
-
-__inline int
+static __inline int
 __assfail(const char *expr, const char *file, int line)
 {
 

Modified: stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
==============================================================================
--- stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c	Sun Dec  6 15:58:50 2020	(r368388)
+++ stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c	Sun Dec  6 16:22:26 2020	(r368389)
@@ -175,13 +175,6 @@ static int __dbuf_hold_impl(struct dbuf_hold_impl_data
 static boolean_t dbuf_undirty(dmu_buf_impl_t *db, dmu_tx_t *tx);
 static void dbuf_write(dbuf_dirty_record_t *dr, arc_buf_t *data, dmu_tx_t *tx);
 
-#ifndef __lint
-extern inline void dmu_buf_init_user(dmu_buf_user_t *dbu,
-    dmu_buf_evict_func_t *evict_func_sync,
-    dmu_buf_evict_func_t *evict_func_async,
-    dmu_buf_t **clear_on_evict_dbufp);
-#endif /* ! __lint */
-
 /*
  * Global data structures and functions for the dbuf cache.
  */

Modified: stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h
==============================================================================
--- stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h	Sun Dec  6 15:58:50 2020	(r368388)
+++ stable/12/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h	Sun Dec  6 16:22:26 2020	(r368389)
@@ -610,7 +610,7 @@ typedef struct dmu_buf_user {
  *       To allow enforcement of this, dbu must already be zeroed on entry.
  */
 /*ARGSUSED*/
-inline void
+static inline void
 dmu_buf_init_user(dmu_buf_user_t *dbu, dmu_buf_evict_func_t *evict_func_sync,
     dmu_buf_evict_func_t *evict_func_async, dmu_buf_t **clear_on_evict_dbufp)
 {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202012061622.0B6GMRAh093276>