commit d313d386e76e70fa1dfb5de05ab4d7d0d1eb7487 Author: Mark Johnston Date: Fri Jan 8 14:23:02 2021 -0500 Fix formatting of weak symbol aliases. diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c index 8f32890057f0..0b3dac0224f9 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c @@ -1344,18 +1344,24 @@ process_obj(dtrace_hdl_t *dtp, const char *obj, int *eprobesp) /* * Aliases of weak symbols don't get a uniquifier. */ - if (GELF_ST_BIND(fsym.st_info) == STB_WEAK) + if (GELF_ST_BIND(fsym.st_info) == STB_WEAK) { len = snprintf(NULL, 0, dt_weaksymfmt, dt_symprefix, s) + 1; - else + } else { len = snprintf(NULL, 0, dt_symfmt, dt_symprefix, objkey, s) + 1; + } if ((p = dt_alloc(dtp, len)) == NULL) { dt_strtab_destroy(strtab); goto err; } - (void) snprintf(p, len, dt_symfmt, dt_symprefix, - objkey, s); + if (GELF_ST_BIND(fsym.st_info) == STB_WEAK) { + (void) snprintf(p, len, dt_weaksymfmt, + dt_symprefix, s); + } else { + (void) snprintf(p, len, dt_symfmt, dt_symprefix, + objkey, s); + } if (dt_strtab_index(strtab, p) == -1) { /*