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.

TMS320F28379D: Getting different outputs compiling a project in linux and windows using compiler version 22.6.1

Part Number: TMS320F28379D


Tool/software:

I am trying to do a migration from windows to linux, I am using the same compiler version for linux and windows, the 22.6.1, but in one of the CPUs I am getting different result in the .hex file. I also made a diff in the .map file and noticed that some symbols are moved by just 1 position. Those simbols are function names, I tried to check if the instructions were the same but I have no idea of how to do that.

So here is my question, is it known that the ouput from the linux compiler and windows compiler is different for the same project? If it is guaranteed to be the same output what could be making my output different for one of the CPUs? I might be missing some knowledge so documentation related to this will be appreciated.

Thanks in advance

EDIT:

As you can see there are some changes between linux (right) and windows (left)

Also some symbols are moved by 1 byte

EDIT 2:

I did some more research, notice the diff, in the whole code the only relevant diff is this section, when in windows (left side) adds an extra instruction MOVL XT, ACC and then uses XT, where in linux (right side) directly uses ACC. Also seems like the ACC asignment is earlier in the windows part

  • Can you submit a test case (cut down if possible) that we can use to reproduce and analyze the issue? Thanks.

  • Hi, sorry for my late reply, right know I will have to invest a bit of time that I don't have, also I am not a really experienced creating projects and debugging this kind of issues. Also this project contains private information of where I work so cut it down is mandatory and will get me some time. As soon as I get the time I will provide the example.

    I would like to ask if you have any previous reports of this happening or if you have any workarounds when this kind of stuff happens.

    I tried to migrate it in another computer just in case and I got the exact same result if this helps. As soon as I can I will provide this info

  • From the map file fragment, I can tell the problem is isolated to the source file Int_Period_INV_cpu1.c.  For that file, please follow the directions in the article How to Submit a Compiler Test Case.

    Thanks and regards,

    -George