From 983a481e7516ab54b3697a28aa16a81f51573152 Mon Sep 17 00:00:00 2001 From: Michael Jeanson Date: Tue, 13 Oct 2020 17:54:04 -0400 Subject: [PATCH 1/1] port: ELF_ST_TYPE is defined in elf.h on FreeBSD MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit No need to alias ELF32_ST_TYPE to ELF_ST_TYPE. Signed-off-by: Michael Jeanson Signed-off-by: Jérémie Galarneau Change-Id: I8afa2fb9d96b81d994b90c8291f2f457a037a525 --- src/common/lttng-elf.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/common/lttng-elf.c b/src/common/lttng-elf.c index bef20ffd4..d6cef2fe8 100644 --- a/src/common/lttng-elf.c +++ b/src/common/lttng-elf.c @@ -133,8 +133,17 @@ dst_sym.st_size = src_sym.st_size; \ } while (0) -/* Both 32bit and 64bit use the same 1 byte field for type. (See elf.h) */ -#define ELF_ST_TYPE(val) ELF32_ST_TYPE(val) +#ifndef ELFCLASSNUM +#define ELFCLASSNUM 3 +#endif + +#ifndef ELFDATANUM +#define ELFDATANUM 3 +#endif + +#ifndef EV_NUM +#define EV_NUM 2 +#endif struct lttng_elf_ehdr { uint16_t e_type; @@ -846,7 +855,8 @@ int lttng_elf_get_symbol_offset(int fd, char *symbol, uint64_t *offset) /* * If the current symbol is not a function; skip to the next symbol. */ - if (ELF_ST_TYPE(curr_sym.st_info) != STT_FUNC) { + /* Both 32bit and 64bit use the same 1 byte field for type. (See elf.h) */ + if (ELF32_ST_TYPE(curr_sym.st_info) != STT_FUNC) { continue; } -- 2.34.1