[Bug 215422] bhnd.ko does not build reproducibly

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Dec 19 18:48:24 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=215422

--- Comment #1 from Ed Maste <emaste at freebsd.org> ---
It seems nvram_map_gen.sh -d has non-deterministic output.

I ran "sh sys/dev/bhnd/tools/nvram_map_gen.sh sys/dev/bhnd/nvram/nvram_map -d"
fifty times, and produced eight different versions of bhnd_nvram_map_data.h.

For example:

% diff -u3 bhnd_nvram_map_data.h.10 bhnd_nvram_map_data.h.28
--- bhnd_nvram_map_data.h.10    2016-12-19 13:43:52.861866000 -0500
+++ bhnd_nvram_map_data.h.28    2016-12-19 13:45:04.762683000 -0500
@@ -620,7 +620,7 @@
        /* ag1 (0x75) */
        (SPROM_OPCODE_VAR_IMM|BHND_NVAR_AG1_ID),
       
(SPROM_OPCODE_DO_BIND|0|(1<<SPROM_OP_BIND_SKIP_IN_SHIFT)|(1<<SPROM_OP_BIND_SKIP_OUT_SHIFT)),
-       (SPROM_OPCODE_REV_IMM|2),
+       (SPROM_OPCODE_REV_IMM|3),
        /* bind (u8 @ 0x75 -> 0x76) */
        /* boardflags (0x76) */
        (SPROM_OPCODE_VAR_IMM|BHND_NVAR_BOARDFLAGS_ID),
@@ -629,31 +629,30 @@
                114,
               
(SPROM_OPCODE_DO_BIND|0|(1<<SPROM_OP_BIND_SKIP_IN_SHIFT)|(0<<SPROM_OP_BIND_SKIP_OUT_SHIFT)),
                /* bind (u16 @ 0x72 -> 0x74) */
-               (SPROM_OPCODE_OFFSET|SPROM_OP_DATA_U8),
-               56,
+               /* 0x74 + 0x6 -> 0x7a */
+               (SPROM_OPCODE_OFFSET_REL_IMM|3),
                (SPROM_OPCODE_SHIFT|SPROM_OP_DATA_I8),
                -16,
       
(SPROM_OPCODE_DO_BIND|0|(1<<SPROM_OP_BIND_SKIP_IN_SHIFT)|(1<<SPROM_OP_BIND_SKIP_OUT_SHIFT)),
-       (SPROM_OPCODE_REV_IMM|3),
-       /* bind (u16 @ 0x38 -> 0x3a) */
-       /* boardflags (0x3a) */
+       (SPROM_OPCODE_REV_IMM|2),
+       /* bind (u16 @ 0x7a -> 0x7c) */
+       /* boardflags (0x7c) */
        (SPROM_OPCODE_VAR_IMM|BHND_NVAR_BOARDFLAGS_ID),
                SPROM_OPCODE_TYPE_IMM|BHND_NVRAM_TYPE_UINT16,
                (SPROM_OPCODE_OFFSET|SPROM_OP_DATA_U8),
                114,
               
(SPROM_OPCODE_DO_BIND|0|(1<<SPROM_OP_BIND_SKIP_IN_SHIFT)|(0<<SPROM_OP_BIND_SKIP_OUT_SHIFT)),
                /* bind (u16 @ 0x72 -> 0x74) */
-               /* 0x74 + 0x6 -> 0x7a */
-               (SPROM_OPCODE_OFFSET_REL_IMM|3),
+               (SPROM_OPCODE_OFFSET|SPROM_OP_DATA_U8),
+               56,
                (SPROM_OPCODE_SHIFT|SPROM_OP_DATA_I8),
                -16,
       
(SPROM_OPCODE_DO_BIND|0|(1<<SPROM_OP_BIND_SKIP_IN_SHIFT)|(1<<SPROM_OP_BIND_SKIP_OUT_SHIFT)),
-       (SPROM_OPCODE_REV_IMM|2),
-       /* bind (u16 @ 0x7a -> 0x7c) */
-       /* boardnum (0x7c) */
+       /* bind (u16 @ 0x38 -> 0x3a) */
+       /* boardnum (0x3a) */
        (SPROM_OPCODE_VAR_REL_IMM|3),
-               (SPROM_OPCODE_OFFSET|SPROM_OP_DATA_U8),
-               76,
+               /* 0x3a + 0x12 -> 0x4c */
+               (SPROM_OPCODE_OFFSET_REL_IMM|9),
       
(SPROM_OPCODE_DO_BIND|0|(1<<SPROM_OP_BIND_SKIP_IN_SHIFT)|(1<<SPROM_OP_BIND_SKIP_OUT_SHIFT)),
        (SPROM_OPCODE_REV_IMM|3),
        /* bind (u16 @ 0x4c -> 0x4e) */

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list