X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=liblttng-ust%2Flttng-ust-elf.c;h=9186ee90cb7ab093a27b8eabcc03370076e5a3a8;hb=f5a6717a184f2e2fa2e3f32cffe92904084c077e;hp=ee7eb7c4d2020b31adaeeb4c12dd460c16557a6a;hpb=8c83dbdab2ef504d609a9b8536fb212b52ed43d2;p=lttng-ust.git diff --git a/liblttng-ust/lttng-ust-elf.c b/liblttng-ust/lttng-ust-elf.c index ee7eb7c4..9186ee90 100644 --- a/liblttng-ust/lttng-ust-elf.c +++ b/liblttng-ust/lttng-ust-elf.c @@ -39,7 +39,7 @@ struct lttng_ust_elf_phdr *lttng_ust_elf_get_phdr(struct lttng_ust_elf *elf, uint16_t index) { struct lttng_ust_elf_phdr *phdr = NULL; - long offset; + off_t offset; if (!elf) { goto error; @@ -54,7 +54,8 @@ struct lttng_ust_elf_phdr *lttng_ust_elf_get_phdr(struct lttng_ust_elf *elf, goto error; } - offset = elf->ehdr->e_phoff + index * elf->ehdr->e_phentsize; + offset = (off_t) elf->ehdr->e_phoff + + (off_t) index * elf->ehdr->e_phentsize; if (lseek(elf->fd, offset, SEEK_SET) < 0) { goto error; } @@ -101,7 +102,7 @@ struct lttng_ust_elf_shdr *lttng_ust_elf_get_shdr(struct lttng_ust_elf *elf, uint16_t index) { struct lttng_ust_elf_shdr *shdr = NULL; - long offset; + off_t offset; if (!elf) { goto error; @@ -116,7 +117,8 @@ struct lttng_ust_elf_shdr *lttng_ust_elf_get_shdr(struct lttng_ust_elf *elf, goto error; } - offset = elf->ehdr->e_shoff + index * elf->ehdr->e_shentsize; + offset = (off_t) elf->ehdr->e_shoff + + (off_t) index * elf->ehdr->e_shentsize; if (lseek(elf->fd, offset, SEEK_SET) < 0) { goto error; } @@ -160,7 +162,7 @@ error: * If no name is found, NULL is returned. */ static -char *lttng_ust_elf_get_section_name(struct lttng_ust_elf *elf, uint32_t offset) +char *lttng_ust_elf_get_section_name(struct lttng_ust_elf *elf, off_t offset) { char *name = NULL; size_t len = 0, to_read; /* len does not include \0 */ @@ -403,7 +405,7 @@ error: static int lttng_ust_elf_get_build_id_from_segment( struct lttng_ust_elf *elf, uint8_t **build_id, size_t *length, - uint64_t offset, uint64_t segment_end, int *found) + off_t offset, off_t segment_end, int *found) { uint8_t *_build_id = NULL; /* Silence old gcc warning. */ size_t _length = 0; /* Silence old gcc warning. */ @@ -452,7 +454,7 @@ int lttng_ust_elf_get_build_id_from_segment( _length = nhdr.n_descsz; _build_id = zmalloc(sizeof(uint8_t) * _length); - if (!build_id) { + if (!_build_id) { goto error; } @@ -505,7 +507,7 @@ int lttng_ust_elf_get_build_id(struct lttng_ust_elf *elf, uint8_t **build_id, } for (i = 0; i < elf->ehdr->e_phnum; ++i) { - uint64_t offset, segment_end; + off_t offset, segment_end; struct lttng_ust_elf_phdr *phdr; int ret = 0;