问题描述
我正在编译一个目标是 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 (将#修改为@)