x86: Fix compilation bug in kprobes' twobyte_is_boostable
[linux-2.6.git] / arch / x86 / kernel / kprobes.c
index f1a6244..794bc95 100644 (file)
@@ -75,8 +75,10 @@ DEFINE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk);
        /*
         * Undefined/reserved opcodes, conditional jump, Opcode Extension
         * Groups, and some special opcodes can not boost.
+        * This is non-const to keep gcc from statically optimizing it out, as
+        * variable_test_bit makes gcc think only *(unsigned long*) is used.
         */
-static const u32 twobyte_is_boostable[256 / 32] = {
+static u32 twobyte_is_boostable[256 / 32] = {
        /*      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f          */
        /*      ----------------------------------------------          */
        W(0x00, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0) | /* 00 */