Discussion:
GNU GCC development plan and its interaction with Linaro
Virendra Kumar Pathak
2015-12-02 13:26:45 UTC
Permalink
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
--
with regards,
Virendra Kumar Pathak
Yvan Roux
2015-12-02 14:15:23 UTC
Permalink
Hi Virenda,

On 2 December 2015 at 14:26, Virendra Kumar Pathak
Post by Virendra Kumar Pathak
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
Post by Virendra Kumar Pathak
[Questions]
1. 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
Post by Virendra Kumar Pathak
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
Post by Virendra Kumar Pathak
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)?
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.
Post by Virendra Kumar Pathak
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?
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
Post by Virendra Kumar Pathak
Thanks in advance for your time.
with regards,
Virendra Kumar Pathak
--
with regards,
Virendra Kumar Pathak
_______________________________________________
linaro-toolchain mailing list
https://lists.linaro.org/mailman/listinfo/linaro-toolchain
Charles Baylis
2015-12-02 14:50:12 UTC
Permalink
Post by Yvan Roux
Post by Virendra Kumar Pathak
1. 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
Post by Virendra Kumar Pathak
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.
Virendra Kumar Pathak
2015-12-04 09:22:13 UTC
Permalink
Thanks Yvan Roux & Charles Baylis for the help.
Post by Virendra Kumar Pathak
Post by Yvan Roux
Post by Virendra Kumar Pathak
1. 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
Post by Virendra Kumar Pathak
Is there any rule which decides which changes will go where?
In case, I have some patches for new aarch64 processor at present,
in
Post by Yvan Roux
Post by Virendra Kumar Pathak
which branch these changes would be merged (assuming they passes
reviews)?
Post by Yvan Roux
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.
--
with regards,
Virendra Kumar Pathak
Loading...