HomeFreeBSD

Make lex a bootstrap tool when cross-building on recent 13-CURRENT if

Description

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.

Details

Provenance
truckmanAuthored on
Parents
rS363657: sshd: allow UseBlocklist alias for UseBlacklist
Branches
Unknown
Tags
Unknown