Re: In stage1 bootstrap assembler claims Error: junk at end of line, first unrecognized character is `/'
Jonathan Wakely via Gcc-help <[email protected]> Thu, 9 Apr 2026 19:41:12 +0100
| Newsgroups | gmane.comp.gcc.help |
|---|---|
| Message-ID | <CAH6eHdT0kfkgsCWv_biB32p6vUS58X2T+3rfFMoX676UZ0fDRA@mail.gmail.com> |
On Thu, 9 Apr 2026, 19:13 Dennis Clarke via Gcc-help, <[email protected]> wrote: > > Dear GCC folks et. al : > > I was pondering posting a bug report but the situation is just a bit > obscure and even on the edge of possible. I setup a mint condition DEC > Alpha server with all the ECC memory anyone could find on the planet. It > runs OpenBSD 7.8 with wonderful stability and I can compile the GNU bits > and pieces of a toolchain. I even used it to test and verify the new MPC > lib for release. It "just works". > > However the compiler available is from way back : > > centauri# > centauri# uname -a > OpenBSD centauri.bw.genunix.com 7.8 GENERIC#628 alpha > centauri# sysctl hw.model > hw.model=Digital AlphaStation 600 5/266 > centauri# echo $CC > /usr/bin/gcc > centauri# $CC --version > gcc (GCC) 4.2.1 20070719 > Copyright (C) 2007 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > > centauri# > > Yes the name of the alpha is centauri. Pretty sweet right? Well in > any case the procedure to bootstrap upwards to a more recent GCC is the > usual case of moving in small steps and the system assembler is binutils > version 2.17 : > > centauri# > centauri# which as > /usr/bin/as > centauri# as --version > GNU assembler 2.17 > Copyright 2005 Free Software Foundation, Inc. > This program is free software; you may redistribute it under the terms of > the GNU General Public License. This program has absolutely no warranty. > This assembler was configured for a target of `alpha-unknown-openbsd7.8'. > centauri# > > Thus far a whole stack of toolchain bits have been built and it all > works pretty darn well with only a few little glitches : > > https://lists.gnu.org/archive/html/bug-gzip/2026-03/msg00001.html > > That is really small stuff to deal with. However to bootstrap GCC it > sort of means I need to get from 4.2.1 upwards to about 8.x and then up > to perhaps version 10.x etc etc. There is no way to leap into 15.2.0 and > that is simply because you can't get there from here. It all looks to be > working great up until the assembler goes ka-boom : > > $ ../gcc-8.5.0/configure --prefix=/opt/bw/imed/gcc8 \ > --enable-obsolete --disable-nls --enable-threads=posix \ > --enable-shared --with-cpu=21164 \ > --enable-bootstrap --enable-stage1-languages=c,c++ \ > --enable-languages=c,c++,fortran > checking build system type... alpha-unknown-openbsd7.8 > checking host system type... alpha-unknown-openbsd7.8 > checking target system type... alpha-unknown-openbsd7.8 > checking for a BSD-compatible install... /usr/bin/install -c > checking whether ln works... yes > checking whether ln -s works... yes > checking for a sed that does not truncate output... /usr/bin/sed > checking for gawk... no > checking for mawk... no > checking for nawk... no > checking for awk... awk > checking for libatomic support... yes > checking for libitm support... yes > checking for libsanitizer support... no > checking for libvtv support... no > checking for libmpx support... no > checking for libhsail-rt support... no > checking for gcc... /usr/bin/gcc > checking for C compiler default output file name... a.out > checking whether the C compiler works... yes > checking whether we are cross compiling... no > checking for suffix of executables... > checking for suffix of object files... o > checking whether we are using the GNU C compiler... yes > checking whether /usr/bin/gcc accepts -g... yes > checking for /usr/bin/gcc option to accept ISO C89... none needed > checking whether we are using the GNU C++ compiler... yes > checking whether /usr/bin/g++ accepts -g... yes > checking whether g++ accepts -static-libstdc++ -static-libgcc... no > checking for gnatbind... no > checking for gnatmake... no > checking whether compiler driver understands Ada... no > checking how to compare bootstrapped objects... cmp $$f1 $$f2 16 16 > checking for objdir... .libs > configure: WARNING: using in-tree isl, disabling version check > *** This configuration is not supported in the following subdirectories: > target-libsanitizer target-libvtv target-libmpx gnattools gotools > target-libada target-libhsail-rt target-libgo target-libffi > target-libobjc target-liboffloadmic > (Any other directories should still work fine.) > checking for default BUILD_CONFIG... bootstrap-debug > checking for --enable-vtable-verify... no > checking for bison... /opt/bw/bin/yacc > checking for bison... /opt/bw/bin/bison > checking for gm4... /opt/bw/bin/m4 > checking for flex... flex > checking for flex... flex > checking for makeinfo... makeinfo > checking for expect... expect > checking for runtest... no > checking for ar... ar > checking for as... as > checking for dlltool... no > checking for ld... (cached) /usr/bin/ld > checking for lipo... no > checking for nm... (cached) /usr/bin/nm -p > checking for ranlib... ranlib > checking for strip... strip > checking for windres... no > checking for windmc... no > checking for objcopy... objcopy > checking for objdump... objdump > checking for readelf... readelf > checking for cc... cc > checking for c++... c++ > checking for gcc... gcc > checking for gfortran... no > checking for gccgo... no > checking for ar... no > checking for ar... ar > checking for as... no > checking for as... as > checking for dlltool... no > checking for dlltool... no > checking for ld... no > checking for ld... ld > checking for lipo... no > checking for lipo... no > checking for nm... no > checking for nm... nm > checking for objcopy... no > checking for objcopy... objcopy > checking for objdump... no > checking for objdump... objdump > checking for ranlib... no > checking for ranlib... ranlib > checking for readelf... no > checking for readelf... readelf > checking for strip... no > checking for strip... strip > checking for windres... no > checking for windres... no > checking for windmc... no > checking for windmc... no > checking where to find the target ar... host tool > checking where to find the target as... host tool > checking where to find the target cc... just compiled > checking where to find the target c++... just compiled > checking where to find the target c++ for libstdc++... just compiled > checking where to find the target dlltool... host tool > checking where to find the target gcc... just compiled > checking where to find the target gfortran... just compiled > checking where to find the target gccgo... host tool > checking where to find the target ld... host tool > checking where to find the target lipo... host tool > checking where to find the target nm... host tool > checking where to find the target objcopy... host tool > checking where to find the target objdump... host tool > checking where to find the target ranlib... host tool > checking where to find the target readelf... host tool > checking where to find the target strip... host tool > checking where to find the target windres... host tool > checking where to find the target windmc... host tool > checking whether to enable maintainer-specific portions of Makefiles... no > configure: creating ./config.status > config.status: creating Makefile > > Therefore off like a hurd of turtles and some hours later GNU binutils > assembler has bit of chicken bone stuck in its throat : > > . > . > . > /opt/bw/build/gcc-8.5.0_OpenBSD_alpha_21164.001/./gcc/xgcc > -B/opt/bw/build/gcc-8.5.0_OpenBSD_alpha_21164.001/./gcc/ > -B/opt/bw/imed/gcc8/alpha-unknown-openbsd7.8/bin/ > -B/opt/bw/imed/gcc8/alpha-unknown-openbsd7.8/lib/ -isystem > /opt/bw/imed/gcc8/alpha-unknown-openbsd7.8/include -isystem > /opt/bw/imed/gcc8/alpha-unknown-openbsd7.8/sys-include -g -O2 -mieee > -O2 -g -O2 -mieee -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual > -Wno-format -Wstrict-prototypes -Wmissing-prototypes > -Wold-style-definition -isystem ./include -fPIC -pthread -mieee -g > -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -fPIC -pthread > -mieee -I. -I. -I../.././gcc -I../../../gcc-8.5.0/libgcc > -I../../../gcc-8.5.0/libgcc/. -I../../../gcc-8.5.0/libgcc/../gcc > -I../../../gcc-8.5.0/libgcc/../include -DHAVE_CC_TLS -o qrnnd.o -MT > qrnnd.o -MD -MP -MF qrnnd.dep -c -xassembler-with-cpp -include qrnnd.vis > ../../../gcc-8.5.0/libgcc/config/alpha/qrnnd.S > ./qrnnd.vis: Assembler messages: > ./qrnnd.vis:1: Error: junk at end of line, first unrecognized character > is `/' > make[3]: *** [../../../gcc-8.5.0/libgcc/static-object.mk:30: qrnnd.o] > Error 1 > make[3]: Leaving directory > > '/opt/bw/build/gcc-8.5.0_OpenBSD_alpha_21164.001/alpha-unknown-openbsd7.8/libgcc' > make[2]: *** [Makefile:21586: all-stage1-target-libgcc] Error 2 > make[2]: Leaving directory > '/opt/bw/build/gcc-8.5.0_OpenBSD_alpha_21164.001' > make[1]: *** [Makefile:26490: stage1-bubble] Error 2 > make[1]: Leaving directory > '/opt/bw/build/gcc-8.5.0_OpenBSD_alpha_21164.001' > make: *** [Makefile:26891: bootstrap] Error 2 > > Well that is a real weird cup of coffee right there. > > The file in question looks to be reasonably harmless : > > centauri# cat alpha-unknown-openbsd7.8/libgcc/qrnnd.vis > .hidden ../../../gcc-8.5.0/libgcc/config/alpha/qrnnd.S > .hidden __udiv_qrnnd > centauri# > > There are no weird bytes in there anywhere. Just plain ASCII : > > centauri# hdump -Ax -t x1 -v alpha-unknown-openbsd7.8/libgcc/qrnnd.vis > 0: 09 2e 68 69 64 64 65 6e 20 2e 2e 2f 2e 2e 2f 2e > 10: 2e 2f 67 63 63 2d 38 2e 35 2e 30 2f 6c 69 62 67 > 20: 63 63 2f 63 6f 6e 66 69 67 2f 61 6c 70 68 61 2f > 30: 71 72 6e 6e 64 2e 53 0a 09 2e 68 69 64 64 65 6e > 40: 20 5f 5f 75 64 69 76 5f 71 72 6e 6e 64 0a > 4e: > centauri# > > So where is the "Error: junk at end of line" ? > The slash is what it considers junk. It says so in the error message. > Do I need to build a new assembler and then set that in the configure > line? I can not use GNU ld on this boxen however I have tested latest > binutils as and it seems to work. Really .... this is bizarre. So any > thoughts to get past this would be just wonderful. > > -- > -- > Dennis Clarke > RISC-V/SPARC/PPC/ARM/CISC > UNIX and Linux spoken > [grey beard and suspenders installed] > > >