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