Re: [PATCH] Register --sysroot in the driver switches table
On 12/20/2021 2:28 PM, Olivier Hainque via Gcc-patches wrote: Hello, This change adjusts the processing of --sysroot to save the option in the internal "switches" array, which lets self-specs test for it and provide a default value possibly dependent on environment variables, as in --with-specs=%{!-sysroot*:--sysroot=%:getenv("WIND_BASE" /target)} This helps the use we have of self specs for VxWorks, and was bootstrapped and regression tested on native 64bit linux. Ok to commit ? Thanks in advance, With Kind Regards, Olivier 0001-Register-sysroot-in-the-driver-switches-table.patch From 964829ee06ffe1bedcbab6a3b4c92c5d161aaaed Mon Sep 17 00:00:00 2001 From: Olivier Hainque Date: Mon, 20 Dec 2021 17:47:24 + Subject: [PATCH] Register --sysroot in the driver switches table This change adjusts the processing of --sysroot to save the option in the internal "switches" array, which lets self-specs test for it and provide a default value possibly dependent on environment variables, as in --with-specs=%{!-sysroot*:--sysroot=%:getenv("WIND_BASE" /target)} 2021-12-20 Olivier Hainque gcc/ * gcc.c (driver_handle_option): do_save --sysroot. OK. jeff
Re: [PATCH] Register --sysroot in the driver switches table
> On 28 Dec 2021, at 17:38, Jeff Law wrote: >> gcc/ >> * gcc.c (driver_handle_option): do_save --sysroot. > OK. Thanks for the prompt review Jeff! I have another simple one coming :)
Re: [PATCH] Register --sysroot in the driver switches table
On 12/20/21 22:28, Olivier Hainque via Gcc-patches wrote: Hello, This change adjusts the processing of --sysroot to save the option in the internal "switches" array, which lets self-specs test for it and provide a default value possibly dependent on environment variables, as in --with-specs=%{!-sysroot*:--sysroot=%:getenv("WIND_BASE" /target)} This helps the use we have of self specs for VxWorks, and was bootstrapped and regression tested on native 64bit linux. Ok to commit ? Thanks in advance, With Kind Regards, Olivier Hello. I think the patch broke my cross-rx-gcc12 package, failing now with: [ 162s] checking for rx-elf-gcc... /home/abuild/rpmbuild/BUILD/gcc-12.0.0+git190624/obj-x86_64-suse-linux/./gcc/xgcc -B/home/abuild/rpmbuild/BUILD/gcc-12.0.0+git190624/obj-x86_64-suse-linux/./gcc/ -B/usr/rx-elf/bin/ -B/usr/rx-elf/lib/ -isystem /usr/rx-elf/include -isystem /usr/rx-elf/sys-include --sysroot=/usr/rx-elf/sys-root [ 162s] checking for suffix of object files... configure: error: in `/home/abuild/rpmbuild/BUILD/gcc-12.0.0+git190624/obj-x86_64-suse-linux/rx-elf/libgcc': [ 162s] configure: error: cannot compute suffix of object files: cannot compile [ 162s] See `config.log' for more details [ 162s] make[1]: *** [Makefile:12902: configure-target-libgcc] Error 1 [ 162s] make[1]: *** Waiting for unfinished jobs [ 162s] g++ -static-libstdc++ -static-libgcc -o g++-mapper-server server.o resolver.o ../libcody/libcody.a ../libiberty/libiberty.a [ 162s] /usr/bin/install -c g++-mapper-server ../gcc/g++-mapper-server [ 162s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/gcc-12.0.0+git190624/obj-x86_64-suse-linux/c++tools' [ 162s] make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/gcc-12.0.0+git190624/obj-x86_64-suse-linux' [ 162s] make: *** [Makefile:1027: all] Error 2 [ 162s] error: Bad exit status from /var/tmp/rpm-tmp.wDOIGP (%build) configure:3566: /home/abuild/rpmbuild/BUILD/gcc-12.0.0+git190624/obj-x86_64-suse-linux/./gcc/xgcc -B/home/abuild/rpmbuild/BUILD/gcc-12.0.0+git190624/obj-x86_64-suse-linux/./gcc/ -B/usr/rx-elf/bin/ -B/usr/rx-elf/lib/ -isystem /usr/rx-elf/include -isystem /usr/rx-elf/sys-include --sysroot=/usr/rx-elf/sys-root -o conftest -g -O2 conftest.c >&5 xgcc: error: unrecognized command-line option '--sysroot=/usr/rx-elf/sys-root' configure:3569: $? = 1 The compiler is configured with: [ 21s] + ../configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++ --enable-checking=release --disable-werror --with-gxx-include-dir=/usr/include/c++/12 --enable-ssp --disable-libssp --disable-libvtv --enable-cet=auto --disable-libcc1 --disable-plugin --with-bugurl=https://bugs.opensuse.org/ '--with-pkgversion=SUSE Linux' --with-slibdir=/usr/rx-elf/sys-root/lib64 --with-system-zlib --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-version-specific-runtime-libs --with-gcc-major-version-only --enable-linux-futex --enable-gnu-indirect-function --program-suffix=-12 --program-prefix=rx-elf- --target=rx-elf --disable-nls --with-sysroot=/usr/rx-elf/sys-root --with-build-sysroot=/usr/rx-elf/sys-root --with-build-time-tools=/usr/rx-elf/bin --with-newlib --disable-libsanitizer --build=x86_64-suse-linux --host=x86_64-suse-linux Can you please take a look? Cheers, Martin
Re: [PATCH] Register --sysroot in the driver switches table
Hi Martin, > On 5 Jan 2022, at 08:45, Martin Liška wrote: > > On 12/20/21 22:28, Olivier Hainque via Gcc-patches wrote: > I think the patch broke my cross-rx-gcc12 package, failing now with: > configure: error: in > `/home/abuild/rpmbuild/BUILD/gcc-12.0.0+git190624/obj-x86_64-suse-linux/rx-elf/libgcc': > xgcc: error: unrecognized command-line option '--sysroot=/usr/rx-elf/sys-root' > > The compiler is configured with: > > [ 21s] + ../configure --prefix=/usr --infodir=/usr/share/info > --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 > --enable-languages=c,c++ --enable-checking=release --disable-werror > --with-gxx-include-dir=/usr/include/c++/12 --enable-ssp --disable-libssp > --disable-libvtv --enable-cet=auto --disable-libcc1 --disable-plugin > --with-bugurl=https://bugs.opensuse.org/ '--with-pkgversion=SUSE Linux' > --with-slibdir=/usr/rx-elf/sys-root/lib64 --with-system-zlib > --enable-libstdcxx-allocator=new --disable-libstdcxx-pch > --enable-version-specific-runtime-libs --with-gcc-major-version-only > --enable-linux-futex --enable-gnu-indirect-function --program-suffix=-12 > --program-prefix=rx-elf- --target=rx-elf --disable-nls > --with-sysroot=/usr/rx-elf/sys-root --with-build-sysroot=/usr/rx-elf/sys-root > --with-build-time-tools=/usr/rx-elf/bin --with-newlib --disable-libsanitizer > --build=x86_64-suse-linux --host=x86_64-suse-linux > > Can you please take a look? Sure. Thanks for reporting the failure. Sorry for the breakage. The change should also set "validated" true when requesting to save --sysroot. I'm not sure why we don't see the problem with our vxworks setup - double checked again this morning, we do have successful builds passing --sysroot to the driver when configuring various libraries. Testing the patch further ...
Re: [PATCH] Register --sysroot in the driver switches table
> On 5 Jan 2022, at 10:26, Olivier Hainque wrote: > > The change should also set "validated" true > when requesting to save --sysroot. The attached adjustment fixes the failure I could reproduce, bootstraps and regtests fine on x86_64-linux, and passes a build + a couple of in-house testsuites for one of our vxworks ports. Ok to commit? Thanks in advance, Olivier 2022-01-05 Olivier Hainque * gcc.c (driver_handle_option): State --sysroot as validated. 0001-State-sysroot-option-as-validated-once-processed.patch Description: Binary data
Re: [PATCH] Register --sysroot in the driver switches table
On Wed, Jan 5, 2022 at 6:58 PM Olivier Hainque via Gcc-patches wrote: > > > > > On 5 Jan 2022, at 10:26, Olivier Hainque wrote: > > > > The change should also set "validated" true > > when requesting to save --sysroot. > > The attached adjustment fixes the failure I could reproduce, > bootstraps and regtests fine on x86_64-linux, and passes a build > + a couple of in-house testsuites for one of our vxworks ports. > > Ok to commit? OK. Thanks, Richard. > Thanks in advance, > > Olivier > > 2022-01-05 Olivier Hainque > > * gcc.c (driver_handle_option): State --sysroot as > validated. >
Re: [PATCH] Register --sysroot in the driver switches table
> On 10 Jan 2022, at 09:00, Richard Biener wrote: > > On Wed, Jan 5, 2022 at 6:58 PM Olivier Hainque via Gcc-patches > wrote: >> >> >> >>> On 5 Jan 2022, at 10:26, Olivier Hainque wrote: >>> >>> The change should also set "validated" true >>> when requesting to save --sysroot. >> >> The attached adjustment fixes the failure I could reproduce, >> bootstraps and regtests fine on x86_64-linux, and passes a build >> + a couple of in-house testsuites for one of our vxworks ports. >> >> Ok to commit? > > OK. Great, thanks Richard :)