git: 8ba333e02eaa - main - libdtrace: Stop relying on lex compatibility

Cy Schubert Cy.Schubert at cschubert.com
Thu Feb 18 04:30:37 UTC 2021


In message <20210218051755.42e541ae at hermann.fritz.box>, "Hartmann, O." 
writes:
> --Sig_/X1LkchSIHpgyL/AopZmz9/Y
> Content-Type: text/plain; charset=US-ASCII
> Content-Transfer-Encoding: quoted-printable
>
> On Wed, 17 Feb 2021 12:59:46 -0800
> Cy Schubert <Cy.Schubert at cschubert.com> wrote:
>
> > In message <20210217214505.0d4b544e at hermann.fritz.box>, "Hartmann, O."=20
> > writes:
> > > --Sig_/xVHYogKjgyXovADc1VoD_Ap
> > > Content-Type: text/plain; charset=3DUS-ASCII
> > > Content-Transfer-Encoding: quoted-printable
> > >
> > > On Wed, 17 Feb 2021 16:02:15 GMT
> > > Mark Johnston <markj at FreeBSD.org> wrote:
> > > =20
> > > > The branch main has been updated by markj:
> > > >=3D20
> > > > URL: https://cgit.FreeBSD.org/src/commit/?id=3D3D8ba333e02eaa59337a4e=
> 1d5534=3D =20
> > > d4e894344c8226 =20
> > > >=3D20
> > > > commit 8ba333e02eaa59337a4e1d5534d4e894344c8226
> > > > Author:     Mark Johnston <markj at FreeBSD.org>
> > > > AuthorDate: 2021-02-17 15:49:38 +0000
> > > > Commit:     Mark Johnston <markj at FreeBSD.org>
> > > > CommitDate: 2021-02-17 15:57:19 +0000
> > > >=3D20
> > > >     libdtrace: Stop relying on lex compatibility
> > > >    =3D20
> > > >     It does not appear to be required, and as of commit 6b7e592c215f
> > > >     ("lex: Do not let input() return 0 when end-of-file is reached") =
> it
> > > >     causes input to return 0 instead of EOF when end-of-input is reac=
> hed.
> > > >    =3D20
> > > >     PR:             253440
> > > >     MFC after:      3 days
> > > >     Sponsored by:   The FreeBSD Foundation
> > > > ---
> > > >  cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h | 2 +-
> > > >  cddl/lib/libdtrace/Makefile                             | 2 --
> > > >  2 files changed, 1 insertion(+), 3 deletions(-)
> > > >=3D20
> > > > diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h
> > > > b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h index
> > > > f2c60a2b07d4..b3f69bb6329d 100644 ---
> > > > a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h +++
> > > > b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_impl.h @@ -717,7 +=
> 717,=3D =20
> > > 7 @@ extern =20
> > > > dt_pcb_t *yypcb;		/* pointer to current parser control bl
> ock */ e =20
> > > xtern =20
> > > > char yyintprefix;	/* int token prefix for macros (+/-) */ extern 
> char
> > > > yyintsuffix[4];	/* int token suffix ([uUlL]*) */ extern int yyintdeci=
> ma =20
> > > l; =20
> > > > /* int token is decimal (1) or octal/hex (0) */ -extern char yytext[];
> > > > /* lex input buffer */ +extern char *yytext;		/* lex input bu
>  =20
> > > ffer */ =20
> > > >  extern int yylineno;		/* lex line number */
> > > >  extern int yydebug;		/* lex debugging */
> > > >  extern dt_node_t *yypragma;	/* lex token list for control lines */
> > > > diff --git a/cddl/lib/libdtrace/Makefile b/cddl/lib/libdtrace/Makefile
> > > > index efd73751e2c0..45ca1692cf48 100644
> > > > --- a/cddl/lib/libdtrace/Makefile
> > > > +++ b/cddl/lib/libdtrace/Makefile
> > > > @@ -129,8 +129,6 @@ SRCS+=3D3D		dis_tables.c
> > > >  DSRCS+=3D3D		regs_x86.d
> > > >  .endif
> > > > =3D20
> > > > -LFLAGS+=3D3D-l
> > > > -
> > > >  YFLAGS+=3D3D-d
> > > > =3D20
> > > >  LIBADD=3D3D	ctf elf proc pthread rtld_db
> > > > _______________________________________________
> > > > dev-commits-src-main at freebsd.org mailing list
> > > > https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main
> > > > To unsubscribe, send any mail to "dev-commits-src-main-unsubscribe at fr=
> eebs=3D =20
> > > d.org"
> > >
> > > This commit breaks buildworld (also breask starting from scratch/clean =
> /usr=3D
> > > /obj):
> > >
> > > [...]
> > > -MD  -MF.depend.arc_os.pico -MTarc_os.pico -std=3D3Diso9899:1999 -Wno-f=
> ormat-=3D
> > > zero-length
> > > -fstack-protector-strong -Wsystem-headers -Wall -Wno-format-y2k -Wno-un=
> init=3D
> > > ialized
> > > -Wno-pointer-sign -Wno-unknown-pragmas -Wno-empty-body -Wno-string-plus=
> -int
> > > -Wno-unused-const-variable -Wno-tautological-compare -Wno-unused-value
> > > -Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion
> > > -Wno-unused-local-typedef -Wno-address-of-packed-member -Wno-switch -Wn=
> o-sw=3D
> > > itch-enum
> > > -Wno-knr-promoted-parameter  -Qunused-arguments    -c
> > > /usr/src/sys/contrib/openzfs/module/os/linux/zfs/arc_os.c -o arc_os.pic=
> o ---
> > > all_subdir_cddl/lib/libdtrace --- --- dt_names.o --- --- dt_lex.o --- I=
> n fi=3D
> > > le included
> > > from /usr/src/cddl/contrib/opensolaris/lib/libdtrace/common/dt_lex.l:38:
> > > /usr/src/cddl/lib/libdtrace/../../../cddl/contrib/opensolaris/lib/libdt=
> race=3D
> > > /common/dt_impl.h:720:14:
> > > error: redeclaration of 'yytext' with a different type: 'char *' vs 'ch=
> ar [=3D
> > > 8192]' extern
> > > char *yytext;            /* lex input buffer */ ^ dt_lex.c:1075:6: note=
> : pr=3D
> > > evious
> > > definition is here char yytext[YYLMAX]; ^ 1 error generated. *** [dt_le=
> x.o]=3D
> > >  Error code 1
> > >
> > > make[5]: stopped in /usr/src/cddl/lib/libdtrace
> > > --- all_subdir_cddl/lib/libzpool ---
> > > =20
> >=20
> > Restart your build without -DNO_CLEAN.
> >=20
> >=20
>
> I did, that worked for me.
> Tried to avoid, my hardware isn't very fast and take the night to build.
>
> cleanworld salvaged the problem.
>
> Kind regards and thank you very much
>
> O. Hartmann

In situations such as this one can surgically remove the offending file or 
directory in /usr/obj. Since __FreeBSD_version had already been updated, at 
least since my last build, going through the extra effort to save a couple 
of minutes wouldn't have done much. However the directory to remove would 
have been /usr/obj/.../cddl/contrib/openslolaris/libdtrace, or there about.

The other change that forced a complete rebuild was an update to ctype.h, 
again causing an almost complete rebuild. In this case rather than spend 
the time simply rebuild from scratch. Either way you're rebuilding 
everything anyway.


-- 
Cheers,
Cy Schubert <Cy.Schubert at cschubert.com>
FreeBSD UNIX:  <cy at FreeBSD.org>   Web:  https://FreeBSD.org
NTP:           <cy at nwtime.org>    Web:  https://nwtime.org

	The need of the many outweighs the greed of the few.




More information about the dev-commits-src-all mailing list