RFR 8022183: GCC 4.56 changes default setting for omit-frame-pointer which breaks hotspot stack walking
harold.seigel at oracle.com
Thu Aug 22 12:59:03 UTC 2013
Thanks for your comments. I was hoping to limit the impact of my
change. So, I only modified i486.make. I'll look into moving the
change to gcc.make and see if it impacts clang.
On 8/21/2013 11:19 PM, David Holmes wrote:
> Hi Harold,
> I know you modelled this on the code in amd64.make but it really seems
> to me that this belongs in gcc.make. Note that gcc.make already
> contains related flags for clang:
> ifeq ($(USE_CLANG), true)
> # Before Clang 3.1, we had to pass the stack alignment specification
> directly to llvm with the help of '-mllvm'
> # Starting with version 3.1, Clang understands the
> '-mstack-alignment' (and rejects '-mllvm -stack-alignment')
> ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \(
> $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 1 \) \))" "0"
> STACK_ALIGNMENT_OPT = -mno-omit-leaf-frame-pointer
> STACK_ALIGNMENT_OPT = -mno-omit-leaf-frame-pointer -mllvm
> If placed in gcc.make the code in amd64.make could be removed.
> Hmmm, it also seems to me that this change will also add the flag for
> clang (as does the existing amd5=64 code). I'm unsure if that is good
> or bad? Maybe one of our clang experts could chime in if they are on
> this list.
> On 22/08/2013 7:19 AM, harold seigel wrote:
>> Please review this small fix for bug 8022183. This fix is needed in
>> order to build hotspot on 32-bit Linux with newer versions of gcc. The
>> fix explicitly specifies "-fno-omit-frame-pointer" in the makefile for
>> 32-bit Linux.
>> The fix was tested using NMT with -version and with GCBasher.
>> Open webrev at: http://cr.openjdk.java.net/~hseigel/bug_8022183/
>> bug: http://bugs.sun.com/view_bug.do?bug_id=8022183
>> JBS bug: https://jbs.oracle.com/bugs/browse/JDK-8022183
>> Thanks, Harold
More information about the build-dev