Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/openjdk-multiarch-jdk8u
Path: blob/aarch64-shenandoah-jdk8u272-b10/hotspot/make/linux/makefiles/ppc64.make
32284 views
1
#
2
# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
3
# Copyright 2012, 2013 SAP AG. 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
52
53
# If FDLIBM_CFLAGS is non-empty it holds CFLAGS needed to be passed to
54
# the compiler so as to be able to produce optimized objects
55
# without losing precision.
56
ifneq ($(FDLIBM_CFLAGS),)
57
OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS)
58
OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(FDLIBM_CFLAGS)
59
else
60
OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
61
OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
62
endif
63
64