On Thu, Apr 12, 2018 at 04:51:21PM -0400, David Malcolm wrote: > This patch updates gcc/configure.ac to use gcc_base_ver. > > I had to drop the \$\$ from the sed expression to get it to work > within the configure script; I'm not entirely sure what their purpose > is. Without them, it's still matching on the first group of numeric > characters in BASE-VER. > > Tested with and without --with-gcc-major-version; in each case, > gcc-driver-name.h is correctly determined. > > Fixes the linker issue reported downstream in > https://bugzilla.redhat.com/show_bug.cgi?id=1566178 > and fixes the driver not found issue with: > gcc_jit_context_set_bool_use_external_driver (ctxt, 1); > > Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu. > > OK for trunk? > > config/ChangeLog: > PR jit/85384 > * acx.m4 (GCC_BASE_VER): Remove \$\$ from sed expression. > > gcc/ChangeLog: > PR jit/85384 > * configure.ac (gcc-driver-name.h): Honor --with-gcc-major-version > by using gcc_base_ver to generate a gcc_driver_version, and use > it when generating GCC_DRIVER_NAME. > * configure.ac: Regenerate.
Here is the variant I've talked about in patch form. Bootstrapped/regtested on x86_64-linux and i686-linux and tested with --enable-languages=jit --enable-host-shared --disable-bootstrap and --enable-languages=jit --enable-host-shared --disable-bootstrap --with-gcc-major-version-only Ok for trunk? 2018-04-13 Jakub Jelinek <ja...@redhat.com> PR jit/85384 * configure.ac (GCC_DRIVER_NAME): For --with-gcc-major-version-only use just major version in the driver filename rather than full version. * configure: Regenerated. --- gcc/configure.ac.jj 2018-04-12 10:22:56.179162225 +0200 +++ gcc/configure.ac 2018-04-13 16:16:02.712459619 +0200 @@ -6499,8 +6499,14 @@ AC_DEFINE_UNQUOTED(DIAGNOSTICS_COLOR_DEF # Generate gcc-driver-name.h containing GCC_DRIVER_NAME for the benefit # of jit/jit-playback.c. +changequote(,)dnl +gcc_driver_version=$gcc_BASEVER +if test x$with_gcc_major_version_only = xyes ; then + gcc_driver_version=`echo $gcc_BASEVER | sed -e 's/^\([0-9]*\).*$/\1/'` +fi +changequote([,])dnl cat > gcc-driver-name.h <<EOF -#define GCC_DRIVER_NAME "${target_noncanonical}-gcc-${gcc_BASEVER}${exeext}" +#define GCC_DRIVER_NAME "${target_noncanonical}-gcc-${gcc_driver_version}${exeext}" EOF # Check whether --enable-default-pie was given. --- gcc/configure.jj 2018-04-12 10:22:56.256162248 +0200 +++ gcc/configure 2018-04-13 16:16:17.551468697 +0200 @@ -30084,8 +30084,12 @@ _ACEOF # Generate gcc-driver-name.h containing GCC_DRIVER_NAME for the benefit # of jit/jit-playback.c. +gcc_driver_version=$gcc_BASEVER +if test x$with_gcc_major_version_only = xyes ; then + gcc_driver_version=`echo $gcc_BASEVER | sed -e 's/^\([0-9]*\).*$/\1/'` +fi cat > gcc-driver-name.h <<EOF -#define GCC_DRIVER_NAME "${target_noncanonical}-gcc-${gcc_BASEVER}${exeext}" +#define GCC_DRIVER_NAME "${target_noncanonical}-gcc-${gcc_driver_version}${exeext}" EOF # Check whether --enable-default-pie was given. Jakub