diff usr/src/lib/libproc/common/Psymtab.c @ 25635:ce2b70e7aab0

[illumos-gate merge] commit 0a554e9f2c0d440dc40a97fae2d18f1d428ca786 13404 man page spelling errors commit 9f76c6ed5b6ee0cc0bf631daca15ac3dc5fc70c4 13400 zfs-tests: implicit conversion from 'enum dmu_objset_type' to 'enum lzc_dataset_type' commit ef96fc31fc4f4306719704352d5c3e33573c039f 13399 zfs: error: implicit conversion from 'boolean_t' to 'ds_hold_flags_t' commit 56870e8c76c2675bcef1fcee5d519585ce9c768e 13393 cheetah: case value '47616' not in enumerated type commit 8247326397b1a16f37e70cf13f5b7a4f50d06712 13403 zfs: symbol 'g_zfs' is multiply-defined commit 436b964b19ef06803ad9165542d80d9d731d6486 13402 zpool: symbol 'g_zfs' is multiply-defined commit 99308ed0417a2b8ab73c5856a8a5345ce2a7aea7 13396 PoolsExecption typo in resource pools javadoc commit 1575b751c16622553e958c1e5c45e59c86b15c6e 13392 px: case value '3' not in enumerated type commit 9b0429a10eec9313ec782d8421272aff70adbfdc 13339 Add support for Hygon Dhyana Family 18h processor commit d20422bd742384b77102bb3bd09e0dc4b7372e50 13351 loader: vbe_find_mode_xydm() is using wrong safety and iteration is buggy commit 174b8e455f9a6974e69fa4e28792580acde0892d 13311 uptime(1) dazed and confused for a minute after boot commit f816551bb187d104fbf2757703d7a5d2189a3a18 13401 eeprom: 'lv' may be used uninitialized in this function commit 5e96da73c99d9d17ff5a58b793fff2ab6dcadf25 13391 fm: build errors with gcc 7 on SPARC commit 58b55f701e285559e4799354996fd284238ed0d4 13398 libstand: xdrproc_t should return bool commit c6a28d7650029501a356f7b75b2a10a5c4430cef 13394 fhc: case value '4294967295' not in enumerated type commit 58d4b16fe601073f2408de78e3db7e9bfa9abfd2 13355 remove topo module warning gags commit 1473b8d60e902819558a8b0e8a257eb0d754c3c3 13388 ZFS list bookmark not working on zvols commit 4bba12ca5cd6f92aaf0d4c0d19d05528110bc095 13368 libbe_py should support temporary BE activation commit a92282e44f968185a6bba094d1e5fece2da819cf 13376 fm: variable may be used uninitialized commit 8b1df8bf71b7b62e7e4d46fe6b457d4d6447b2b8 13367 beadm activate -t should not promote new BE datasets commit 9704bf7fb82e71b685e194a967937ff03843e73a 13317 Decrease contention on dn_struct_rwlock commit 88a08813800ed7ba7c927986421cee437f7f2233 13363 ctfconvert could support more granular ignore for missing debug data commit 3dd4cd56e7843e01a8ab147a0d102cd4f6d732c1 13342 ctfconvert could encode _Float128 for 32-bit objects commit 73197b540cc5f0434c409b68ca9e1a514a6ce91b 13336 ctfconvert should be able to unconditionally attempt conversion commit dd4422524768709a579a2a93a10c78a88a6b0ecb 13280 CTF: provide option to truncate and continue Conflicts & other fixes (with help from Jason King <jbk@joyent.com>): usr/src/lib/fm/topo/modules/common/ipmi/ipmi_enum.c usr/src/lib/libctf/common/ctf_convert.c usr/src/lib/libctf/common/ctf_lib.c usr/src/lib/libctf/common/libctf.h usr/src/lib/libproc/common/Psymtab.c usr/src/man/man1/ld.so.1.1 usr/src/man/man4/process.4
author Dan McDonald <danmcd@joyent.com>
date Mon, 04 Jan 2021 14:49:49 -0500
parents 90db1918a22e
children
line wrap: on
line diff
--- a/usr/src/lib/libproc/common/Psymtab.c	Sun Jan 03 09:14:04 2021 -0500
+++ b/usr/src/lib/libproc/common/Psymtab.c	Mon Jan 04 14:49:49 2021 -0500
@@ -755,6 +755,7 @@
 Pconvert_file_ctf(file_info_t *fptr)
 {
 	int err;
+	ctf_convert_t *cch;
 	ctf_file_t *fp;
 	char errmsg[1024];
 
@@ -770,20 +771,25 @@
 	 */
 	if (fptr->file_cvt == B_TRUE)
 		return (NULL);
+
+	cch = ctf_convert_init(&err);
+	if (cch == NULL)
+		return (NULL);
+
 	fptr->file_cvt = B_TRUE;
 
 	fp = NULL;
 	if (fptr->file_dbgelf != NULL) {
-		fp = ctf_elfconvert(fptr->file_fd, fptr->file_dbgelf, NULL, 1,
-		    1, 0, &err, errmsg, sizeof (errmsg));
+		fp = ctf_elfconvert(cch, fptr->file_fd, fptr->file_dbgelf, &err,
+		    errmsg, sizeof (errmsg));
 		if (fp == NULL) {
 			dprintf("failed to convert %s: %s\n", fptr->file_pname,
 			    err == ECTF_CONVBKERR ? errmsg : ctf_errmsg(err));
 		}
 	}
 	if (fp == NULL) {
-		fp = ctf_elfconvert(fptr->file_fd, fptr->file_elf, NULL, 1, 1,
-		    0, &err, errmsg, sizeof (errmsg));
+		fp = ctf_elfconvert(cch, fptr->file_fd, fptr->file_elf, &err,
+		    errmsg, sizeof (errmsg));
 		if (fp == NULL) {
 			dprintf("failed to convert %s: %s\n", fptr->file_pname,
 			    err == ECTF_CONVBKERR ? errmsg : ctf_errmsg(err));
@@ -793,6 +799,7 @@
 		fptr->file_ctfp = fp;
 	}
 
+	ctf_convert_fini(cch);
 	return (NULL);
 }