为 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 (将#修改为@)