Skip to content

Commit bceaed6

Browse files
committedFeb 27, 2024
8326406: Remove mapfile support from makefiles
Reviewed-by: jwaters, erikj
1 parent 16d917a commit bceaed6

File tree

5 files changed

+8
-70
lines changed

5 files changed

+8
-70
lines changed
 

‎make/autoconf/flags-cflags.m4

-7
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
4040
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
4141
SET_SHARED_LIBRARY_ORIGIN="-Wl,-z,origin $SET_EXECUTABLE_ORIGIN"
4242
SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
43-
SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'
4443
4544
elif test "x$TOOLCHAIN_TYPE" = xclang; then
4645
if test "x$OPENJDK_TARGET_OS" = xmacosx; then
@@ -49,22 +48,19 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
4948
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,@loader_path$(or [$]1,/.)'
5049
SET_SHARED_LIBRARY_ORIGIN="$SET_EXECUTABLE_ORIGIN"
5150
SET_SHARED_LIBRARY_NAME='-Wl,-install_name,@rpath/[$]1'
52-
SET_SHARED_LIBRARY_MAPFILE='-Wl,-exported_symbols_list,[$]1'
5351
5452
elif test "x$OPENJDK_TARGET_OS" = xaix; then
5553
# Linking is different on aix
5654
SHARED_LIBRARY_FLAGS="-shared -Wl,-bM:SRE -Wl,-bnoentry"
5755
SET_EXECUTABLE_ORIGIN=""
5856
SET_SHARED_LIBRARY_ORIGIN=''
5957
SET_SHARED_LIBRARY_NAME=''
60-
SET_SHARED_LIBRARY_MAPFILE=''
6158
6259
else
6360
# Default works for linux, might work on other platforms as well.
6461
SHARED_LIBRARY_FLAGS='-shared'
6562
SET_EXECUTABLE_ORIGIN='-Wl,-rpath,\$$ORIGIN[$]1'
6663
SET_SHARED_LIBRARY_NAME='-Wl,-soname=[$]1'
67-
SET_SHARED_LIBRARY_MAPFILE='-Wl,-version-script=[$]1'
6864
6965
# arm specific settings
7066
if test "x$OPENJDK_TARGET_CPU" = "xarm"; then
@@ -80,20 +76,17 @@ AC_DEFUN([FLAGS_SETUP_SHARED_LIBS],
8076
SET_EXECUTABLE_ORIGIN=""
8177
SET_SHARED_LIBRARY_ORIGIN=''
8278
SET_SHARED_LIBRARY_NAME=''
83-
SET_SHARED_LIBRARY_MAPFILE=''
8479
8580
elif test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
8681
SHARED_LIBRARY_FLAGS="-dll"
8782
SET_EXECUTABLE_ORIGIN=''
8883
SET_SHARED_LIBRARY_ORIGIN=''
8984
SET_SHARED_LIBRARY_NAME=''
90-
SET_SHARED_LIBRARY_MAPFILE='-def:[$]1'
9185
fi
9286
9387
AC_SUBST(SET_EXECUTABLE_ORIGIN)
9488
AC_SUBST(SET_SHARED_LIBRARY_ORIGIN)
9589
AC_SUBST(SET_SHARED_LIBRARY_NAME)
96-
AC_SUBST(SET_SHARED_LIBRARY_MAPFILE)
9790
AC_SUBST(SHARED_LIBRARY_FLAGS)
9891
])
9992

‎make/autoconf/spec.gmk.template

-4
Original file line numberDiff line numberDiff line change
@@ -617,10 +617,6 @@ INSTALL_NAME_TOOL := @INSTALL_NAME_TOOL@
617617
METAL := @METAL@
618618
METALLIB := @METALLIB@
619619

620-
# Options to linker to specify a mapfile.
621-
# (Note absence of := assignment, because we do not want to evaluate the macro body here)
622-
SET_SHARED_LIBRARY_MAPFILE = @SET_SHARED_LIBRARY_MAPFILE@
623-
624620
#
625621
# Options for generating debug symbols
626622
COMPILE_WITH_DEBUG_SYMBOLS := @COMPILE_WITH_DEBUG_SYMBOLS@

‎make/common/NativeCompilation.gmk

-5
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,6 @@ include native/ToolchainDefinitions.gmk
8989
# VERSIONINFO_RESOURCE Input file for RC. Setting this implies that RC will be run
9090
# RCFLAGS flags for RC.
9191
# EMBED_MANIFEST if true, embed manifest on Windows.
92-
# MAPFILE mapfile
93-
# USE_MAPFILE_FOR_SYMBOLS if true and this is a STATIC_BUILD, just copy the
94-
# mapfile for the output symbols file
9592
# CC the compiler to use, default is $(CC)
9693
# LD the linker to use, default is $(LD)
9794
# OPTIMIZATION sets optimization level to NONE, LOW, HIGH, HIGHEST, HIGHEST_JVM, SIZE
@@ -202,8 +199,6 @@ define SetupNativeCompilationBody
202199
$$(eval $$(call SetupLinkerFlags,$1))
203200
ifneq ($(TOOLCHAIN_TYPE), microsoft)
204201
$$(eval $$(call SetupLinking,$1))
205-
else
206-
$$(eval $$(call SetupLinkingMicrosoft,$1))
207202
endif
208203

209204
$$(eval $$(call SetupObjectFileList,$1))

‎make/common/native/Link.gmk

+7-41
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
# This file contains functionality related to linking a native binary;
2828
# creating either a dynamic library, a static library or an executable.
2929

30-
3130
################################################################################
3231
# GetEntitlementsFile
3332
# Find entitlements file for executable when signing on macosx. If no
@@ -49,14 +48,6 @@ GetEntitlementsFile = \
4948

5049
################################################################################
5150
define SetupLinking
52-
ifneq ($(DISABLE_MAPFILES), true)
53-
$1_REAL_MAPFILE := $$($1_MAPFILE)
54-
endif
55-
56-
ifneq ($$($1_REAL_MAPFILE), )
57-
$1_EXTRA_LDFLAGS += $(call SET_SHARED_LIBRARY_MAPFILE,$$($1_REAL_MAPFILE))
58-
endif
59-
6051
# Unless specifically set, stripping should only happen if symbols are also
6152
# being copied.
6253
$$(call SetIfEmpty, $1_STRIP_SYMBOLS, $$($1_COPY_DEBUG_SYMBOLS))
@@ -95,15 +86,7 @@ define CreateStaticLibrary
9586
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
9687
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
9788

98-
# Generating a static library, ie object file archive.
99-
ifeq ($(STATIC_BUILD), true)
100-
ifeq ($$($1_USE_MAPFILE_FOR_SYMBOLS), true)
101-
STATIC_MAPFILE_DEP := $$($1_MAPFILE)
102-
endif
103-
endif
104-
105-
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_RES) $$($1_VARDEPS_FILE) \
106-
$$(STATIC_MAPFILE_DEP)
89+
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_VARDEPS_FILE)
10790

10891
$1_AR_OBJ_ARG := $$($1_LD_OBJ_ARG)
10992
# With clang on linux, partial linking is enabled and 'AR' takes the output
@@ -136,28 +119,11 @@ define CreateStaticLibrary
136119
$$($1_AR) $$(ARFLAGS) $$($1_ARFLAGS) -r -cs $$($1_TARGET) \
137120
$$($1_AR_OBJ_ARG) $$($1_RES))
138121
ifeq ($(STATIC_BUILD), true)
139-
ifeq ($$($1_USE_MAPFILE_FOR_SYMBOLS), true)
140-
$(CP) $$($1_MAPFILE) $$(@D)/$$(basename $$(@F)).symbols
141-
else
142-
# get the exported symbols from mapfiles and if there
143-
# is no mapfile, get them from the archive
144-
$(RM) $$(@D)/$$(basename $$(@F)).symbols; \
145-
if [ ! -z $$($1_MAPFILE) -a -e $$($1_MAPFILE) ]; then \
146-
$(ECHO) "Getting symbols from mapfile $$($1_MAPFILE)"; \
147-
$(AWK) '/global:/','/local:/' $$($1_MAPFILE) | \
148-
$(SED) -e 's/#.*//;s/global://;s/local://;s/\;//;s/^[ ]*/_/;/^_$$$$/d' | \
149-
$(EGREP) -v "JNI_OnLoad|JNI_OnUnload|Agent_OnLoad|Agent_OnUnload|Agent_OnAttach" > \
150-
$$(@D)/$$(basename $$(@F)).symbols || true; \
151-
$(NM) $(NMFLAGS) $$($1_TARGET) | $(GREP) " T " | \
152-
$(EGREP) "JNI_OnLoad|JNI_OnUnload|Agent_OnLoad|Agent_OnUnload|Agent_OnAttach" | \
153-
$(CUT) -d ' ' -f 3 >> $$(@D)/$$(basename $$(@F)).symbols || true;\
154-
else \
155-
$(ECHO) "Getting symbols from nm"; \
156-
$(NM) $(NMFLAGS) -m $$($1_TARGET) | $(GREP) "__TEXT" | \
157-
$(EGREP) -v "non-external|private extern|__TEXT,__eh_frame" | \
158-
$(SED) -e 's/.* //' > $$(@D)/$$(basename $$(@F)).symbols; \
159-
fi
160-
endif
122+
$(RM) $$(@D)/$$(basename $$(@F)).symbols; \
123+
$(ECHO) "Getting symbols from nm"; \
124+
$(NM) $(NMFLAGS) -m $$($1_TARGET) | $(GREP) "__TEXT" | \
125+
$(EGREP) -v "non-external|private extern|__TEXT,__eh_frame" | \
126+
$(SED) -e 's/.* //' > $$(@D)/$$(basename $$(@F)).symbols
161127
endif
162128
endef
163129

@@ -180,7 +146,7 @@ define CreateDynamicLibraryOrExecutable
180146
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
181147
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
182148

183-
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_REAL_MAPFILE) $$($1_VARDEPS_FILE)
149+
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_VARDEPS_FILE)
184150

185151
$$($1_TARGET): $$($1_TARGET_DEPS)
186152
ifneq ($$($1_OBJ_FILE_LIST), )

‎make/common/native/LinkMicrosoft.gmk

+1-13
Original file line numberDiff line numberDiff line change
@@ -27,18 +27,6 @@
2727
# This file contains functionality related to linking a native binary;
2828
# creating either a dynamic library, a static library or an executable.
2929

30-
31-
################################################################################
32-
define SetupLinkingMicrosoft
33-
ifneq ($(DISABLE_MAPFILES), true)
34-
$1_REAL_MAPFILE := $$($1_MAPFILE)
35-
endif
36-
37-
ifneq ($$($1_REAL_MAPFILE), )
38-
$1_EXTRA_LDFLAGS += $(call SET_SHARED_LIBRARY_MAPFILE,$$($1_REAL_MAPFILE))
39-
endif
40-
endef
41-
4230
################################################################################
4331
define CreateLinkedResultMicrosoft
4432
ifeq ($$($1_TYPE), STATIC_LIBRARY)
@@ -99,7 +87,7 @@ define CreateDynamicLibraryOrExecutableMicrosoft
9987
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
10088

10189
$1_TARGET_DEPS := $$($1_ALL_OBJS) $$($1_RES) $$($1_MANIFEST) \
102-
$$($1_REAL_MAPFILE) $$($1_VARDEPS_FILE)
90+
$$($1_VARDEPS_FILE)
10391

10492
$$($1_TARGET): $$($1_TARGET_DEPS)
10593
ifneq ($$($1_OBJ_FILE_LIST), )

0 commit comments

Comments
 (0)
Please sign in to comment.