[Bug 216588] head -312942 via amd64-xtoolchain-gcc: dev/mlx5/mlx5_en/mlx5_en_ethtool.c:675:9: error: assignment of read-only variable 'entry'

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Jan 30 00:33:31 UTC 2017


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

            Bug ID: 216588
           Summary: head -312942 via amd64-xtoolchain-gcc:
                    dev/mlx5/mlx5_en/mlx5_en_ethtool.c:675:9: error:
                    assignment of read-only variable 'entry'
           Product: Base System
           Version: CURRENT
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: markmi at dsl-only.net
                CC: freebsd-amd64 at FreeBSD.org
                CC: freebsd-amd64 at FreeBSD.org

When I attempted to buildworld buildkernel for
-r312942 via use of amd64-xtoolchain-gcc it
stopped with:

--- all_subdir_mlx5en ---
/usr/src/sys/modules/mlx5en/../../dev/mlx5/mlx5_en/mlx5_en_ethtool.c: In
function 'mlx5e_create_diagnostics':
/usr/src/sys/modules/mlx5en/../../dev/mlx5/mlx5_en/mlx5_en_ethtool.c:665:9:
error: assignment of read-only variable 'entry'
   entry = mlx5_core_pci_diagnostics_table[x];
         ^
/usr/src/sys/modules/mlx5en/../../dev/mlx5/mlx5_en/mlx5_en_ethtool.c:675:9:
error: assignment of read-only variable 'entry'
   entry = mlx5_core_general_diagnostics_table[x];
         ^
*** [mlx5_en_ethtool.o] Error code 1

make[4]: stopped in /usr/src/sys/modules/mlx5en
.ERROR_TARGET='mlx5_en_ethtool.o'
.ERROR_META_FILE='/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/sys/GENERIC-NODBG/modules/usr/src/sys/modules/mlx5en/mlx5_en_ethtool.o.meta'

/usr/src/sys/dev/mlx5/diagnostics.h shows:

struct mlx5_core_diagnostics_entry {
        const char *const desc;
        u16     counter_id;
};

Note the const between * and desc: the pointer is
declared to be constant.

/usr/src/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c
shows:

static void
mlx5e_create_diagnostics(struct mlx5e_priv *priv)
{
        struct mlx5_core_diagnostics_entry entry;
. . .
        for (x = 0; x != MLX5_CORE_PCI_DIAGNOSTICS_NUM; x++) {
                entry = mlx5_core_pci_diagnostics_table[x];
. . .
        }

        /* create general diagnostics */
        for (x = 0; x != MLX5_CORE_GENERAL_DIAGNOSTICS_NUM; x++) {
                entry = mlx5_core_general_diagnostics_table[x];
 . .
        }
}

which involves assignments to constant pointers: the
desc value is supposed to be constant.

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


More information about the freebsd-bugs mailing list