summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason King <jason.king@joyent.com>2020-11-16 22:28:40 +0000
committerJason King <jason.king@joyent.com>2020-11-16 22:30:37 +0000
commitfdc047b0a7073d8905da517c7dfe40cf1e873b92 (patch)
tree54edcb1630defaabb3bc9072ee6e77ac70ca0c05
parent5ffcb7f72a2f7a214b40ea8d0ef402f68aeada38 (diff)
downloadillumos-joyent-fdc047b0a7073d8905da517c7dfe40cf1e873b92.tar.gz
13247 CTF conversion fails with large files [fix merge]
-rw-r--r--usr/src/lib/libctf/common/ctf_convert.c4
-rw-r--r--usr/src/lib/libctf/common/libctf.h4
-rw-r--r--usr/src/lib/libproc/common/Psymtab.c4
3 files changed, 6 insertions, 6 deletions
diff --git a/usr/src/lib/libctf/common/ctf_convert.c b/usr/src/lib/libctf/common/ctf_convert.c
index 07f344ebaa..5b6c8a72b2 100644
--- a/usr/src/lib/libctf/common/ctf_convert.c
+++ b/usr/src/lib/libctf/common/ctf_convert.c
@@ -100,8 +100,8 @@ ctf_has_c_source(Elf *elf, char *errmsg, size_t errlen)
}
ctf_file_t *
-ctf_elfconvert(int fd, Elf *elf, const char *label, uint_t nthrs, uint_t flags,
- int *errp, char *errbuf, size_t errlen)
+ctf_elfconvert(int fd, Elf *elf, const char *label, uint_t bsize, uint_t nthrs,
+ uint_t flags, int *errp, char *errbuf, size_t errlen)
{
int err, i;
ctf_file_t *fp = NULL;
diff --git a/usr/src/lib/libctf/common/libctf.h b/usr/src/lib/libctf/common/libctf.h
index 78b0a7a786..a44ff4eaba 100644
--- a/usr/src/lib/libctf/common/libctf.h
+++ b/usr/src/lib/libctf/common/libctf.h
@@ -82,9 +82,9 @@ extern void ctf_diff_fini(ctf_diff_t *);
#define CTF_ALLOW_MISSING_DEBUG 0x01
extern ctf_file_t *ctf_elfconvert(int, Elf *, const char *, uint_t, uint_t,
+ uint_t, int *, char *, size_t);
+extern ctf_file_t *ctf_fdconvert(int, const char *, uint_t, uint_t, uint_t,
int *, char *, size_t);
-extern ctf_file_t *ctf_fdconvert(int, const char *, uint_t, uint_t, int *,
- char *, size_t);
typedef enum ctf_hsc_ret {
CHR_ERROR = -1,
diff --git a/usr/src/lib/libproc/common/Psymtab.c b/usr/src/lib/libproc/common/Psymtab.c
index 303755950d..fe0b0075e0 100644
--- a/usr/src/lib/libproc/common/Psymtab.c
+++ b/usr/src/lib/libproc/common/Psymtab.c
@@ -775,14 +775,14 @@ Pconvert_file_ctf(file_info_t *fptr)
fp = NULL;
if (fptr->file_dbgelf != NULL) {
fp = ctf_elfconvert(fptr->file_fd, fptr->file_dbgelf, NULL, 1,
- 0, &err, errmsg, sizeof (errmsg));
+ 1, 0, &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,
+ fp = ctf_elfconvert(fptr->file_fd, fptr->file_elf, NULL, 1, 1,
0, &err, errmsg, sizeof (errmsg));
if (fp == NULL) {
dprintf("failed to convert %s: %s\n", fptr->file_pname,