make/solaris/makefiles/fix_empty_sec_hdr_flags.make

Tue, 08 Aug 2017 15:57:29 +0800

author
aoqi
date
Tue, 08 Aug 2017 15:57:29 +0800
changeset 6876
710a3c8b516e
parent 3870
d1b0644d6acf
parent 0
f90c822e73f8
permissions
-rw-r--r--

merge

aoqi@0 1 #
aoqi@0 2 # Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
aoqi@0 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
aoqi@0 4 #
aoqi@0 5 # This code is free software; you can redistribute it and/or modify it
aoqi@0 6 # under the terms of the GNU General Public License version 2 only, as
aoqi@0 7 # published by the Free Software Foundation.
aoqi@0 8 #
aoqi@0 9 # This code is distributed in the hope that it will be useful, but WITHOUT
aoqi@0 10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
aoqi@0 11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
aoqi@0 12 # version 2 for more details (a copy is included in the LICENSE file that
aoqi@0 13 # accompanied this code).
aoqi@0 14 #
aoqi@0 15 # You should have received a copy of the GNU General Public License version
aoqi@0 16 # 2 along with this work; if not, write to the Free Software Foundation,
aoqi@0 17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
aoqi@0 18 #
aoqi@0 19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
aoqi@0 20 # or visit www.oracle.com if you need additional information or have any
aoqi@0 21 # questions.
aoqi@0 22 #
aoqi@0 23 #
aoqi@0 24
aoqi@0 25 # Rules to build fix_empty_sec_hdr_flags, used by vm.make on Solaris
aoqi@0 26
aoqi@0 27 # Allow $(FIX_EMPTY_SEC_HDR_FLAGS) to be called from any directory.
aoqi@0 28 # We don't set or use the GENERATED macro to avoid affecting
aoqi@0 29 # other HotSpot Makefiles.
aoqi@0 30 TOPDIR = $(shell echo `pwd`)
aoqi@0 31 FIX_EMPTY_SEC_HDR_FLAGS = $(TOPDIR)/../generated/fix_empty_sec_hdr_flags
aoqi@0 32
aoqi@0 33 FIX_EMPTY_SEC_HDR_FLAGS_DIR = $(GAMMADIR)/src/os/solaris/fix_empty_sec_hdr_flags
aoqi@0 34 FIX_EMPTY_SEC_HDR_FLAGS_SRC = $(FIX_EMPTY_SEC_HDR_FLAGS_DIR)/fix_empty_sec_hdr_flags.c
aoqi@0 35 FIX_EMPTY_SEC_HDR_FLAGS_FLAGS =
aoqi@0 36 LIBS_FIX_EMPTY_SEC_HDR_FLAGS += -lelf
aoqi@0 37
aoqi@0 38 ifeq ("${Platform_compiler}", "sparcWorks")
aoqi@0 39 # Enable the following FIX_EMPTY_SEC_HDR_FLAGS_FLAGS addition if you need to
aoqi@0 40 # compare the built ELF objects.
aoqi@0 41 #
aoqi@0 42 # The -g option makes static data global and the "-W0,-noglobal"
aoqi@0 43 # option tells the compiler to not globalize static data using a unique
aoqi@0 44 # globalization prefix. Instead force the use of a static globalization
aoqi@0 45 # prefix based on the source filepath so the objects from two identical
aoqi@0 46 # compilations are the same.
aoqi@0 47 #
aoqi@0 48 # Note: The blog says to use "-W0,-xglobalstatic", but that doesn't
aoqi@0 49 # seem to work. I got "-W0,-noglobal" from Kelly and that works.
aoqi@0 50 #FIX_EMPTY_SEC_HDR_FLAGS_FLAGS += -W0,-noglobal
aoqi@0 51 endif # Platform_compiler == sparcWorks
aoqi@0 52
aoqi@0 53 $(FIX_EMPTY_SEC_HDR_FLAGS): $(FIX_EMPTY_SEC_HDR_FLAGS_SRC)
aoqi@0 54 $(CC) -g -o $@ $< $(FIX_EMPTY_SEC_HDR_FLAGS_FLAGS) $(LIBS_FIX_EMPTY_SEC_HDR_FLAGS)

mercurial