1 # 2 # Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. 3 # Copyright (c) 2012, 2013 SAP SE. All rights reserved. 4 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 5 # 6 # This code is free software; you can redistribute it and/or modify it 7 # under the terms of the GNU General Public License version 2 only, as 8 # published by the Free Software Foundation. 9 # 10 # This code is distributed in the hope that it will be useful, but WITHOUT 11 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 12 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 13 # version 2 for more details (a copy is included in the LICENSE file that 14 # accompanied this code). 15 # 16 # You should have received a copy of the GNU General Public License version 17 # 2 along with this work; if not, write to the Free Software Foundation, 18 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 19 # 20 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 21 # or visit www.oracle.com if you need additional information or have any 22 # questions. 23 # 24 # 25 26 # make c code know it is on a 64 bit platform. 27 CFLAGS += -D_LP64=1 28 29 ifeq ($(origin OPENJDK_TARGET_CPU_ENDIAN),undefined) 30 # This can happen during hotspot standalone build. Set endianness from 31 # uname. We assume build and target machines are the same. 32 OPENJDK_TARGET_CPU_ENDIAN:=$(if $(filter ppc64le,$(shell uname -m)),little,big) 33 endif 34 35 ifeq ($(filter $(OPENJDK_TARGET_CPU_ENDIAN),big little),) 36 $(error OPENJDK_TARGET_CPU_ENDIAN value should be 'big' or 'little') 37 endif 38 39 ifeq ($(OPENJDK_TARGET_CPU_ENDIAN),big) 40 # fixes `relocation truncated to fit' error for gcc 4.1. 41 CFLAGS += -mminimal-toc 42 43 # finds use ppc64 instructions, but schedule for power5 44 CFLAGS += -mcpu=powerpc64 -mtune=power5 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string 45 else 46 # Little endian machine uses ELFv2 ABI. 47 CFLAGS += -DVM_LITTLE_ENDIAN -DABI_ELFv2 48 49 # Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI. 50 CFLAGS += -mcpu=power7 -mtune=power8 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string 51 endif