Message ID | 20131017174946.GD19160@lug-owl.de |
---|---|
State | New |
Headers | show |
On Thu, Oct 17, 2013 at 10:49 AM, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote: > On Thu, 2013-10-17 10:23:27 -0700, Sriraman Tallam <tmsriram@google.com> wrote: > [...] >> I would need the help of target maintainers to fix it this way since >> it touches every target and it would take time for me to build and >> test every target. > > Then you should have probably waited some time, mark your patch as RFC > until there's consent on what exactly needs to be done for all target > archs. > >> Michael, OTOH, I dont see any other targets other than i386 and rs6000 >> (grepping for "specific_save" and "specific_restore") using >> function_specific save and restore functions. Would it be easier then >> to just add back that line to "opth-gen.awk"?,the patch is below. >> Since, they are not using function specific opts, they presumably >> should not be validating target options a lot. > > Some examples for breakage: > > sparc64 (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=20481) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 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 -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/vaxbuild/repos/gcc/gcc -I/home/vaxbuild/repos/gcc/gcc/. -I/home/vaxbuild/repos/gcc/gcc/../include -I/home/vaxbuild/repos/gcc/gcc/../libcpp/include -I/home/vaxbuild/repos/gcc/gcc/../libdecnumber -I/home/vaxbuild/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/vaxbuild/repos/gcc/gcc/../libbacktrace -o sparc.o -MT sparc.o -MMD -MP -MF ./.deps/sparc.TPo /home/vaxbuild/repos/gcc/gcc/config/sparc/sparc.c > /home/vaxbuild/repos/gcc/gcc/config/sparc/sparc.c: In function ‘void sparc_option_override()’: > /home/vaxbuild/repos/gcc/gcc/config/sparc/sparc.c:1228:50: error: ‘target_flags_explicit’ was not declared in this scope > dump_target_flags("target_flags_explicit", target_flags_explicit); > ^ > /home/vaxbuild/repos/gcc/gcc/config/sparc/sparc.c:1322:7: error: ‘target_flags_explicit’ was not declared in this scope > if (target_flags_explicit & MASK_FPU) > ^ > make[1]: *** [sparc.o] Error 1 > > > s390-linux (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=20482) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/jbglaw/repos/gcc/gcc -I/home/jbglaw/repos/gcc/gcc/. -I/home/jbglaw/repos/gcc/gcc/../include -I/home/jbglaw/repos/gcc/gcc/../libcpp/include -I/home/jbglaw/repos/gcc/gcc/../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libbacktrace -o s390.o -MT s390.o -MMD -MP -MF ./.deps/s390.TPo /home/jbglaw/repos/gcc/gcc/config/s390/s390.c > /home/jbglaw/repos/gcc/gcc/config/s390/s390.c: In function ‘void s390_option_override()’: > /home/jbglaw/repos/gcc/gcc/config/s390/s390.c:1612: error: ‘target_flags_explicit’ was not declared in this scope > /home/jbglaw/repos/gcc/gcc/config/s390/s390.c:1644: error: ‘target_flags_explicit’ was not declared in this scope > /home/jbglaw/repos/gcc/gcc/config/s390/s390.c:1649: error: ‘target_flags_explicit’ was not declared in this scope > /home/jbglaw/repos/gcc/gcc/config/s390/s390.c:1654: error: ‘target_flags_explicit’ was not declared in this scope > /home/jbglaw/repos/gcc/gcc/config/s390/s390.c:1667: error: ‘target_flags_explicit’ was not declared in this scope > make[1]: *** [s390.o] Error 1 > > > mips64-linux (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=20471) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > g++ -c -DIN_GCC_FRONTEND -DIN_GCC_FRONTEND -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 -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -Ic-family -I/home/vaxbuild/repos/gcc/gcc -I/home/vaxbuild/repos/gcc/gcc/c-family -I/home/vaxbuild/repos/gcc/gcc/../include -I/home/vaxbuild/repos/gcc/gcc/../libcpp/include -I/home/vaxbuild/repos/gcc/gcc/../libdecnumber -I/home/vaxbuild/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/vaxbuild/repos/gcc/gcc/../libbacktrace -o c-family/c-cppbuiltin.o -MT c-family/c-cppbuiltin.o -MMD -MP -MF c-family/.deps/c-cppbuiltin.TPo /home/vaxbuild/repos/gcc/gcc/c-family/c-cppbuiltin.c > In file included from ./tm.h:31:0, > from /home/vaxbuild/repos/gcc/gcc/c-family/c-cppbuiltin.c:23: > /home/vaxbuild/repos/gcc/gcc/c-family/c-cppbuiltin.c: In function ‘void cpp_atomic_builtins(cpp_reader*)’: > /home/vaxbuild/repos/gcc/gcc/config/mips/mips.h:1091:4: error: ‘target_flags_explicit’ was not declared in this scope > (target_flags_explicit & MASK_LLSC \ > ^ > ./insn-flags.h:814:39: note: in expansion of macro ‘GENERATE_LL_SC’ > #define HAVE_sync_compare_and_swapqi (GENERATE_LL_SC) > ^ > /home/vaxbuild/repos/gcc/gcc/c-family/c-cppbuiltin.c:594:7: note: in expansion of macro ‘HAVE_sync_compare_and_swapqi’ > if (HAVE_sync_compare_and_swapqi || HAVE_atomic_compare_and_swapqi) > ^ > /home/vaxbuild/repos/gcc/gcc/config/mips/mips.h:1091:4: error: ‘target_flags_explicit’ was not declared in this scope > (target_flags_explicit & MASK_LLSC \ > ^ > ./insn-flags.h:815:39: note: in expansion of macro ‘GENERATE_LL_SC’ > #define HAVE_sync_compare_and_swaphi (GENERATE_LL_SC) > ^ > /home/vaxbuild/repos/gcc/gcc/c-family/c-cppbuiltin.c:606:7: note: in expansion of macro ‘HAVE_sync_compare_and_swaphi’ > if (HAVE_sync_compare_and_swaphi || HAVE_atomic_compare_and_swaphi) > ^ > /home/vaxbuild/repos/gcc/gcc/config/mips/mips.h:1091:4: error: ‘target_flags_explicit’ was not declared in this scope > (target_flags_explicit & MASK_LLSC \ > ^ > ./insn-flags.h:261:39: note: in expansion of macro ‘GENERATE_LL_SC’ > #define HAVE_sync_compare_and_swapsi (GENERATE_LL_SC) > ^ > /home/vaxbuild/repos/gcc/gcc/c-family/c-cppbuiltin.c:618:7: note: in expansion of macro ‘HAVE_sync_compare_and_swapsi’ > if (HAVE_sync_compare_and_swapsi || HAVE_atomic_compare_and_swapsi) > ^ > /home/vaxbuild/repos/gcc/gcc/config/mips/mips.h:1091:4: error: ‘target_flags_explicit’ was not declared in this scope > (target_flags_explicit & MASK_LLSC \ > ^ > ./insn-flags.h:262:40: note: in expansion of macro ‘GENERATE_LL_SC’ > #define HAVE_sync_compare_and_swapdi ((GENERATE_LL_SC) && (TARGET_64BIT)) > ^ > /home/vaxbuild/repos/gcc/gcc/c-family/c-cppbuiltin.c:630:7: note: in expansion of macro ‘HAVE_sync_compare_and_swapdi’ > if (HAVE_sync_compare_and_swapdi || HAVE_atomic_compare_and_swapdi) > ^ > make[1]: *** [c-family/c-cppbuiltin.o] Error 1 > > > spu-elf (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=20459) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/jbglaw/repos/gcc/gcc -I/home/jbglaw/repos/gcc/gcc/. -I/home/jbglaw/repos/gcc/gcc/../include -I/home/jbglaw/repos/gcc/gcc/../libcpp/include -I/home/jbglaw/repos/gcc/gcc/../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libbacktrace -o spu.o -MT spu.o -MMD -MP -MF ./.deps/spu.TPo /home/jbglaw/repos/gcc/gcc/config/spu/spu.c > /home/jbglaw/repos/gcc/gcc/config/spu/spu.c: In function ‘void spu_option_override()’: > /home/jbglaw/repos/gcc/gcc/config/spu/spu.c:271: error: ‘target_flags_explicit’ was not declared in this scope > /home/jbglaw/repos/gcc/gcc/config/spu/spu.c: In function ‘tree_node* spu_handle_fndecl_attribute(tree_node**, tree_node*, tree_node*, int, bool*)’: > /home/jbglaw/repos/gcc/gcc/config/spu/spu.c:3690: warning: unknown conversion type character ‘E’ in format > /home/jbglaw/repos/gcc/gcc/config/spu/spu.c:3690: warning: too many arguments for format > /home/jbglaw/repos/gcc/gcc/config/spu/spu.c: In function ‘tree_node* spu_handle_vector_attribute(tree_node**, tree_node*, tree_node*, int, bool*)’: > /home/jbglaw/repos/gcc/gcc/config/spu/spu.c:3747: warning: unknown conversion type character ‘E’ in format > /home/jbglaw/repos/gcc/gcc/config/spu/spu.c:3747: warning: too many arguments for format > make[1]: *** [spu.o] Error 1 > > > alpha-linux (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=20456) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/jbglaw/repos/gcc/gcc -I/home/jbglaw/repos/gcc/gcc/. -I/home/jbglaw/repos/gcc/gcc/../include -I/home/jbglaw/repos/gcc/gcc/../libcpp/include -I/home/jbglaw/repos/gcc/gcc/../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libbacktrace -o alpha.o -MT alpha.o -MMD -MP -MF ./.deps/alpha.TPo /home/jbglaw/repos/gcc/gcc/config/alpha/alpha.c > /home/jbglaw/repos/gcc/gcc/config/alpha/alpha.c: In function ‘void alpha_option_override()’: > /home/jbglaw/repos/gcc/gcc/config/alpha/alpha.c:270: error: ‘target_flags_explicit’ was not declared in this scope > /home/jbglaw/repos/gcc/gcc/config/alpha/alpha.c:403: error: ‘target_flags_explicit’ was not declared in this scope > make[1]: *** [alpha.o] Error 1 > > > m68k-linux (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=20408) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/jbglaw/repos/gcc/gcc -I/home/jbglaw/repos/gcc/gcc/. -I/home/jbglaw/repos/gcc/gcc/../include -I/home/jbglaw/repos/gcc/gcc/../libcpp/include -I/home/jbglaw/repos/gcc/gcc/../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libbacktrace -o m68k.o -MT m68k.o -MMD -MP -MF ./.deps/m68k.TPo /home/jbglaw/repos/gcc/gcc/config/m68k/m68k.c > /home/jbglaw/repos/gcc/gcc/config/m68k/m68k.c: In function ‘void m68k_option_override()’: > /home/jbglaw/repos/gcc/gcc/config/m68k/m68k.c:503: error: ‘target_flags_explicit’ was not declared in this scope > /home/jbglaw/repos/gcc/gcc/config/m68k/m68k.c: In function ‘tree_node* m68k_handle_fndecl_attribute(tree_node**, tree_node*, tree_node*, int, bool*)’: > /home/jbglaw/repos/gcc/gcc/config/m68k/m68k.c:730: warning: unknown conversion type character ‘E’ in format > /home/jbglaw/repos/gcc/gcc/config/m68k/m68k.c:730: warning: too many arguments for format > make[1]: *** [m68k.o] Error 1 > > > frv-linux (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=20396) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 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 -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/vaxbuild/repos/gcc/gcc -I/home/vaxbuild/repos/gcc/gcc/. -I/home/vaxbuild/repos/gcc/gcc/../include -I/home/vaxbuild/repos/gcc/gcc/../libcpp/include -I/home/vaxbuild/repos/gcc/gcc/../libdecnumber -I/home/vaxbuild/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/vaxbuild/repos/gcc/gcc/../libbacktrace -o frv.o -MT frv.o -MMD -MP -MF ./.deps/frv.TPo /home/vaxbuild/repos/gcc/gcc/config/frv/frv.c > /home/vaxbuild/repos/gcc/gcc/config/frv/frv.c: In function ‘void frv_option_override()’: > /home/vaxbuild/repos/gcc/gcc/config/frv/frv.c:642:52: error: ‘target_flags_explicit’ was not declared in this scope > target_flags |= (frv_default_flags_for_cpu () & ~target_flags_explicit); > ^ > /home/vaxbuild/repos/gcc/gcc/config/frv/frv.c: In function ‘void frv_init_cumulative_args(int*, tree, rtx, tree, int)’: > /home/vaxbuild/repos/gcc/gcc/config/frv/frv.c:3097:51: error: invalid conversion from ‘int’ to ‘tree_code’ [-fpermissive] > get_tree_code_name ((int)TREE_CODE (ret_type))); > ^ > make[1]: *** [frv.o] Error 1 > > > > The actual breakage is uncovered by this fragment: > > --- a/gcc/opth-gen.awk > +++ b/gcc/opth-gen.awk > @@ -114,7 +114,6 @@ print "};" > print "extern struct gcc_options global_options;" > print "extern const struct gcc_options global_options_init;" > print "extern struct gcc_options global_options_set;" > -print "#define target_flags_explicit global_options_set.x_target_flags" > print "#endif" > print "#endif" > print "" > > > ...which means that all code using target_flags_explicit needs to be > cared for. > >> FWIW, I am testing this patch on i386 and powerpc right now. > > Please also test it on at least the targets I reported breakages on. Yes, I do not intend to let any other patch fixing this go in without having it explicitly tested on all targets. I am first trying to see if this patch will work at all with i386 and powerpc. > Have a look here: > > http://toolchain.lug-owl.de/buildbot/?limit=1500 > http://toolchain.lug-owl.de/buildbot/timeline.php?limit=1500 > > Generally, if you're looking for targets that are at least somewhat > supported, you find a good list to start with at > contrib/config-list.mk . > > MfG, JBG > > -- > Jan-Benedict Glaw jbglaw@lug-owl.de +49-172-7608481 > Signature of: Wenn ich wach bin, träume ich. > the second :
JBG, Steve, Can you help testing Sri's latest patch on your targets? This will help speed up the process. thanks, David On Thu, Oct 17, 2013 at 10:49 AM, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote: > On Thu, 2013-10-17 10:23:27 -0700, Sriraman Tallam <tmsriram@google.com> wrote: > [...] >> I would need the help of target maintainers to fix it this way since >> it touches every target and it would take time for me to build and >> test every target. > > Then you should have probably waited some time, mark your patch as RFC > until there's consent on what exactly needs to be done for all target > archs. > >> Michael, OTOH, I dont see any other targets other than i386 and rs6000 >> (grepping for "specific_save" and "specific_restore") using >> function_specific save and restore functions. Would it be easier then >> to just add back that line to "opth-gen.awk"?,the patch is below. >> Since, they are not using function specific opts, they presumably >> should not be validating target options a lot. > > Some examples for breakage: > > sparc64 (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=20481) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 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 -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/vaxbuild/repos/gcc/gcc -I/home/vaxbuild/repos/gcc/gcc/. -I/home/vaxbuild/repos/gcc/gcc/../include -I/home/vaxbuild/repos/gcc/gcc/../libcpp/include -I/home/vaxbuild/repos/gcc/gcc/../libdecnumber -I/home/vaxbuild/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/vaxbuild/repos/gcc/gcc/../libbacktrace -o sparc.o -MT sparc.o -MMD -MP -MF ./.deps/sparc.TPo /home/vaxbuild/repos/gcc/gcc/config/sparc/sparc.c > /home/vaxbuild/repos/gcc/gcc/config/sparc/sparc.c: In function ‘void sparc_option_override()’: > /home/vaxbuild/repos/gcc/gcc/config/sparc/sparc.c:1228:50: error: ‘target_flags_explicit’ was not declared in this scope > dump_target_flags("target_flags_explicit", target_flags_explicit); > ^ > /home/vaxbuild/repos/gcc/gcc/config/sparc/sparc.c:1322:7: error: ‘target_flags_explicit’ was not declared in this scope > if (target_flags_explicit & MASK_FPU) > ^ > make[1]: *** [sparc.o] Error 1 > > > s390-linux (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=20482) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/jbglaw/repos/gcc/gcc -I/home/jbglaw/repos/gcc/gcc/. -I/home/jbglaw/repos/gcc/gcc/../include -I/home/jbglaw/repos/gcc/gcc/../libcpp/include -I/home/jbglaw/repos/gcc/gcc/../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libbacktrace -o s390.o -MT s390.o -MMD -MP -MF ./.deps/s390.TPo /home/jbglaw/repos/gcc/gcc/config/s390/s390.c > /home/jbglaw/repos/gcc/gcc/config/s390/s390.c: In function ‘void s390_option_override()’: > /home/jbglaw/repos/gcc/gcc/config/s390/s390.c:1612: error: ‘target_flags_explicit’ was not declared in this scope > /home/jbglaw/repos/gcc/gcc/config/s390/s390.c:1644: error: ‘target_flags_explicit’ was not declared in this scope > /home/jbglaw/repos/gcc/gcc/config/s390/s390.c:1649: error: ‘target_flags_explicit’ was not declared in this scope > /home/jbglaw/repos/gcc/gcc/config/s390/s390.c:1654: error: ‘target_flags_explicit’ was not declared in this scope > /home/jbglaw/repos/gcc/gcc/config/s390/s390.c:1667: error: ‘target_flags_explicit’ was not declared in this scope > make[1]: *** [s390.o] Error 1 > > > mips64-linux (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=20471) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > g++ -c -DIN_GCC_FRONTEND -DIN_GCC_FRONTEND -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 -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -Ic-family -I/home/vaxbuild/repos/gcc/gcc -I/home/vaxbuild/repos/gcc/gcc/c-family -I/home/vaxbuild/repos/gcc/gcc/../include -I/home/vaxbuild/repos/gcc/gcc/../libcpp/include -I/home/vaxbuild/repos/gcc/gcc/../libdecnumber -I/home/vaxbuild/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/vaxbuild/repos/gcc/gcc/../libbacktrace -o c-family/c-cppbuiltin.o -MT c-family/c-cppbuiltin.o -MMD -MP -MF c-family/.deps/c-cppbuiltin.TPo /home/vaxbuild/repos/gcc/gcc/c-family/c-cppbuiltin.c > In file included from ./tm.h:31:0, > from /home/vaxbuild/repos/gcc/gcc/c-family/c-cppbuiltin.c:23: > /home/vaxbuild/repos/gcc/gcc/c-family/c-cppbuiltin.c: In function ‘void cpp_atomic_builtins(cpp_reader*)’: > /home/vaxbuild/repos/gcc/gcc/config/mips/mips.h:1091:4: error: ‘target_flags_explicit’ was not declared in this scope > (target_flags_explicit & MASK_LLSC \ > ^ > ./insn-flags.h:814:39: note: in expansion of macro ‘GENERATE_LL_SC’ > #define HAVE_sync_compare_and_swapqi (GENERATE_LL_SC) > ^ > /home/vaxbuild/repos/gcc/gcc/c-family/c-cppbuiltin.c:594:7: note: in expansion of macro ‘HAVE_sync_compare_and_swapqi’ > if (HAVE_sync_compare_and_swapqi || HAVE_atomic_compare_and_swapqi) > ^ > /home/vaxbuild/repos/gcc/gcc/config/mips/mips.h:1091:4: error: ‘target_flags_explicit’ was not declared in this scope > (target_flags_explicit & MASK_LLSC \ > ^ > ./insn-flags.h:815:39: note: in expansion of macro ‘GENERATE_LL_SC’ > #define HAVE_sync_compare_and_swaphi (GENERATE_LL_SC) > ^ > /home/vaxbuild/repos/gcc/gcc/c-family/c-cppbuiltin.c:606:7: note: in expansion of macro ‘HAVE_sync_compare_and_swaphi’ > if (HAVE_sync_compare_and_swaphi || HAVE_atomic_compare_and_swaphi) > ^ > /home/vaxbuild/repos/gcc/gcc/config/mips/mips.h:1091:4: error: ‘target_flags_explicit’ was not declared in this scope > (target_flags_explicit & MASK_LLSC \ > ^ > ./insn-flags.h:261:39: note: in expansion of macro ‘GENERATE_LL_SC’ > #define HAVE_sync_compare_and_swapsi (GENERATE_LL_SC) > ^ > /home/vaxbuild/repos/gcc/gcc/c-family/c-cppbuiltin.c:618:7: note: in expansion of macro ‘HAVE_sync_compare_and_swapsi’ > if (HAVE_sync_compare_and_swapsi || HAVE_atomic_compare_and_swapsi) > ^ > /home/vaxbuild/repos/gcc/gcc/config/mips/mips.h:1091:4: error: ‘target_flags_explicit’ was not declared in this scope > (target_flags_explicit & MASK_LLSC \ > ^ > ./insn-flags.h:262:40: note: in expansion of macro ‘GENERATE_LL_SC’ > #define HAVE_sync_compare_and_swapdi ((GENERATE_LL_SC) && (TARGET_64BIT)) > ^ > /home/vaxbuild/repos/gcc/gcc/c-family/c-cppbuiltin.c:630:7: note: in expansion of macro ‘HAVE_sync_compare_and_swapdi’ > if (HAVE_sync_compare_and_swapdi || HAVE_atomic_compare_and_swapdi) > ^ > make[1]: *** [c-family/c-cppbuiltin.o] Error 1 > > > spu-elf (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=20459) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/jbglaw/repos/gcc/gcc -I/home/jbglaw/repos/gcc/gcc/. -I/home/jbglaw/repos/gcc/gcc/../include -I/home/jbglaw/repos/gcc/gcc/../libcpp/include -I/home/jbglaw/repos/gcc/gcc/../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libbacktrace -o spu.o -MT spu.o -MMD -MP -MF ./.deps/spu.TPo /home/jbglaw/repos/gcc/gcc/config/spu/spu.c > /home/jbglaw/repos/gcc/gcc/config/spu/spu.c: In function ‘void spu_option_override()’: > /home/jbglaw/repos/gcc/gcc/config/spu/spu.c:271: error: ‘target_flags_explicit’ was not declared in this scope > /home/jbglaw/repos/gcc/gcc/config/spu/spu.c: In function ‘tree_node* spu_handle_fndecl_attribute(tree_node**, tree_node*, tree_node*, int, bool*)’: > /home/jbglaw/repos/gcc/gcc/config/spu/spu.c:3690: warning: unknown conversion type character ‘E’ in format > /home/jbglaw/repos/gcc/gcc/config/spu/spu.c:3690: warning: too many arguments for format > /home/jbglaw/repos/gcc/gcc/config/spu/spu.c: In function ‘tree_node* spu_handle_vector_attribute(tree_node**, tree_node*, tree_node*, int, bool*)’: > /home/jbglaw/repos/gcc/gcc/config/spu/spu.c:3747: warning: unknown conversion type character ‘E’ in format > /home/jbglaw/repos/gcc/gcc/config/spu/spu.c:3747: warning: too many arguments for format > make[1]: *** [spu.o] Error 1 > > > alpha-linux (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=20456) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/jbglaw/repos/gcc/gcc -I/home/jbglaw/repos/gcc/gcc/. -I/home/jbglaw/repos/gcc/gcc/../include -I/home/jbglaw/repos/gcc/gcc/../libcpp/include -I/home/jbglaw/repos/gcc/gcc/../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libbacktrace -o alpha.o -MT alpha.o -MMD -MP -MF ./.deps/alpha.TPo /home/jbglaw/repos/gcc/gcc/config/alpha/alpha.c > /home/jbglaw/repos/gcc/gcc/config/alpha/alpha.c: In function ‘void alpha_option_override()’: > /home/jbglaw/repos/gcc/gcc/config/alpha/alpha.c:270: error: ‘target_flags_explicit’ was not declared in this scope > /home/jbglaw/repos/gcc/gcc/config/alpha/alpha.c:403: error: ‘target_flags_explicit’ was not declared in this scope > make[1]: *** [alpha.o] Error 1 > > > m68k-linux (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=20408) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/jbglaw/repos/gcc/gcc -I/home/jbglaw/repos/gcc/gcc/. -I/home/jbglaw/repos/gcc/gcc/../include -I/home/jbglaw/repos/gcc/gcc/../libcpp/include -I/home/jbglaw/repos/gcc/gcc/../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/jbglaw/repos/gcc/gcc/../libbacktrace -o m68k.o -MT m68k.o -MMD -MP -MF ./.deps/m68k.TPo /home/jbglaw/repos/gcc/gcc/config/m68k/m68k.c > /home/jbglaw/repos/gcc/gcc/config/m68k/m68k.c: In function ‘void m68k_option_override()’: > /home/jbglaw/repos/gcc/gcc/config/m68k/m68k.c:503: error: ‘target_flags_explicit’ was not declared in this scope > /home/jbglaw/repos/gcc/gcc/config/m68k/m68k.c: In function ‘tree_node* m68k_handle_fndecl_attribute(tree_node**, tree_node*, tree_node*, int, bool*)’: > /home/jbglaw/repos/gcc/gcc/config/m68k/m68k.c:730: warning: unknown conversion type character ‘E’ in format > /home/jbglaw/repos/gcc/gcc/config/m68k/m68k.c:730: warning: too many arguments for format > make[1]: *** [m68k.o] Error 1 > > > frv-linux (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=20396) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 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 -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common -DHAVE_CONFIG_H -I. -I. -I/home/vaxbuild/repos/gcc/gcc -I/home/vaxbuild/repos/gcc/gcc/. -I/home/vaxbuild/repos/gcc/gcc/../include -I/home/vaxbuild/repos/gcc/gcc/../libcpp/include -I/home/vaxbuild/repos/gcc/gcc/../libdecnumber -I/home/vaxbuild/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/vaxbuild/repos/gcc/gcc/../libbacktrace -o frv.o -MT frv.o -MMD -MP -MF ./.deps/frv.TPo /home/vaxbuild/repos/gcc/gcc/config/frv/frv.c > /home/vaxbuild/repos/gcc/gcc/config/frv/frv.c: In function ‘void frv_option_override()’: > /home/vaxbuild/repos/gcc/gcc/config/frv/frv.c:642:52: error: ‘target_flags_explicit’ was not declared in this scope > target_flags |= (frv_default_flags_for_cpu () & ~target_flags_explicit); > ^ > /home/vaxbuild/repos/gcc/gcc/config/frv/frv.c: In function ‘void frv_init_cumulative_args(int*, tree, rtx, tree, int)’: > /home/vaxbuild/repos/gcc/gcc/config/frv/frv.c:3097:51: error: invalid conversion from ‘int’ to ‘tree_code’ [-fpermissive] > get_tree_code_name ((int)TREE_CODE (ret_type))); > ^ > make[1]: *** [frv.o] Error 1 > > > > The actual breakage is uncovered by this fragment: > > --- a/gcc/opth-gen.awk > +++ b/gcc/opth-gen.awk > @@ -114,7 +114,6 @@ print "};" > print "extern struct gcc_options global_options;" > print "extern const struct gcc_options global_options_init;" > print "extern struct gcc_options global_options_set;" > -print "#define target_flags_explicit global_options_set.x_target_flags" > print "#endif" > print "#endif" > print "" > > > ...which means that all code using target_flags_explicit needs to be > cared for. > >> FWIW, I am testing this patch on i386 and powerpc right now. > > Please also test it on at least the targets I reported breakages on. > Have a look here: > > http://toolchain.lug-owl.de/buildbot/?limit=1500 > http://toolchain.lug-owl.de/buildbot/timeline.php?limit=1500 > > Generally, if you're looking for targets that are at least somewhat > supported, you find a good list to start with at > contrib/config-list.mk . > > MfG, JBG > > -- > Jan-Benedict Glaw jbglaw@lug-owl.de +49-172-7608481 > Signature of: Wenn ich wach bin, träume ich. > the second :
On Thu, 2013-10-17 at 11:06 -0700, Xinliang David Li wrote: > JBG, Steve, Can you help testing Sri's latest patch on your targets? > This will help speed up the process. > > thanks, > > David I have already tested the one line patch to opth-gen.awk. It fixes the MIPS build and a testsuite run looked OK too. Steve Ellcey sellcey@mips.com
On Thu, 2013-10-17 11:06:44 -0700, Xinliang David Li <davidxl@google.com> wrote: > JBG, Steve, Can you help testing Sri's latest patch on your targets? > This will help speed up the process. The one-line revert will probably "fix" all of those. Though it's open to discussion if we want to do that, or forward-port all other code. Probably a question the global reviewers should decide on. Though if you want to, I'd easily configure another instance to manually test some patches. MfG, JBG
On Thu, Oct 17, 2013 at 11:25 AM, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote: > On Thu, 2013-10-17 11:06:44 -0700, Xinliang David Li <davidxl@google.com> wrote: >> JBG, Steve, Can you help testing Sri's latest patch on your targets? >> This will help speed up the process. > > The one-line revert will probably "fix" all of those. Though it's > open to discussion if we want to do that, or forward-port all other > code. Probably a question the global reviewers should decide on. Discussions are welcome, possibly after the build breaks are cleaned up. > > Though if you want to, I'd easily configure another instance to > manually test some patches. > That will be really appreciated. thanks, David > MfG, JBG > > -- > Jan-Benedict Glaw jbglaw@lug-owl.de +49-172-7608481 > Signature of: http://www.eyrie.org/~eagle/faqs/questions.html > the second :
--- a/gcc/opth-gen.awk +++ b/gcc/opth-gen.awk @@ -114,7 +114,6 @@ print "};" print "extern struct gcc_options global_options;" print "extern const struct gcc_options global_options_init;" print "extern struct gcc_options global_options_set;" -print "#define target_flags_explicit global_options_set.x_target_flags" print "#endif" print "#endif" print ""