/* * Microblaze works a little differently from other arches, because * of the MICROBLAZE_64 reloc type. Here, a 32 bit address is split * over two instructions, an 'imm' instruction which provides the top * 16 bits, then the instruction "proper" which provides the low 16 * bits.
*/
/* * Crack open a symbol reference and extract the address to be * relocated. rp is a potentially unaligned pointer to the * reference
*/
/* store the two halves back into memory */
put_unaligned(val_hi, p);
put_unaligned(val_lo, p+1);
} else { /* Put it straight in, no messing around */
put_unaligned(addr, p);
} return 0;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.