Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Jan 2017 00:33:31 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-amd64@FreeBSD.org
Subject:   [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'
Message-ID:  <bug-216588-6@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D216588

            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@FreeBSD.org
          Reporter: markmi@dsl-only.net
                CC: freebsd-amd64@FreeBSD.org
                CC: freebsd-amd64@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 =3D 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 =3D mlx5_core_general_diagnostics_table[x];
         ^
*** [mlx5_en_ethtool.o] Error code 1

make[4]: stopped in /usr/src/sys/modules/mlx5en
.ERROR_TARGET=3D'mlx5_en_ethtool.o'
.ERROR_META_FILE=3D'/usr/obj/amd64_xtoolchain/amd64.amd64/usr/src/sys/GENER=
IC-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 =3D 0; x !=3D MLX5_CORE_PCI_DIAGNOSTICS_NUM; x++) {
                entry =3D mlx5_core_pci_diagnostics_table[x];
. . .
        }

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

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

--=20
You are receiving this mail because:
You are on the CC list for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-216588-6>