Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 19 May 2018 20:50:33 -0700
From:      Mark Millard <marklmi26-fbsd@yahoo.com>
To:        mmacy@FreeBSD.org, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: head -r333905 broke the builds [ -r333906 changed the details but they are still broken]
Message-ID:  <31730734-59C9-44C1-9B2B-27DEA5BE867E@yahoo.com>
In-Reply-To: <1E5B6B0B-82B2-45F2-B10D-B5227C8BDFBC@yahoo.com>
References:  <1E5B6B0B-82B2-45F2-B10D-B5227C8BDFBC@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2018-May-19, at 7:56 PM, Mark Millard <marklmi26-fbsd at yahoo.com> =
wrote:

> https://ci.freebsd.org shows all the builds being broken and
> going through the list -r333903 was working but -r333905 and
> later are not. (I ignore riscv64 here.)
>=20
> Using powerpc64 as an -r333905 example:
>=20
> --- sourcefilter.o ---
> In file included from =
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/netinet/ip_var.h:39,
>                 from /usr/src/lib/libc/net/sourcefilter.c:43:
> /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:42: =
error: expected declaration specifiers or '...' before 'epoch_cb_count'
> cc1: warnings being treated as errors
> /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:42: =
warning: data definition has no type or storage class
> /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:43: =
error: expected declaration specifiers or '...' before 'epoch_cb_task'
> /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:43: =
warning: 'struct grouptask' declared inside parameter list
> /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:43: =
warning: its scope is only this definition or declaration, which is =
probably not what you want
> /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:43: =
warning: data definition has no type or storage class
> /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:43: =
error: conflicting types for 'DPCPU_DECLARE'
> /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:42: =
error: previous declaration of 'DPCPU_DECLARE' was here
> /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h: In =
function 'epoch_enter_preempt':
> /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:68: =
error: 'curthread' undeclared (first use in this function)
> /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:68: =
error: (Each undeclared identifier is reported only once
> /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:68: =
error: for each function it appears in.)
> /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h: In =
function 'epoch_exit_preempt':
> /usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:81: =
error: 'curthread' undeclared (first use in this function)
>=20
>=20
> This seems to match up with:
>=20
> Author: mmacy
> Date: Sun May 20 00:22:28 2018
> New Revision: 333905
> URL:=20
> https://svnweb.freebsd.org/changeset/base/333905
>=20
>=20
> Log:
>  ip(6)_freemoptions: defer imo destruction to epoch callback task
>=20
>  Avoid the ugly unlock / lock of the inpcbinfo where we need to
>  figure out what kind of lock we hold by simply deferring the
>  operation to another context. (Also a small dependency for
>  converting the pcbinfo read lock to epoch)
>=20
> Modified:
>  head/sys/netinet/in_mcast.c
>  head/sys/netinet/in_pcb.c
>  head/sys/netinet/ip_var.h
>  head/sys/netinet6/in6_mcast.c
>  head/sys/netinet6/in6_var.h
>  head/sys/netinet6/ip6_var.h

It looks like -r333906 changed the error details. Using
i386 from ci.freebsd.org this time:

--- all_subdir_usr.sbin/sendmail ---
In file included from /usr/src/contrib/sendmail/src/daemon.c:51:
In file included from =
/usr/obj/usr/src/i386.i386/tmp/usr/include/netinet/ip_var.h:39:
In file included from =
/usr/obj/usr/src/i386.i386/tmp/usr/include/sys/epoch.h:33:
In file included from =
/usr/obj/usr/src/i386.i386/tmp/usr/include/sys/proc.h:47:
In file included from =
/usr/obj/usr/src/i386.i386/tmp/usr/include/sys/filedesc.h:42:
/usr/obj/usr/src/i386.i386/tmp/usr/include/sys/priority.h:128:8: error: =
redefinition of 'priority'
struct priority {
       ^
/usr/src/contrib/sendmail/src/sendmail.h:1081:8: note: previous =
definition is here
struct priority
       ^

This seems to happen for -r333906 and later versions on all
targets, including amd64. (I'm ignoring riscv64 that has been
broken for a long time.) powerpc64 agrees despite the gcc 4.2.1:

--- all_subdir_usr.sbin/sendmail ---
In file included from =
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/filedesc.h:42,
                 from =
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/proc.h:47,
                 from =
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/epoch.h:33,
                 from =
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/netinet/ip_var.h:39,
                 from /usr/src/contrib/sendmail/src/daemon.c:51:
/usr/obj/usr/src/powerpc.powerpc64/tmp/usr/include/sys/priority.h:128: =
error: redefinition of 'struct priority'




=3D=3D=3D
Mark Millard
marklmi26-fbsd at yahoo.com
( dsl-only.net went
away in early 2018-Mar)









Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?31730734-59C9-44C1-9B2B-27DEA5BE867E>