Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Jul 2020 04:36:46 +0000 (UTC)
From:      Don Lewis <truckman@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r363658 - stable/12
Message-ID:  <202007290436.06T4akES093972@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: truckman
Date: Wed Jul 29 04:36:45 2020
New Revision: 363658
URL: https://svnweb.freebsd.org/changeset/base/363658

Log:
  Make lex a bootstrap tool when cross-building on recent 13-CURRENT if
  binutils/ld is going to be built.  The latter is no longer true by default.
  
  The import of flex 2.6.4 into -CURRENT changed the type of yy_n_chars
  in the lex skeleton from yy_size_t to int, which breaks the build of
  binutils/ld when using the host copy of lex.
  
  ldlex.c:3216:3: error: incompatible pointer types passing 'int *' to parameter
        of type 'yy_size_t *' (aka 'unsigned long *')
        [-Werror,-Wincompatible-pointer-types]
    ...YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
  This is a direct commit to stable/12 since binutils/ld has been removed
  from -CURRENT, and it would require a different fix there since the
  bootstrap tool version of lex would also cause breakage.  This is similar
  to the stable/11 change in r363653, but in stable/12 we only need to
  build lex as a bootstrap tool if binutils/ld is going to be built.

Modified:
  stable/12/Makefile.inc1

Modified: stable/12/Makefile.inc1
==============================================================================
--- stable/12/Makefile.inc1	Wed Jul 29 00:34:24 2020	(r363657)
+++ stable/12/Makefile.inc1	Wed Jul 29 04:36:45 2020	(r363658)
@@ -2066,10 +2066,15 @@ _vtfontcvt=	usr.bin/vtfontcvt
 
 .if ${BOOTSTRAPPING} < 1000033
 _m4=		usr.bin/m4
-_lex=		usr.bin/lex
 
 ${_bt}-usr.bin/m4: ${_bt}-lib/libopenbsd
 ${_bt}-usr.bin/lex: ${_bt}-usr.bin/m4
+.endif
+
+# flex 2.6.4 introduced in 13-CURRRENT r362333 breaks binutils/ld build
+.if ${BOOTSTRAPPING} < 1000033 || \
+    (${BOOTSTRAPPING} > 1300098 && ${MK_LLD_IS_LD} == "no")
+_lex=		usr.bin/lex
 .endif
 
 # r245440 mtree -N support added



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