summaryrefslogtreecommitdiff
path: root/usr/src/lib/libctf/common/ctf_convert.c
diff options
context:
space:
mode:
authorAndy Fiddaman <omnios@citrus-it.co.uk>2020-10-26 15:12:20 +0000
committerAndy Fiddaman <omnios@citrus-it.co.uk>2020-11-12 21:15:16 +0000
commiteffb27ee30c48fe502152c38487ced379d9f8693 (patch)
tree25813dcf4baea89db0244f567c041171fdd4ddc3 /usr/src/lib/libctf/common/ctf_convert.c
parent814f981e5647bb2970ff701c91b962eb330903dd (diff)
downloadillumos-gate-effb27ee30c48fe502152c38487ced379d9f8693.tar.gz
13247 CTF conversion fails with large files
13251 CTF conversion fails if any CU is missing DWARF data Portions Contributed by: Jonathan Perkin <jperkin@joyent.com> Reviewed by: Robert Mustacchi <rm@fingolfin.org> Approved by: Dan McDonald <danmcd@joyent.com>
Diffstat (limited to 'usr/src/lib/libctf/common/ctf_convert.c')
-rw-r--r--usr/src/lib/libctf/common/ctf_convert.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/usr/src/lib/libctf/common/ctf_convert.c b/usr/src/lib/libctf/common/ctf_convert.c
index 06f4135593..a55c811386 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)
}
static 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;
@@ -139,7 +139,7 @@ ctf_elfconvert(int fd, Elf *elf, const char *label, uint_t nthrs, uint_t flags,
for (i = 0; i < NCONVERTS; i++) {
fp = NULL;
- err = ctf_converters[i](fd, elf, nthrs, flags,
+ err = ctf_converters[i](fd, elf, bsize, nthrs, flags,
&fp, errbuf, errlen);
if (err != ECTF_CONVNODEBUG)
@@ -169,8 +169,8 @@ ctf_elfconvert(int fd, Elf *elf, const char *label, uint_t nthrs, uint_t flags,
}
ctf_file_t *
-ctf_fdconvert(int fd, const char *label, uint_t nthrs, uint_t flags, int *errp,
- char *errbuf, size_t errlen)
+ctf_fdconvert(int fd, const char *label, uint_t bsize, uint_t nthrs,
+ uint_t flags, int *errp, char *errbuf, size_t errlen)
{
int err;
Elf *elf;
@@ -185,7 +185,8 @@ ctf_fdconvert(int fd, const char *label, uint_t nthrs, uint_t flags, int *errp,
return (NULL);
}
- fp = ctf_elfconvert(fd, elf, label, nthrs, flags, errp, errbuf, errlen);
+ fp = ctf_elfconvert(fd, elf, label, bsize, nthrs, flags, errp, errbuf,
+ errlen);
(void) elf_end(elf);
return (fp);