Fix linker error in libuutil with recent LLVM

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
This commit is contained in:
arichardson 2020-08-07 16:04:21 +00:00
parent f814ab0bd4
commit 7b741bc516
3 changed files with 2 additions and 11 deletions

View File

@ -48,9 +48,7 @@ void assfail3(const char *, uintmax_t, const char *, uintmax_t, const char *,
#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)
{

View File

@ -175,13 +175,6 @@ static int __dbuf_hold_impl(struct dbuf_hold_impl_data *dh);
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.
*/

View File

@ -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)
{