[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#831449: lintian on Sid amd64 reports volatile false spelling errors in binaries



* Thomas Schmitt <scdbackup@gmx.net>, 2016-07-16, 12:50:
 ings of E1
 length 41
 or lengH

Jakub Wilk wrote:
This is bizarre. Do you know why GCC does it? :-/

Not at all.
I wonder how the machine code puts these fragments together to a human readable text.

I had a look at the source and at the binaries, and now I understand what's going on.

It turns out that GCC optimized strcpy() into a series of move instructions. For example:

  48 b8 69 6e 67 73 20 6f 66 20   movabs $0x20666f2073676e69,%rax
        i  n  g  s  SP o  f  SP

  45 31 c9                        xor    %r9d,%r9d
  E  1

  49 89 84 24 a4 b1 02 00         mov    %rax,0x2b1a4(%r12)

  48 b8 6c 65 6e 67 74 68 20 34   movabs $0x34206874676e656c,%rax
           e  n  g  t  h  SP 4

  31 c9                           xor    %ecx,%ecx
  1


I'm not sure what to do about it on Lintian side. Perhaps we should spell-check only long (say, >= 12 bytes) strings in binaries?

--
Jakub Wilk


Reply to: