Hi Joe,

> The possible bug is explained in the comments near the beginning of the file
> Bug.c

Please could file a bug report using the binutils Bugzilla system here:

  https://sourceware.org/bugzilla/enter_bug.cgi?product=binutils

When you do, it would be really helpful if you could include a copy of the
"Bug" executable, as well as the other files, as it is very hard to ensure
that we have exactly the same compilation environment as you have.

As to the the bug itself:

  //  99f:      48 8b 05 8a 52 20 00    mov    rax,QWORD PTR [rip+0x20528a]     
   # 205c30 <XtStrings+0x48f0>
  //
  // The instructions access XtStrings+0x48f0.  However, if you look at Bug.elf 
you see
  //
  //  11: 0000000000201340  2649 OBJECT  GLOBAL DEFAULT   21 XtStrings
  //
  // The size of XtStrings is 2649 decimal.  But XtStrings+0x48f0 is beyond the 
region occupied by XtStrings.

My guess is that the disassembler has chosen XtStrings as being the
nearest user-visible symbol to the address referenced, in the hopes
that it might be useful to the reader.  The disassembler is not saying
that the XtStrings array is actually being used, but merely that it
could find any closer symbol.

Cheers
  Nick


Reply via email to