On Mon, 2023-10-30 at 19:50 +0800, chenglulu wrote: > 在 2023/10/30 下午7:42, Xi Ruoyao 写道: > > Now loongarch.md uses HAVE_AS_TLS, we need this to fix the failure > > building a cross compiler if the cross assembler is not installed yet. > > > > gcc/ChangeLog: > > > > * config/loongarch/loongarch-opts.h (HAVE_AS_TLS): Define to 0 > > if not defined yet. > > --- > > > > Ok for trunk? > I have no problem with this submission, but I don't understand the > circumstances surrounding the error.
When the developers hack GCC they sometimes build a cross compiler with no cross assembler, then HAVE_AS_TLS will just be undefined. And in the future we may have an assmebler w/o TLS support (for example a tiny assembler for bare-metal target), then HAVE_AS_TLS will be undefined too. The error message is: g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../gcc/gcc -I../../gcc/gcc/build -I../../gcc/gcc/../include -I../../gcc/gcc/../libcpp/include \ -o build/gencondmd.o build/gencondmd.cc ../../gcc/gcc/config/loongarch/loongarch.md:3655:2: error: 'HAVE_AS_TLS' was not declared in this scope 3655 | "HAVE_AS_TLS" | ^~~~~~~~~~~ ../../gcc/gcc/config/loongarch/loongarch.md:3655:2: error: 'HAVE_AS_TLS' was not declared in this scope 3655 | "HAVE_AS_TLS" | ^~~~~~~~~~~ ../../gcc/gcc/config/loongarch/loongarch.md:3655:2: error: 'HAVE_AS_TLS' was not declared in this scope 3655 | "HAVE_AS_TLS" | ^~~~~~~~~~~ ../../gcc/gcc/config/loongarch/loongarch.md:3655:2: error: 'HAVE_AS_TLS' was not declared in this scope 3655 | "HAVE_AS_TLS" | ^~~~~~~~~~~ make[1]: *** [Makefile:2962: build/gencondmd.o] Error 1 -- Xi Ruoyao <xry...@xry111.site> School of Aerospace Science and Technology, Xidian University