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

--- Comment #9 from Mateusz Zych <mte.zych at gmail dot com> ---
Hi ;)

I've analysed this issue further and
tested all combinations of different vendors in host and target triplets.

Here are the results:
             +-----------------------------------+
             |               host                |
             |-----------------------------------|
             |  ----  |  glibc |unknown |   pc   |
+------------+-----------------------------------+
|   |  ----  |  FAIL  |  PASS  |  PASS  |  FAIL  |
| t |--------|--------|--------|--------|--------|
| a |  glibc |  PASS  |  FAIL  |  PASS  |  PASS  |
| r |--------|--------|--------|--------|--------|
| g |unknown |  PASS  |  PASS  |  FAIL  |  PASS  |
| e |--------|--------|--------|--------|--------|
| t |   pc   |  FAIL  |  PASS  |  PASS  |  FAIL  |
+------------+-----------------------------------+

Looks like building isolated compiler (target == host) doesn't work at all
and for some reason cross-compiling by combining no vendor with pc vendor fails
as well.

Note that, all failing configurations are encountering the same issue
with compilation of libstdc++-v3 during first GCC build:

  checking whether the 
  /home/mzych/Downloads/build-many-glibcs/gcc-first-build/./gcc/xgcc 
  -B/home/mzych/Downloads/build-many-glibcs/gcc-first-build/./gcc/ 
  -B/home/mzych/Downloads/build-many-glibcs/gcc/x86_64-pc-linux-gnu/bin/ 
  -B/home/mzych/Downloads/build-many-glibcs/gcc/x86_64-pc-linux-gnu/lib/ 
  -isystem
/home/mzych/Downloads/build-many-glibcs/gcc/x86_64-pc-linux-gnu/include 
  -isystem
/home/mzych/Downloads/build-many-glibcs/gcc/x86_64-pc-linux-gnu/sys-include    
  linker
(/home/mzych/Downloads/build-many-glibcs/gcc-first-build/./gcc/collect-ld -m
elf_x86_64) 
  supports shared libraries... yes
  checking dynamic linker characteristics... 
  configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES.
  Makefile:18985: recipe for target 'configure-stage1-target-libstdc++-v3'
failed

Initially I was thinking that there might be something wrong with the script,
which I've used to build GCC (CreateToolchain.sh),
but it seems unlikely, since other configurations work without any issues.

To me this looks very surprising that changing vendor in a triplet causes GCC
to fail to compile.
Can somebody help with figuring out what's going on here?

I think that the script CreateToolchain.sh could benefit the whole GCC
community,
because developers could use it to compile GCC by simply choosing desired
configuration.

Thank you, Mateusz

Reply via email to