Message ID | 201009181852.16281.ebotcazou@adacore.com |
---|---|
State | New |
Headers | show |
On Sat, 18 Sep 2010, Eric Botcazou wrote:
> The subject tells it all. OK to install?
Yes, thank you!
Please give David a day or two to chime in whether RS/6000 is best to
refer or he has some other preference. (I think I recall some discussion
on this, but no details.)
Gerald
> Please give David a day or two to chime in whether RS/6000 is best to > refer or he has some other preference. (I think I recall some discussion > on this, but no details.) I just copied http://gcc.gnu.org/gcc-4.5/changes.html
* Eric Botcazou:
> The subject tells it all. OK to install?
Are the -fstack-check fixes really Ada-specific?
> Are the -fstack-check fixes really Ada-specific?
I didn't mention -fstack-check in the patch, only stack checking in Ada.
* Eric Botcazou: >> Are the -fstack-check fixes really Ada-specific? > > I didn't mention -fstack-check in the patch, only stack checking in Ada. There have been general improvements in this area (compared to 4.4 at least, where stack probes for VLAs were spaced too far apart). Looking at the generated assembly, I think the initial probe is still too far off (on GNU/Linux i386 and amd64). The stack pointer is decremented by the page size plus the size of 8 words, which could miss the guard page. This is visible in both C and Ada code.
> Looking at the generated assembly, I think the initial probe is still > too far off (on GNU/Linux i386 and amd64). The stack pointer is > decremented by the page size plus the size of 8 words, which could > miss the guard page. This is visible in both C and Ada code. This is as designed, we don't really probe the first few pages, except where this is required (Windows).
Index: htdocs/gcc-4.6/changes.html =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.6/changes.html,v retrieving revision 1.41 diff -u -r1.41 changes.html --- htdocs/gcc-4.6/changes.html 17 Sep 2010 10:20:58 -0000 1.41 +++ htdocs/gcc-4.6/changes.html 18 Sep 2010 16:52:33 -0000 @@ -79,6 +79,9 @@ </li> </ul> </li> + <li>A new switch <code>-fstack-usage</code> has been added. It makes + the compiler output stack usage information for the program, on a + per-function basis, in an auxiliary file.</li> </ul> <h2>Compile time and memory usage improvements</h2> @@ -95,6 +98,12 @@ <h3>Ada</h3> + <ul> + <li>Stack checking has been improved on selected architectures (Alpha, + IA-32/x86-64, RS/6000 and SPARC): it now will detect stack overflows + in all cases on these architectures.</li> + </ul> + <h3>C family</h3> <h3 id="Cxx">C++</h3>