Hi Linaro Toolchian Group,
I am new to GCC development and have some basic question on its development process. Could you please give some insight on below questions. (Apology if they are very trivial). I have read https://gcc.gnu.org/develop.html
If I am correct, gcc trunk is on gcc 6.0.0 (stage 3) at present and will becomes 6.0.1 (regression fix only) in January 2016. gcc 6.0.1 will be released as gcc 6.1.0 in April, 2016 and from there onwards gcc 6 release branch will start. However, There is also a gcc 5 branch in parallel whose current version is 5.2.1 and will be released as gcc 5.3 soon. Hopefully gcc 5.3 would be the last release in gcc 5 series. (Please correct me if I am wrong).
[Questions]
1. What is the difference between experimental(gcc 6.0.0 stage 3) & gcc release branch (gcc 5.2.1)? Is there any rule which decides which changes will go where? In case, I have some patches for new aarch64 processor at present, in which branch these changes would be merged (assuming they passes reviews)? 2. How is the subversion of release branches are decided? Is it correct to say that there will be always 3 subversion of any release branch (e.g. gcc 5.1, gcc 5.2 & gcc 5.3)?
3. What is the working model between GNU GCC and Linaro GCC? Does Linaro directly accept patches? or they need to go to GNU GCC first?
Thanks in advance for your time.
with regards, Virendra Kumar Pathak
Hi Virenda,
On 2 December 2015 at 14:26, Virendra Kumar Pathak kumarvir.pathak@gmail.com wrote:
Hi Linaro Toolchian Group,
I am new to GCC development and have some basic question on its development process. Could you please give some insight on below questions. (Apology if they are very trivial). I have read https://gcc.gnu.org/develop.html
If I am correct, gcc trunk is on gcc 6.0.0 (stage 3) at present and will becomes 6.0.1 (regression fix only) in January 2016. gcc 6.0.1 will be released as gcc 6.1.0 in April, 2016 and from there onwards gcc 6 release branch will start. However, There is also a gcc 5 branch in parallel whose current version is 5.2.1 and will be released as gcc 5.3 soon. Hopefully gcc 5.3 would be the last release in gcc 5 series. (Please correct me if I am wrong).
Yes that's pretty much it, I don't think that 5.3 will be the last one, but we'll see
[Questions]
- What is the difference between experimental(gcc 6.0.0 stage 3) & gcc
release branch (gcc 5.2.1)?
trunk (actual gcc 6.0.0) is where everything goes, new features, new optimizations, new targets, bugfixes, etc ... On release branches it is mainly bugfixes even if maintainers can do some exception sometimes
Is there any rule which decides which changes will go where? In case, I have some patches for new aarch64 processor at present, in which branch these changes would be merged (assuming they passes reviews)?
in trunk, but only in stage 1, if you submit it today, it will be in GCC 7.0.0
- How is the subversion of release branches are decided? Is it correct to
say that there will be always 3 subversion of any release branch (e.g. gcc 5.1, gcc 5.2 & gcc 5.3)?
No we had 4.8.5 o 4.7.4, I don't think there is a strict rule for that, GCC release managers make the choice to cut a new one given the amount of bugfixes in the branches I guess.
- What is the working model between GNU GCC and Linaro GCC? Does Linaro
directly accept patches? or they need to go to GNU GCC first?
Linaro works upstream, all our development are going into GCC trunk, and in the same time we releasing our own branches, based on the current release branch in which we're backporting from trunk interesting changes for ARM and AArch64, bugfixes of course but also new features and performance related patches, which will not be in the next FSF release.
Regards, Yvan
Thanks in advance for your time.
with regards, Virendra Kumar Pathak
-- with regards, Virendra Kumar Pathak
linaro-toolchain mailing list linaro-toolchain@lists.linaro.org https://lists.linaro.org/mailman/listinfo/linaro-toolchain
On 2 December 2015 at 14:15, Yvan Roux yvan.roux@linaro.org wrote:
- What is the difference between experimental(gcc 6.0.0 stage 3) & gcc
release branch (gcc 5.2.1)?
trunk (actual gcc 6.0.0) is where everything goes, new features, new optimizations, new targets, bugfixes, etc ... On release branches it is mainly bugfixes even if maintainers can do some exception sometimes
Is there any rule which decides which changes will go where? In case, I have some patches for new aarch64 processor at present, in which branch these changes would be merged (assuming they passes reviews)?
in trunk, but only in stage 1, if you submit it today, it will be in GCC 7.0.0
IIRC, in some circumstances such patches can be acceptable during Stage 3 if they are sufficiently self-contained and the port maintainer accepts them.
Thanks Yvan Roux & Charles Baylis for the help.
On 2 December 2015 at 20:20, Charles Baylis charles.baylis@linaro.org wrote:
On 2 December 2015 at 14:15, Yvan Roux yvan.roux@linaro.org wrote:
- What is the difference between experimental(gcc 6.0.0 stage 3) & gcc
release branch (gcc 5.2.1)?
trunk (actual gcc 6.0.0) is where everything goes, new features, new optimizations, new targets, bugfixes, etc ... On release branches it is mainly bugfixes even if maintainers can do some exception sometimes
Is there any rule which decides which changes will go where? In case, I have some patches for new aarch64 processor at present,
in
which branch these changes would be merged (assuming they passes
reviews)?
in trunk, but only in stage 1, if you submit it today, it will be in GCC
7.0.0
IIRC, in some circumstances such patches can be acceptable during Stage 3 if they are sufficiently self-contained and the port maintainer accepts them.
linaro-toolchain@lists.linaro.org