On 7/9/15 09:26, gchen gchen wrote: > On 07/07/2015 06:28 AM, Chen Gang wrote: >> On 7/6/15 18:31, [email protected] wrote: >>> On Mon, 06 Jul 2015 15:49:20 +0800, Chen Gang said: >>>> On 07/06/2015 02:25 AM, [email protected] wrote: >>>>> On Sun, 05 Jul 2015 06:07:54 +0800, Chen Gang said: >>>>>> For upstream cris toolchain (gcc is 6.0 >>>>> >>>>> typo? >>>>> >>>> >>>> Do you mean "toolchain" -> "tool chain"? >>> >>> No, I was wondering where a gcc 6.0 managed to escape when 5.1 just got >>> released about 2 weeks ago.... >>> >>
gcc 5.1 with the same fedora configuration also causes the same issue: [root@localhost gcc]# /upstream/release-cris-fedora-conf/bin/cris-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=/upstream/release-cris-fedora-conf/bin/cris-linux-gnu-gcc COLLECT_LTO_WRAPPER=/upstream/release-cris-fedora-conf/libexec/gcc/cris-linux-gnu/5.1.0/lto-wrapper Target: cris-linux-gnu Configured with: ../gcc/configure --disable-nls --prefix=/upstream/release-cris-fedora-conf --disable-decimal-float --disable-dependency-tracking --disable-gold --disable-libgomp --disable-libmudflap --disable-libquadmath --disable-libssp --disable-nls --disable-plugin --disable-shared --disable-silent-rules --disable-sjlj-exceptions --disable-threads --enable-gnu-unique-object --enable-initfini-array --enable-languages=c --enable-linker-build-id --enable-nls --enable-obsolete --enable-targets=all --target=cris-linux-gnu --with-linker-hash-style=gnu --with-system-libunwind --with-system-zlib --without-headers Thread model: single gcc version 5.1.0 (GCC) So we need add 'volatile' for the static global variable which is used between C code and assembly code. I shall send patch v2 for it within this week (2015-07-12). Welcome any members ideas, suggestions, and completions. Thanks. > > Oh, sorry, gcc 5.1 is the same, and at present, for me: > > - The new gcc have additional optimization for the static variables. It > should notice about the related c code when optimizing, but gcc has > no idea about assembly code (it should passes them to gas, directly). > > - If one want gcc skip the related optimization, it can use 'volatile' > for it (the static variable which may be used by both c code and > assembly code in one file). > > - So I guess, we need add 'volatile' to the related static variable, we > do not want to disable this optimization only because of this issue. > > Welcome any additional ideas, suggestions and completions. > >> OK, thanks. At present, gcc 6.0 is the latest in master branch. >> >> After check fedora released toolchain (gcc 4.9.1, binutils 2.25), it has >> no issue (support static variable in our case). So this patch can be >> dropped, and I shall try: >> >> - Use the same configuration parameters of fedora released toolchain to >> build the upstream latest cross toolchain again, and try. >> >> - If it still has issue (not support static variable), I shall try to >> fix it. >> >> >> Thanks. >> > > -- > Chen Gang > > Open, share, and attitude like air, water, and life which God blessed > > -- Chen Gang Open, share, and attitude like air, water, and life which God blessed -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

