Linux perf编译not define GELF_ST_VISIBILITY问题解决方案
Posted smartvxworks
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux perf编译not define GELF_ST_VISIBILITY问题解决方案相关的知识,希望对你有一定的参考价值。
原因:
symbol-elf.c文件缺少对应GELF_ST_VISIBILITY定义
解决办法:
添加如下定义:
#ifndef ELF32_ST_VISIBILITY
#define ELF32_ST_VISIBILITY(o) ((o) & 0x03)
#endif
/* For ELF64 the definitions are the same. */
#ifndef ELF64_ST_VISIBILITY
#define ELF64_ST_VISIBILITY(o) ELF32_ST_VISIBILITY (o)
#endif
/* How to extract information held in the st_other field. */
#ifndef GELF_ST_VISIBILITY
#define GELF_ST_VISIBILITY(val) ELF64_ST_VISIBILITY (val)
#endif
参考代码:symbol-elf.c - tools/perf/util/symbol-elf.c - Linux source code (v5.17.8) - Bootlin
以上是关于Linux perf编译not define GELF_ST_VISIBILITY问题解决方案的主要内容,如果未能解决你的问题,请参考以下文章
IronPython 将python源码编译成dll,用python调用报错ImportError: dynamic module does not define...
如何解决mips-openwrt-linux-gcc: environment variable "STAGING_DIR" not defined?
从源代码/从头开始编译 linux perf 工具及其依赖的内核模块
wenet编译报Do not know how to define a 32-bit integer quantity on your system
wenet编译报Do not know how to define a 32-bit integer quantity on your system