-
Bug
-
Resolution: Fixed
-
Medium
-
Code Generation Tools
-
CODEGEN-7745
-
ARM_20.2.1.LTS
-
-
default
Attached are two .out files and a Windows batch file. Run the batch file to create two sets of text disassembly output files.
rm_gcc.dis rm_llvm.dis rm_ti.dis tms_gcc.dis tms_llvm.dis tms_ti.dis
The rm_* ones are based on RM48L952_rtiblinky.out, and the tms_* ones are based on TMS570LC4357_TI_halcogen.out. The *_llvm ones are produced by armobjdump, which is the llvm object file dumper. The *_gcc ones are produced by arm-none-eabi-objdump, which is the GCC object file dumper. The *_ti ones are produced by armdis, the TI disassembler.
Here is the version for the GCC object file dumper ...
% arm-none-eabi-objdump --version GNU objdump (GNU Tools for Arm Embedded Processors 7-2017-q4-major) 2.29.51.20171128 Copyright (C) 2017 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) any later version. This program has absolutely no warranty.
Compare the files. The GCC and TI files mostly agree, though there are minor differences in how symbols, register names, etc. are handled. The LLVM ones are different. The file rm_llvm.dis has lots of agreements, except for many instructions that are not recognized and disassemble as ...
284: d1 4f 0e e3 <unknown> ... 28c: ff 4f 4f e3 <unknown> ... 290: ed 5f 0e e3 <unknown>
The file tms_llvm.dis is not the same at all.