1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# Copyright (C) 1996, 1997, 1998, 2001, 2002,
# 2007, 2009 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
# GCC is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3, or (at your option)
# any later version.
#
# GCC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
LIB2FUNCS_EXTRA = $(srcdir)/config/alpha/vms-gcc_shell_handler.c
EXTRA_PARTS = vms-dwarf2.o vms-dwarf2eh.o $(VMS_EXTRA_PARTS) \
crtbegin.o crtbeginS.o crtend.o crtendS.o
# This object must be linked with in order to make the executable debuggable.
# vms-ld handles it automatically when passed -g.
$(T)vms-dwarf2.o : $(srcdir)/config/alpha/vms-dwarf2.asm
$(GCC_FOR_TARGET) -c -x assembler $< -o $@
$(T)vms-dwarf2eh.o : $(srcdir)/config/alpha/vms-dwarf2eh.asm
$(GCC_FOR_TARGET) -c -x assembler $< -o $@
MULTILIB_OPTIONS = mcpu=ev6
MULTILIB_DIRNAMES = ev6
MULTILIB_OSDIRNAMES = ev6
LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib
shlib_version:=$(shell echo $(BASEVER_c) | sed -e 's/\./,/' -e 's/\.//g')
SHLIB_EXT = .exe
SHLIB_OBJS = @shlib_objs@
SHLIB_NAME = @shlib_base_name@.exe
SHLIB_MULTILIB =
SHLIB_INSTALL = $(INSTALL_DATA) $(SHLIB_NAME) $$(DESTDIR)$$(libsubdir)/$(SHLIB_NAME)
SHLIB_SYMVEC = \
grep -F -e "\$$BSS\$$" -e "\$$DATA\$$" -e " sdata " -e " data.rel " -e " data.rel.ro " -e " sbss " \
-e "\$$LINK\$$" -e "\$$READONLY\$$" | \
sed -e "s/.*\$$LINK\$$ \(.*\)/SYMBOL_VECTOR=(\1=PROCEDURE)/" \
-e "s/.*\$$DATA\$$ \(.*\)/SYMBOL_VECTOR=(\1=DATA)/" \
-e "s/.* sbss \(.*\)/SYMBOL_VECTOR=(\1=DATA)/" \
-e "s/.* sdata \(.*\)/SYMBOL_VECTOR=(\1=DATA)/" \
-e "s/.* data.rel \(.*\)/SYMBOL_VECTOR=(\1=DATA)/" \
-e "s/.* data.rel.ro \(.*\)/SYMBOL_VECTOR=(\1=DATA)/" \
-e "s/.*\$$BSS\$$ \(.*\)/SYMBOL_VECTOR=(\1=DATA)/" \
-e "s/.*\$$READONLY\$$ \(.*\)/SYMBOL_VECTOR=(\1=DATA)/"
SHLIB_SYMVECX2 := $(subst $$,$$$$,$(SHLIB_SYMVEC))
SHLIB_LINK = \
echo "case_sensitive=yes" > SYMVEC_$$$$$$$$.opt; \
objdump --syms $(SHLIB_OBJS) | \
$(SHLIB_SYMVECX2) >> SYMVEC_$$$$$$$$.opt ; \
echo "case_sensitive=NO" >> SYMVEC_$$$$$$$$.opt; \
$(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -nodefaultlibs \
-shared --for-linker=/noinform -o $(SHLIB_NAME) $(SHLIB_OBJS) \
--for-linker=SYMVEC_$$$$$$$$.opt \
--for-linker=gsmatch=equal,$(shlib_version)
|