On Thu, Jul 27, 2023 at 02:23:11PM +0800, Fr3v1 wrote: > Hi, I am using the command `nm --defined-only -l --demangle=auto -n > libexpatw.so.1_withsym > libexpatw_nm` to get the function address and > corresponding address in source code. > And the result seems not correct enough: every function address is one byte > more than the result in IDA (which the result in IDA is the same as the the > info in dwarfdump and llvm-dwarfdump) e.g: in IDA the > function processXmlDecl starts at text:0000397C, but the nm shows it starts > at 0000397D. > I tested some other files, but only this one trigger this thing.
See the ARM EABI documents. Thumb function symbols are marked by setting the low bit of their value. -- Alan Modra Australia Development Lab, IBM