Re: Can data embed in the instruction stream ?

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

 



wuxi wrote:
> Hi:
> I am wondered whether a binary, especially the one produced by a
> compiler, can have *data* embedded in its instruction stream.
> 
> I believe there can be but is there a real example ?
> 
> jump table may not be the correct example, as every time the compiler
> generates a jump table in assembly file, it will put a .rodata directive
> before generating the data in jump table. So it actually residents in
> rodata section, not text.
> 
> I want to have a full description of the example, or even better, a
> binary file illustrating the example.

Some arches load constants with simple PC-relative memory reads, and these
typically have a range of only a fe kbytes from the PC.  In large functions
we have to insert these into the function body and jump around them.  See 
arm_reorg in gcc/config/arm/arm.c.

Andrew.

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux