https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94998

            Bug ID: 94998
           Summary: GCC 10 won't configure for host=x86, build!=host,
                    linker=bfd due to CET
           Product: gcc
           Version: 10.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: harald at gigawatt dot nl
  Target Milestone: ---

Configuring libiberty fails when gcc is configured as

  ../gcc-10.1.0/configure --build=x86_64-forcecross-linux-gnu
--host=x86_64-pc-linux-gnu --enable-languages=c,c++ CC='gcc-10.1.0
-fuse-ld=bfd' CXX='g++-10.1.0 -fuse-ld=bfd'

(This is a shorter simplified configure line to make it easier to reproduce the
problem, not the one I was originally using. Please ignore the fact that it's
weird to trick the configure script into thinking it's cross-compiling when
it's not.)

It fails like so:

[...]
checking for CET support... configure: error: in
`/h/gcc-10.1.0-build/libiberty':
configure: error: cannot run test program while cross compiling
See `config.log' for more details
make[1]: *** [Makefile:7986: configure-libiberty] Error 1
make[1]: Leaving directory '/h/gcc-10.1.0-build'
make: *** [Makefile:955: all] Error 2

It works with gold because the linker options '-Wl,-z,ibt,-z,shstk' are not
accepted by gold (at least in binutils 2.34), so it never gets to the point
where it tries to run the test program.

Reply via email to