如何解决为 powerPC 交叉编译时 libgcov.a 函数为空
我正在编译一个目标是 powerPC 的交叉编译器。 libgcov.a 导致在编译交叉编译器后没有任何功能(函数是空的!)。这是编译第一阶段 GCC 后 libgcov.a 的转储:
In archive libgcov.a:
_gcov_merge_add.o: file format elf32-powerpc
Disassembly of section .text:
00000000 <__gcov_merge_add>:
#if defined(inhibit_libc)
/* If libc and its header files are not available,provide dummy functions. */
#ifdef L_gcov_merge_add
void __gcov_merge_add (gcov_type *counters __attribute__ ((unused)),unsigned n_counters __attribute__ ((unused))) {}
0: 4e 80 00 20 blr
_gcov_merge_single.o: file format elf32-powerpc
Disassembly of section .text:
00000000 <__gcov_merge_single>:
unsigned n_counters __attribute__ ((unused))) {}
#endif
#ifdef L_gcov_merge_single
void __gcov_merge_single (gcov_type *counters __attribute__ ((unused)),unsigned n_counters __attribute__ ((unused))) {}
0: 4e 80 00 20 blr
_gcov_merge_ior.o: file format elf32-powerpc
_gcov_merge_time_profile.o: file format elf32-powerpc
_gcov_merge_icall_topn.o: file format elf32-powerpc
_gcov_interval_profiler.o: file format elf32-powerpc
_gcov_interval_profiler_atomic.o: file format elf32-powerpc
_gcov_pow2_profiler.o: file format elf32-powerpc
_gcov_pow2_profiler_atomic.o: file format elf32-powerpc
_gcov_one_value_profiler.o: file format elf32-powerpc
_gcov_one_value_profiler_atomic.o: file format elf32-powerpc
_gcov_average_profiler.o: file format elf32-powerpc
_gcov_average_profiler_atomic.o: file format elf32-powerpc
_gcov_ior_profiler.o: file format elf32-powerpc
_gcov_ior_profiler_atomic.o: file format elf32-powerpc
_gcov_indirect_call_profiler_v3.o: file format elf32-powerpc
_gcov_time_profiler.o: file format elf32-powerpc
_gcov_indirect_call_topn_profiler.o: file format elf32-powerpc
_gcov_dump.o: file format elf32-powerpc
Disassembly of section .text:
00000000 <__gcov_dump>:
#ifdef L_gcov_reset
void __gcov_reset (void) {}
#endif
#ifdef L_gcov_dump
void __gcov_dump (void) {}
0: 4e 80 00 20 blr
_gcov_flush.o: file format elf32-powerpc
Disassembly of section .text:
00000000 <__gcov_flush>:
#include "gthr.h"
#if defined(inhibit_libc)
#ifdef L_gcov_flush
void __gcov_flush (void) {}
0: 4e 80 00 20 blr
_gcov_fork.o: file format elf32-powerpc
_gcov_execl.o: file format elf32-powerpc
_gcov_execlp.o: file format elf32-powerpc
_gcov_execle.o: file format elf32-powerpc
_gcov_execv.o: file format elf32-powerpc
_gcov_execvp.o: file format elf32-powerpc
_gcov_execve.o: file format elf32-powerpc
_gcov_reset.o: file format elf32-powerpc
Disassembly of section .text:
00000000 <__gcov_reset>:
#ifdef L_gcov_flush
void __gcov_flush (void) {}
#endif
#ifdef L_gcov_reset
void __gcov_reset (void) {}
0: 4e 80 00 20 blr
_gcov.o: file format elf32-powerpc
Disassembly of section .text:
00000000 <__gcov_init>:
#if defined(inhibit_libc)
/* If libc and its header files are not available,provide dummy functions. */
#if defined(L_gcov)
void __gcov_init (struct gcov_info *p __attribute__ ((unused))) {}
0: 4e 80 00 20 blr
我尝试使用“--with-headers”选项编译第一阶段的gcc,但没有任何效果。我还尝试操纵在编译第一阶段 gcc 时定义的 prevent_libc 标志,这也不起作用。有什么建议么?以前有人遇到过同样的问题吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。