0

So I am trying to compare two ELF files original/gen_twiddle_fft16x16_imre.oe674 and new/gen_twiddle_fft16x16_imre.oe674 to see if they are the same thing. I have a hunch that they are, but, I can't tell exactly.

I can't just compare the code size and hope for the best, because their sizes are a few hundred bytes.

I run the dissassembler:

/ti_packages/all_packages/ccs1200/ccs/tools/compiler/ti-cgt-armllvm_2.1.0.LTS/bin/tiarmobjdump -D directory/gen_twiddle_fft16x16_imre.oe674

and I get:

gen_twiddle_fft16x16_imre.oe674:    file format elf32-unknown
/ti_packages/all_packages/ccs1200/ccs/tools/compiler/ti-cgt-armllvm_2.1.0.LTS/bin/tiarmobjdump: error: 'gen_twiddle_fft16x16_imre.oe674': can't find target: : error: unable to get target for 'unknown--', see --version and --triple

for both files. I look at the symbol table, and they are exactly the same, except for this part at the top:

original/:

00000000 l    df *ABS*  00000000 .hidden **TIsUkimy7q4**    

new/:

00000000 l    df *ABS*  00000000 .hidden **TIgFVpK1DaG**

Questions:

  1. What could be the reason for this difference / what does this difference mean?
  2. Is there anything else I should try?

The Dude
  • 661
  • 2
  • 11
  • 20

1 Answers1

1

What could be the reason for this difference / what does this difference mean?

Looks like two randomly-generated symbol names. The difference likely doesn't mean anything.

Is there anything else I should try?

Comparing symbol tables isn't going to tell you anything useful.

You should compare disassembly of the two objects (objdump -dr output), and also compare .data and .rodata in them (which you can dump with objdump -sj.data ..., etc.).

If they have identical .text, .data and .rodata, it's likely that the two objects are effectively the same.

Employed Russian
  • 199,314
  • 34
  • 295
  • 362
  • I try running the dissassembler (via the -D option which means dissassemble-all) and I get: /ti_packages/all_packages/ccs1200/ccs/tools/compiler/ti-cgt-armllvm_2.1.0.LTS/bin/tiarmobjdump: error: 'gen_twiddle_fft16x16_imre.oe674': can't find target: : error: unable to get target for 'unknown--', see --version and --triple So it doesn't help... – The Dude Aug 18 '22 at 18:44
  • @TheDude Sorry I missed the error. You need to tell `objdump` what's inside of this `elf32` file -- use the appropriate `--triple=...` argument to do that. – Employed Russian Aug 18 '22 at 19:35
  • Okay -- I don't know much about the triple argument. Do you have good examples / docs you can link me to? – The Dude Aug 18 '22 at 19:38