OpenJDK and gcc options on Linux
Henri Gomez
henri.gomez at gmail.com
Tue Aug 28 09:48:25 UTC 2012
To resume, what are your CFLAGS and CPPFLAGS options on Linux :-)
2012/8/28 Henri Gomez <henri.gomez at gmail.com>:
> Hi to all,
>
> I'm doing a POC with OpenJDK build (7 and highers) for various Linux
> distributions, CentOS/RHEL, OpenSuse/SLES.
>
> I'm wondering what gcc/g++ options your using on Linux to get best
> performance available ?
>
> From logs, it seems more than basic by default :
>
> g++ -DLINUX -D_GNU_SOURCE -DIA32
> -I/home/cijenka/workspace/openjdk8-standard-build/noarch/opensuse12-i386-builder/hotspot/src/share/vm/prims
> -I/home/cijenka/workspace/openjdk8-standard-build/noarch/opensuse12-i386-builder/hotspot/src/share/vm
> -I/home/cijenka/workspace/openjdk8-standard-build/noarch/opensuse12-i386-builder/hotspot/src/share/vm/precompiled
> -I/home/cijenka/workspace/openjdk8-standard-build/noarch/opensuse12-i386-builder/hotspot/src/cpu/x86/vm
> -I/home/cijenka/workspace/openjdk8-standard-build/noarch/opensuse12-i386-builder/hotspot/src/os_cpu/linux_x86/vm
> -I/home/cijenka/workspace/openjdk8-standard-build/noarch/opensuse12-i386-builder/hotspot/src/os/linux/vm
> -I/home/cijenka/workspace/openjdk8-standard-build/noarch/opensuse12-i386-builder/hotspot/src/os/posix/vm
> -I/home/cijenka/workspace/openjdk8-standard-build/noarch/opensuse12-i386-builder/hotspot/src/share/vm/adlc
> -I../generated -DASSERT -DTARGET_OS_FAMILY_linux -DTARGET_ARCH_x86
> -DTARGET_ARCH_MODEL_x86_32 -DTARGET_OS_ARCH_linux_x86
> -DTARGET_OS_ARCH_MODEL_linux_x86_32 -DTARGET_COMPILER_gcc -DCOMPILER2
> -DCOMPILER1 -fno-rtti -fno-exceptions -D_REENTRANT -fcheck-new
> -fvisibility=hidden -m32 -march=i586 -pipe -Werror -g -c -o
> ../generated/adfiles/archDesc.o
> /home/cijenka/workspace/openjdk8-standard-build/noarch/opensuse12-i386-builder/hotspot/src/share/vm/adlc/archDesc.cpp
>
> ...
>
> /usr/bin/gcc -g -O2 -fno-strict-aliasing -fPIC -W -Wall
> -Wno-unused -Wno-parentheses -fno-omit-frame-pointer -D_LITTLE_ENDIAN
> -DNDEBUG -DARCH='"i586"' -Di586 -DLINUX -DRELEASE='"1.8.0-b53"'
> -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -I.
> -I/home/cijenka/workspace/openjdk8-standard-build/noarch/opensuse12-i386-builder/build/linux-i586/tmp/java/verify/CClassHeaders
> -I../../../src/solaris/javavm/export
> -I../../../src/share/javavm/export -c -o
> /home/cijenka/workspace/openjdk8-standard-build/noarch/opensuse12-i386-builder/build/linux-i586/tmp/java/verify/obj/check_code.o
> ../../../src/share/native/common/check_code.c
> /usr/bin/gcc -g -O2 -fno-strict-aliasing -fPIC -W -Wall
> -Wno-unused -Wno-parentheses -fno-omit-frame-pointer -D_LITTLE_ENDIAN
> -DNDEBUG -DARCH='"i586"' -Di586 -DLINUX -DRELEASE='"1.8.0-b53"'
> -D_LARGEFILE64_SOURCE -D_GNU_SOURCE -D_REENTRANT -I.
> -I/home/cijenka/workspace/openjdk8-standard-build/noarch/opensuse12-i386-builder/build/linux-i586/tmp/java/verify/CClassHeaders
> -I../../../src/solaris/javavm/export
> -I../../../src/share/javavm/export -c -o
> /home/cijenka/workspace/openjdk8-standard-build/noarch/opensuse12-i386-builder/build/linux-i586/tmp/java/verify/obj/check_format.o
> ../../../src/share/native/common/check_format.c
> make[5]: Leaving directory
> `/home/cijenka/workspace/openjdk8-standard-build/noarch/opensuse12-i386-builder/jdk/make/java/verify'
>
>
> On OSX, much more gcc options are in use :
>
> /Applications/Xcode.app/Contents/Developer/usr/bin/llvm-gcc -Os
> -fno-strict-aliasing -fPIC -W -Wall -Wno-unused -Wno-parentheses
> -pipe -m64 -fno-omit-frame-pointer -D_LITTLE_ENDIAN
> -F/System/Library/Frameworks/JavaVM.framework/Frameworks
> -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks
> -DNDEBUG -DARCH='"x86_64"' -Dx86_64 -D_ALLBSD_SOURCE
> -DRELEASE='"1.8.0-b53"' -D_LARGEFILE64_SOURCE -D_GNU_SOURCE
> -D_REENTRANT -DMACOSX -D_LP64=1 -I.
> -I/Users/henri/Documents/jenkins/data/jobs/openjdk-jdk8-jdk8/workspace/build/macosx-x86_64/tmp/java/verify/CClassHeaders
> -I../../../src/solaris/javavm/export
> -I../../../src/share/javavm/export -c -o
> /Users/henri/Documents/jenkins/data/jobs/openjdk-jdk8-jdk8/workspace/build/macosx-x86_64/tmp/java/verify/obj64/check_format.o
> ../../../src/share/native/common/check_format.c
>
> Cheers
More information about the discuss
mailing list