New test case compilation

Joel Sherrill Joel.Sherrill at OARcorp.com
Tue Aug 21 01:37:14 UTC 2012


If you notice closely, this is supposed to be inlined. It has been inlined into two object files and may be compiled differently in the two. However the usual explanation is that it is in two executables but has different amounts of padding at the end. If you can tell which two object disagree on the size y poo u can compare the alignment padding. It may not be being detected right. Sometimes gcc or the linker use different multi-byte nop instructions.

I have locally hacked that error to assume the shortest one is right and adjust the recorded size in covoar. But there is usually a good explanation why covoar is reporting this.

Ralf Corsepius <ralf.corsepius at rtems.org> wrote:


On 08/20/2012 07:29 PM, Krzysztof Mięsowicz wrote:
> Thanks for reply,
>
> I run bootstrap, and then reconfigure and make it all. I also run
> do_coverage script and finally it performed analysis, my test also was
> running. I see that do_coverage also generated coverage files *exe.cov
> but what seems strange it didn't generate html files. I got an error:
> File: /home/rtems/rtems-4.11-work/pc386-tests/rtems.syms, Line 364:
> Duplicate symbol: _Thread_Enable_dispatch
> ERROR==> Different lengths for the symbol _Thread_Enable_dispatch
> Because of that it didn't generate appropriate txt and html files.
> Have you ever face that situation?


"Different lengths for the symbol" means there are two, different
colliding symbols somewhere inside of *.o's. They usually happens due to
duplicate definitions of a symbol.

In C, this normally only happen with improperly implemented or missing
declarations of symbols, in asm there are many other possibilities for
causes.

Ralf


_______________________________________________
rtems-devel mailing list
rtems-devel at rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel




More information about the devel mailing list