Hi David,
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.
Thanks, Harold
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
-mstack-alignment=16
else
STACK_ALIGNMENT_OPT = -mno-omit-leaf-frame-pointer -mllvm
-stack-alignment=16
endif
endif
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.
Thanks,
David
On 22/08/2013 7:19 AM, harold seigel wrote:
Hi,
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/
<http://cr.openjdk.java.net/%7Ehseigel/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