This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM2634: Differences on appimage files built by different PCs

Part Number: AM2634


We have differences in the .appimage built by different PCs, starting from the same sources with the same Release configuration Analyzing the generated .mapfile we can see that there are differences in some sections of a few file. In particular I see that one of this is the .rodata.str1.1 section of the ti_drivers_open_close.o. This file is one automatically generated by the syscfg (v 1.15.0).

Why we have those differences? How can we avoid this?

  • Alessandro, the topic expect has been notified and will reply shortly.

  • I do not know why this ...

    there are differences in some sections of a few file

    ... happens.  But I can guide you in finding the root cause.  

    The section .rodata.str1.1 contains the constant strings for that file.  Thus, isolate and compare these strings.  

    For ti_drivers_open_close.c, change the build so that -g (emit debug information) is not used, and -S is used instead of -c.  This means the file named with -o is not an object file, but a text file that contains the compiler generated assembly.  Search the strings in this file with a command similar to ...

    $findstr ".asciz" ti_drivers_open_close.o
     

    Do this task on both PCs.  Compare the strings for the files generated on each PC.  Work backwards from the differences you see.

    Thanks and regards,

    -George

  • I found the problem.

    Some drivers has a DebugP_assert macro that expands this way

    #define DebugP_assert(expression) _DebugP_assert(expression, __FILE__, __FUNCTION__, __LINE__, #expression)

    so every PC will use the full path for the __FILE__ symbol.

    We will try to disable debug assertions in the release configuration.

    Thanks

    -Alessandro