0

PROBLEM

For a certain .obj, my compiler "toggles" the value of a byte between builds even when I don't change anything. It's always the same byte position and it's always one of two values: 0x00 or 0x80

enter image description here

BACKGROUND

I'm using QNX C++ compiler; it's gcc-based so just think of it as gcc.

My make command is:

C:\make421.exe all --trace --debug=vjm --jobs=16 --output-sync=recurse --print-directory --print-data-base

The make rule for this object lists files which are ALL contained within my top-level working folder.

It only depends on one .cpp file which doesn't change - I'm doing Beyond Compare on the entire HMI_FORGF folder which is where the artifacts are - and I'm also diffing the other folders that hold libraries.

ABSOLUTELY NOTHING IS CHANGING!

QUESTION

Why is one byte being toggled with no change in . . . ANYTHING?

Yes I'll also ask QNX but wanted to see if anyone has experienced something like this.

UPDATE

I did a diff of the objdump -xSsDg output but it's over 100MB is size so can't upload it (if anyone knows a site to host this let me know).

There are two sections in the diff that are different:

First section, left

Contents of section .ARM.exidx.text._ZN5QHashI7QStringiE11deleteNode2EPN9QHashData4NodeE:
 0000 00000000 00000000                    ........        

First section, right

Contents of section .ARM.exidx.text._ZN5QHashI7QStringiE11deleteNode2EPN9QHashData4NodeE:
 0000 00000000 00000080                    ........        

Second section, left

00000000 <.ARM.exidx.text._ZN5QHashI7QStringiE11deleteNode2EPN9QHashData4NodeE>:
    ...
            0: R_ARM_PREL31 .text._ZN5QHashI7QStringiE11deleteNode2EPN9QHashData4NodeE
            0: R_ARM_NONE   __aeabi_unwind_cpp_pr1
            4: R_ARM_PREL31 .ARM.extab.text._ZN5QHashI7QStringiE11deleteNode2EPN9QHashData4NodeE

Second section, right:

00000000 <.ARM.exidx.text._ZN5QHashI7QStringiE11deleteNode2EPN9QHashData4NodeE>:
   0:   00000000    andeq   r0, r0, r0
            0: R_ARM_PREL31 .text._ZN5QHashI7QStringiE11deleteNode2EPN9QHashData4NodeE
            0: R_ARM_NONE   __aeabi_unwind_cpp_pr1
   4:   80000000    andhi   r0, r0, r0
            4: R_ARM_PREL31 .ARM.extab.text._ZN5QHashI7QStringiE11deleteNode2EPN9QHashData4NodeE
Bob
  • 4,576
  • 7
  • 39
  • 107

0 Answers0