#include <sys/types.h>
#include <sys/stat.h>
#include <elf.h>
-#include <endian.h>
+#include "ctf-endian.h"
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
off_t nameoffs;
struct ctf_archive_modent *modent;
- ctf_dprintf ("Writing archive %s with %zi files\n", file, ctf_file_cnt);
+ ctf_dprintf ("Writing archive %s with %lu files\n", file,
+ (unsigned long) ctf_file_cnt);
if ((fd = open (file, O_RDWR | O_CREAT | O_TRUNC | O_CLOEXEC, 0666)) < 0)
{
uint64_t's. */
headersz = sizeof (struct ctf_archive)
+ (ctf_file_cnt * sizeof (uint64_t) * 2);
- ctf_dprintf ("headersz is %zi\n", headersz);
+ ctf_dprintf ("headersz is %lu\n", (unsigned long) headersz);
/* From now on we work in two pieces: an mmap()ed region from zero up to the
headersz, and a region updated via write() starting after that, containing
strcpy (&nametbl[namesz], names[i]);
off = arc_write_one_ctf (ctf_files[i], fd, threshold);
- ctf_dprintf ("Written %s, offset now %zi\n", names[i], off);
if ((off < 0) && (off > -ECTF_BASE))
{
errmsg = "ctf_arc_write(): Cannot determine file "
modent++;
}
- qsort_r ((ctf_archive_modent_t *) ((char *) archdr
- + sizeof (struct ctf_archive)),
- le64toh (archdr->ctfa_nfiles),
- sizeof (struct ctf_archive_modent), sort_modent_by_name, nametbl);
+ ctf_qsort_r ((ctf_archive_modent_t *) ((char *) archdr
+ + sizeof (struct ctf_archive)),
+ le64toh (archdr->ctfa_nfiles),
+ sizeof (struct ctf_archive_modent), sort_modent_by_name,
+ nametbl);
/* Now the name table. */
ctf_sect_t ctfsect;
ctf_file_t *fp;
- ctf_dprintf ("ctf_arc_open_by_offset(%zi): opening\n", offset);
+ ctf_dprintf ("ctf_arc_open_by_offset(%lu): opening\n", (unsigned long) offset);
- bzero (&ctfsect, sizeof (ctf_sect_t));
+ memset (&ctfsect, 0, sizeof (ctf_sect_t));
offset += le64toh (arc->ctfa_ctfs);
ctfsect.cts_name = _CTF_SECTION;
- ctfsect.cts_type = SHT_PROGBITS;
- ctfsect.cts_flags = SHF_ALLOC;
ctfsect.cts_size = le64toh (*((uint64_t *) ((char *) arc + offset)));
ctfsect.cts_entsize = 1;
- ctfsect.cts_offset = 0;
ctfsect.cts_data = (void *) ((char *) arc + offset + sizeof (uint64_t));
fp = ctf_bufopen (&ctfsect, symsect, strsect, errp);
if (fp)
}
#else
/* Map the header in. Only used on new, empty files. */
-static void *arc_mmap_header (int fd, size_t headersz)
+static void *arc_mmap_header (int fd _libctf_unused_, size_t headersz)
{
void *hdr;
if ((hdr = malloc (headersz)) == NULL)