Hello,
I am looking for a way to disable '-gtoggle' flag in the run of stage 2 in bootstrap; when configuring ARM with (*). The flag seems to be applied in stage 2 but not in stage 3 which seems to cause bootstrap failure when testing SMS as in stage 2 SMS fails because of debug_insn caused by -gtoggle disturbing do-loop; while in stage 3 SMS succeeds; resulting in different .o files and bootsrtrap failure.
(*) This the configure I used: ../gcc/configure --prefix=/home/eres/mainline/build --enable-checking --enable-languages=c --enable-bootstrap
Thanks, Revital
On Fri, 2011-03-04 at 15:33 +0200, Revital1 Eres wrote:
Hello,
I am looking for a way to disable '-gtoggle' flag in the run of stage 2 in bootstrap; when configuring ARM with (*). The flag seems to be applied in stage 2 but not in stage 3 which seems to cause bootstrap failure when testing SMS as in stage 2 SMS fails because of debug_insn caused by -gtoggle disturbing do-loop; while in stage 3 SMS succeeds; resulting in different .o files and bootsrtrap failure.
(*) This the configure I used: ../gcc/configure --prefix=/home/eres/mainline/build --enable-checking --enable-languages=c --enable-bootstrap
By definition that's regarded as a bug in the compiler. Code generated with debug enabled is required to be identical to code generated without it.
R.
Hello,
I am looking for a way to disable '-gtoggle' flag in the run of stage 2
in
bootstrap; when configuring ARM with (*). The flag seems to be applied in stage 2 but not in stage 3 which seems
to
cause bootstrap failure when testing SMS as in stage 2 SMS fails because of debug_insn caused by -gtoggle disturbing do-loop; while in stage 3 SMS succeeds;
resulting
in different .o files and bootsrtrap failure.
(*) This the configure I used: ../gcc/configure --prefix=/home/eres/mainline/build --enable-checking --enable-languages=c --enable-bootstrap
By definition that's regarded as a bug in the compiler. Code generated with debug enabled is required to be identical to code generated without it.
OK, thanks for your answer. I'll try to see how to resolve it. btw, when configuring with --with-arch=armv7-a -gtoggle is *not* been used in the bootstrap stages (2 nor 3)
Revital
R.
OK, thanks for your answer. I'll try to see how to resolve it. btw, when configuring with --with-arch=armv7-a -gtoggle is *not* been used in the bootstrap stages (2 nor 3)
I presume this is FSF trunk you are referring to here. I thought this was now turned on by default precisely to catch such issues with debug info early.
I've always seen this turned on when bootstrapping FSF trunk with no special configuration options.
cheers Ramana
Revital
R.
linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Hello,
I presume this is FSF trunk you are referring to here. I thought this was now turned on by default precisely to catch such issues with debug info
early.
Yes, I'm testing FSF trunk.
Thanks, Revital
I've always seen this turned on when bootstrapping FSF trunk with no
special
configuration options.
cheers Ramana
Revital
R.
linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Hello Again,
I presume this is FSF trunk you are referring to here. I thought this was now turned on by default precisely to catch such issues with debug info
early.
I've always seen this turned on when bootstrapping FSF trunk with no
special
configuration options.
btw, is there a way to bootstrap without the flag? The new functionality been tested is not directly related to this problem so I want to make sure it's OK and afterwords I'll handle the issue exposed regarding the debug info.
Thanks, Revital
cheers Ramana
Revital
R.
linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Hello Ramana,
I've always seen this turned on when bootstrapping FSF trunk with no
special
configuration options.
You are correct, sorry for the confusion. I checked again and it is indeed turned on also with --with-arch=armv7-a. When configuring without --with-arch=armv7-a and using -mthumb flag thumb-1 is been tested. In this case cbranchne_decr1 instruction is recognized as do-loop and the generation of the debug_insn for it interferer with SMS in stage 2 of the bootstrap (when -gtoggle is used) and thus the bootstrap fail. When running with --with-arch=armv7-a the new do-loop support for thumb-2 is used and the bootstrap passes as such debug_insn is not created for the do-loop part.
Thanks, Revital
cheers Ramana
Revital
R.
linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Hi Revital,
On 4 March 2011 15:46, Revital1 Eres ERES@il.ibm.com wrote:
Hello Ramana,
I've always seen this turned on when bootstrapping FSF trunk with no
special
configuration options.
You are correct, sorry for the confusion. I checked again and it is indeed turned on also with --with-arch=armv7-a.
No problem.
When configuring without --with-arch=armv7-a and using -mthumb flag thumb-1 is been tested.
I don't understand "using -mthumb" . Are you manually adding -mthumb to your boot C flags ?
If you are trying to bootstrap in Thumb state use the configuration knob --with-mode=thumb and the value you pass to --with-arch or -with-cpu will ensure that this gets the right level of the Thumb ISA. Thus the compiler will bootstrap using the Thumb2 ISA, if you use --with-arch=armv7-a . If you use anything less than or equal to --with-arch=armv6 or a cpu that implements v6 or lower of the architecture you'll end up bootstrapping with Thumb1.
Are you saying that Thumb1 bootstraps are broken with SMS / do-loop and debug info ?
cheers Ramana
Hello,
When configuring without --with-arch=armv7-a and using -mthumb flag thumb-1 is been tested.
I don't understand "using -mthumb" . Are you manually adding -mthumb to your boot C flags ?
Yes, I'm using:
make bootstrap BOOT_CFLAGS="-O2 -fmodulo-sched -fmodulo-sched-allow-regmoves -fno-auto-inc-dec -funsafe-math-optimizations -mthumb"
If you are trying to bootstrap in Thumb state use the configuration knob --with-mode=thumb and the value you pass to --with-arch or -with-cpu will ensure that this gets the right level of the Thumb ISA. Thus the compiler will bootstrap using the Thumb2 ISA, if you use --with-arch=armv7-a . If you use anything less than or equal to --with-arch=armv6 or a cpu that implements v6 or lower of the architecture you'll end up bootstrapping with Thumb1.
OK, thanks for the explanation.
Are you saying that Thumb1 bootstraps are broken with SMS / do-loop and debug info ?
Yes, I'll try to fix that.
Thanks, Revital
cheers Ramana
linaro-toolchain@lists.linaro.org