Use 'ud2' assembly mnemonic instead of assembling the opcode as data

The new assembler only applies the bundling logic to things it knows are
machine instructions, not to data literals (even if they are in sections
that also contain machine instructions).  For __builtin_trap, the compiler
was emitting ".value 0x0b0f" instead of "ud2", so with bad luck it could
wind up that this two-byte instruction straddles a bundle boundary.
Using the mnemonic instead avoids that problem.

BUG= https://code.google.com/p/nativeclient/issues/detail?id=3792
TEST= toolchain trybots
R=sehr@chromium.org

Review URL: https://codereview.chromium.org/165513002
1 file changed