make/solaris/makefiles/fix_empty_sec_hdr_flags.make

Wed, 13 Jun 2012 19:52:59 -0400

author
coleenp
date
Wed, 13 Jun 2012 19:52:59 -0400
changeset 3865
e9140bf80b4a
parent 3798
9c1709c4c80c
child 3870
d1b0644d6acf
permissions
-rw-r--r--

7158800: Improve storage of symbol tables
Summary: Use an alternate version of hashing algorithm for symbol string tables and after a certain bucket size to improve performance
Reviewed-by: pbk, kamg, dlong, kvn, fparain

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

mercurial