Bug 932178 - Move ASFILES to moz.build in xpcom/reflect/xptcall/src/md/unix. r=gps

This also cleans up assembler-with-cpp flags, by renaming .s files to .S,
which are preprocessed without requiring additional flags. Also clean up
the generated assembly torture.

--HG--
rename : xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.s => xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips.S
rename : xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.s => xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_mips64.S
rename : xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_linux.s => xpcom/reflect/xptcall/src/md/unix/xptcinvoke_asm_ppc_linux.S
rename : xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.s => xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips.S
rename : xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.s => xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_mips64.S
rename : xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc_linux.s => xpcom/reflect/xptcall/src/md/unix/xptcstubs_asm_ppc_linux.S
This commit is contained in:
Mike Hommey 2013-10-30 07:46:17 +09:00
parent 9781f42f8d
commit 6dcd33ed08
8 changed files with 88 additions and 166 deletions

View File

@ -35,43 +35,6 @@ endif
endif
endif
# IA64 Linux
ifneq (,$(filter Linux FreeBSD,$(OS_ARCH)))
ifneq (,$(findstring ia64,$(OS_TEST)))
ASFILES := xptcstubs_asm_ipf64.s xptcinvoke_asm_ipf64.s
endif
endif
#
# Neutrino/Intel (uses the same unixish_x86 code)
#
ifeq ($(OS_TARGET),NTO)
ifeq ($(OS_TEST),sh)
ASFILES := xptcstubs_asm_shle.s
endif
endif
######################################################################
# Solaris/Intel
######################################################################
#
# Solaris/Intel
#
ifeq ($(OS_ARCH),SunOS)
ifeq (x86_64,$(OS_TEST))
ifndef GNU_CC
ASFILES := xptcstubs_asm_x86_64_solaris_SUNW.s
endif
else
ifeq (86,$(findstring 86,$(OS_TEST)))
# 28817: if Solaris Intel OS, and native compiler, always build optimised.
ifndef GNU_CC
ASFILES := xptcinvoke_asm_x86_solaris_SUNW.s xptcstubs_asm_x86_solaris_SUNW.s
endif
endif
endif
endif
######################################################################
# ARM
######################################################################
@ -93,12 +56,6 @@ endif
# for gas and gcc, check comment in xptcinvoke_asm_pa32.s
ifeq ($(OS_ARCH),HP-UX)
ifneq ($(CC),gcc)
ifneq ($(OS_TEST),ia64)
ASFILES := xptcstubs_asm_pa32.s xptcinvoke_asm_pa32.s
else
ASFILES := xptcstubs_asm_ipf32.s xptcinvoke_asm_ipf32.s
endif
# #18875 Building the CPP's (CXX) optimized causes a crash
CXXFLAGS := $(filter-out $(MOZ_OPTIMIZE_FLAGS), $(CXXFLAGS))
endif
@ -111,7 +68,6 @@ ifeq ($(OS_ARCH),Linux)
ifneq (,$(filter hppa hppa2.0 hppa1.1,$(OS_TEST)))
ifndef GNU_CXX
else
ASFILES := xptcstubs_asm_parisc_linux.s xptcinvoke_asm_parisc_linux.s
# #434190 optimized builds crash
CXXFLAGS := $(filter-out $(MOZ_OPTIMIZE_FLAGS), $(CXXFLAGS))
endif
@ -125,12 +81,7 @@ endif
ifeq ($(OS_ARCH),Linux)
ifneq (,$(findstring mips, $(OS_TEST)))
ifneq (,$(findstring mips64, $(OS_TEST)))
ASFILES := xptcinvoke_asm_mips64.s xptcstubs_asm_mips64.s
else
ASFILES := xptcinvoke_asm_mips.s xptcstubs_asm_mips.s
endif
ASFLAGS += -I$(DIST)/include -x assembler-with-cpp
ASFLAGS += -I$(DIST)/include
endif
endif
@ -141,91 +92,14 @@ endif
# AIX/PPC
#
ifeq ($(OS_ARCH),AIX)
ifdef HAVE_64BIT_OS
ASFILES := xptcinvoke_asm_ppc_aix64.s xptcstubs_asm_ppc_aix64.s
else
ifeq ($(AIX_OBJMODEL),ibm)
ASFILES := xptcinvoke_asm_ppc_ibmobj_aix.s xptcstubs_asm_ppc_aix.s
else
ASFILES := xptcinvoke_asm_ppc_aix.s xptcstubs_asm_ppc_aix.s
endif
endif
# #24617 Building the CPP's (CXX) optimized causes a crash
CXXFLAGS := $(filter-out $(MOZ_OPTIMIZE_FLAGS), $(CXXFLAGS))
endif
#
# Linux/PPC
#
ifneq (,$(filter Linuxpowerpc FreeBSDpowerpc,$(OS_ARCH)$(OS_TEST)))
ASFILES := xptcinvoke_asm_ppc_linux.s xptcstubs_asm_ppc_linux.s
AS := $(CC) -c -x assembler-with-cpp
endif
#
# Linux/PPC64
#
ifneq (,$(filter Linuxpowerpc64 FreeBSDpowerpc64,$(OS_ARCH)$(OS_TEST)))
ASFILES := xptcinvoke_asm_ppc64_linux.s xptcstubs_asm_ppc64_linux.s
AS := $(CC) -c -x assembler-with-cpp
endif
#
# NetBSD/PPC
#
ifneq (,$(filter NetBSDmacppc NetBSDbebox NetBSDofppc NetBSDprep NetBSDamigappc,$(OS_ARCH)$(OS_TEST)))
ASFILES := xptcinvoke_asm_ppc_netbsd.s xptcstubs_asm_ppc_netbsd.s
endif
#
# OpenBSD/PPC
#
ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDpowerpc)
ASFILES := xptcinvoke_asm_ppc_openbsd.s xptcstubs_asm_ppc_openbsd.s
AS := $(CC) -c -x assembler-with-cpp
endif
#
# Darwin/PPC
#
ifeq ($(OS_ARCH),Darwin)
ifeq ($(TARGET_CPU), powerpc)
ASFLAGS += -x assembler-with-cpp # assumes $(AS) == $(CC)
ASFILES := xptcinvoke_asm_ppc_rhapsody.s xptcstubs_asm_ppc_darwin.s
endif
endif
######################################################################
# SPARC
######################################################################
#
# Linux/SPARC
#
ifeq ($(OS_ARCH),Linux)
ifneq (,$(findstring sparc,$(OS_TEST)))
ASFILES := xptcinvoke_asm_sparc_linux_GCC3.s xptcstubs_asm_sparc_solaris.s
endif
endif
#
# NetBSD/SPARC
#
ifeq ($(OS_ARCH)$(OS_TEST),NetBSDsparc)
ASFILES := xptcinvoke_asm_sparc_netbsd.s xptcstubs_asm_sparc_netbsd.s
endif
#
# OpenBSD/SPARC
#
ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDsparc)
ASFILES := xptcinvoke_asm_sparc_openbsd.s xptcstubs_asm_sparc_openbsd.s
endif
#
# OpenBSD/SPARC64
#
ifneq (,$(filter OpenBSDsparc64 FreeBSDsparc64,$(OS_ARCH)$(OS_TEST)))
ASFILES := xptcinvoke_asm_sparc64_openbsd.s xptcstubs_asm_sparc64_openbsd.s
endif
#
# Solaris/SPARC
#
ifeq ($(OS_ARCH),SunOS)
@ -233,18 +107,6 @@ ifneq (86,$(findstring 86,$(OS_TEST)))
ifdef HAVE_64BIT_OS
ASFLAGS += -xarch=v9
endif
ifeq ($(GNU_CC),1)
ASFILES := xptcinvoke_asm_sparc_solaris_GCC3.s xptcstubs_asm_sparc_solaris.s
else
ifdef HAVE_64BIT_OS
ASFILES := xptcinvoke_asm_sparcv9_solaris_SUNW.s xptcstubs_asm_sparcv9_solaris.s
else
ASFILES := xptcinvoke_asm_sparc_solaris_SUNW.s xptcstubs_asm_sparc_solaris.s
endif
endif
endif
endif
@ -278,47 +140,37 @@ endif
endif
ifeq ($(OS_ARCH),Darwin)
xptcstubs_asm_ppc_darwin.o: xptcstubs_asm_ppc_darwin.s.m4 $(DIST)/include/xptcstubsdef.inc Makefile
gm4 $(INCLUDES) $< > ./xptcstubs_asm_ppc_darwin.s && \
$(AS) -o $@ $(ASFLAGS) $(AS_DASH_C_FLAG) ./xptcstubs_asm_ppc_darwin.s
$(RM) -f ./xptcstubs_asm_ppc_darwin.s
xptcstubs_asm_ppc_darwin.s: xptcstubs_asm_ppc_darwin.s.m4 $(DIST)/include/xptcstubsdef.inc Makefile
gm4 $(INCLUDES) $< > $@
endif
ifeq ($(OS_ARCH),AIX)
ifdef HAVE_64BIT_OS
xptcstubs_asm_ppc_aix64.o: xptcstubs_asm_ppc_aix64.s.m4 $(DIST)/include/xptcstubsdef.inc Makefile
m4 -DAIX_OBJMODEL=$(AIX_OBJMODEL) $(INCLUDES) -I. $< > ./xptcstubs_asm_ppc_aix64.s && \
$(AS) -o $@ $(ASFLAGS) $(AS_DASH_C_FLAG) ./xptcstubs_asm_ppc_aix64.s
$(RM) ./xptcstubs_asm_ppc_aix64.s
xptcstubs_asm_ppc_aix64.s: xptcstubs_asm_ppc_aix64.s.m4 $(DIST)/include/xptcstubsdef.inc Makefile
m4 -DAIX_OBJMODEL=$(AIX_OBJMODEL) $(INCLUDES) -I. $< > $@
else
xptcstubs_asm_ppc_aix.o: xptcstubs_asm_ppc_aix.s.m4 $(DIST)/include/xptcstubsdef.inc Makefile
m4 -DAIX_OBJMODEL=$(AIX_OBJMODEL) $(INCLUDES) -I. $< > ./xptcstubs_asm_ppc_aix.s && \
$(AS) -o $@ $(ASFLAGS) $(AS_DASH_C_FLAG) ./xptcstubs_asm_ppc_aix.s
$(RM) ./xptcstubs_asm_ppc_aix.s
xptcstubs_asm_ppc_aix.s: xptcstubs_asm_ppc_aix.s.m4 $(DIST)/include/xptcstubsdef.inc Makefile
m4 -DAIX_OBJMODEL=$(AIX_OBJMODEL) $(INCLUDES) -I. $< > $@
endif
endif
ifeq ($(OS_ARCH),SunOS)
ifeq (86,$(findstring 86,$(OS_TEST)))
ifndef GNU_CC
xptcstubsdef_asm.solx86: $(DIST)/include/xptcstubsdef.inc
sed \
-e 's/^\(STUB_ENTRY\)(\([0-9]\))/\11\(\2\)/' \
-e 's/^\(STUB_ENTRY\)(\([0-9][0-9]\))/\12\(\2\)/' \
-e 's/^\(STUB_ENTRY\)(\([0-9][0-9][0-9]\))/\13\(\2\)/' \
$(DIST)/include/xptcstubsdef.inc > $@
ifeq (x86_64,$(OS_TEST))
xptcstubs_asm_x86_64_solaris_SUNW.o: $(DIST)/include/xptcstubsdef.inc $(srcdir)/xptcstubs_asm_x86_64_solaris_SUNW.s
sed \
-e 's/^\(STUB_ENTRY\)(\([0-9]\))/\11\(\2\)/' \
-e 's/^\(STUB_ENTRY\)(\([0-9][0-9]\))/\12\(\2\)/' \
-e 's/^\(STUB_ENTRY\)(\([0-9][0-9][0-9]\))/\13\(\2\)/' \
$(DIST)/include/xptcstubsdef.inc > ./xptcstubsdef_asm.solx86
$(AS) -o $@ -xarch=amd64 $(ASFLAGS) $(AS_DASH_C_FLAG) -I./ $(srcdir)/xptcstubs_asm_x86_64_solaris_SUNW.s
ASFLAGS += -xarch=amd64
xptcstubs_asm_x86_64_solaris_SUNW.$(OBJ_SUFFIX): xptcstubsdef_asm.solx86
else
xptcstubs_asm_x86_solaris_SUNW.o: $(DIST)/include/xptcstubsdef.inc $(srcdir)/xptcstubs_asm_x86_solaris_SUNW.s
sed \
-e 's/^\(STUB_ENTRY\)(\([0-9]\))/\11\(\2\)/' \
-e 's/^\(STUB_ENTRY\)(\([0-9][0-9]\))/\12\(\2\)/' \
-e 's/^\(STUB_ENTRY\)(\([0-9][0-9][0-9]\))/\13\(\2\)/' \
$(DIST)/include/xptcstubsdef.inc > ./xptcstubsdef_asm.solx86
$(AS) -o $@ $(ASFLAGS) $(AS_DASH_C_FLAG) -I./ $(srcdir)/xptcstubs_asm_x86_solaris_SUNW.s
xptcstubs_asm_x86_solaris_SUNW.$(OBJ_SUFFIX): xptcstubsdef_asm.solx86
endif
@rm -f ./xptcstubsdef_asm.solx86
endif
endif
endif

View File

@ -11,6 +11,13 @@ if CONFIG['OS_ARCH'] == 'Darwin':
'xptcinvoke_darwin.cpp',
'xptcstubs_darwin.cpp',
]
if CONFIG['OS_TEST'] == 'powerpc':
SOURCES += [
'xptcinvoke_asm_ppc_rhapsody.s',
]
GENERATED_SOURCES += [
'xptcstubs_asm_ppc_darwin.s',
]
if CONFIG['OS_ARCH'] in ('NetBSD', 'OpenBSD', 'GNU'):
if CONFIG['CPU_ARCH'] == 'x86':
@ -35,7 +42,9 @@ if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD') or \
if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD'):
if CONFIG['OS_TEST'].find('ia64') != -1:
SOURCES += [
'xptcinvoke_asm_ipf64.s',
'xptcinvoke_ipf64.cpp',
'xptcstubs_asm_ipf64.s',
'xptcstubs_ipf64.cpp'
]
@ -59,6 +68,7 @@ if CONFIG['OS_TARGET'] == 'NTO':
elif CONFIG['OS_TEST'] == 'sh':
SOURCES += [
'xptcinvoke_nto_shle.cpp',
'xptcstubs_asm_shle.s',
'xptcstubs_nto_shle.cpp'
]
@ -72,6 +82,7 @@ if CONFIG['OS_ARCH'] == 'SunOS':
else:
SOURCES += [
'xptcinvoke_x86_64_solaris.cpp',
'xptcstubs_asm_x86_64_solaris_SUNW.s',
'xptcstubs_x86_64_solaris.cpp',
]
elif CONFIG['OS_TEST'].find('86') != -1:
@ -82,7 +93,9 @@ if CONFIG['OS_ARCH'] == 'SunOS':
]
else:
SOURCES += [
'xptcinvoke_asm_x86_solaris_SUNW.s',
'xptcinvoke_x86_solaris.cpp',
'xptcstubs_asm_x86_solaris_SUNW.s',
'xptcstubs_x86_solaris.cpp'
]
@ -120,12 +133,16 @@ if CONFIG['OS_ARCH'] == 'HP-UX':
if CONFIG['CC'] != 'gcc':
if CONFIG['OS_TEST'] == 'ia64':
SOURCES += [
'xptcinvoke_asm_ipf32.s',
'xptcinvoke_ipf32.cpp',
'xptcstubs_asm_ipf32.s',
'xptcstubs_ipf32.cpp',
]
else:
SOURCES += [
'xptcinvoke_asm_pa32.s',
'xptcinvoke_pa32.cpp',
'xptcstubs_asm_pa32.s',
'xptcstubs_pa32.cpp'
]
@ -133,7 +150,9 @@ if CONFIG['OS_ARCH'] == 'Linux':
if CONFIG['OS_TEST'] in ('hppa', 'hppa2.0', 'hppa1.1'):
if CONFIG['GNU_CXX']:
SOURCES += [
'xptcinvoke_asm_parisc_linux.s',
'xptcinvoke_pa32.cpp',
'xptcstubs_asm_parisc_linux.s',
'xptcstubs_pa32.cpp',
]
else:
@ -156,75 +175,110 @@ if CONFIG['OS_ARCH'] == 'Linux':
if CONFIG['OS_TEST'].find('mips') != -1:
if CONFIG['OS_TEST'].find('mips64') != -1:
SOURCES += [
'xptcinvoke_asm_mips64.S',
'xptcinvoke_mips64.cpp',
'xptcstubs_asm_mips64.S',
'xptcstubs_mips64.cpp',
]
else:
SOURCES += [
'xptcinvoke_asm_mips.S',
'xptcinvoke_mips.cpp',
'xptcstubs_asm_mips.S',
'xptcstubs_mips.cpp',
]
if CONFIG['OS_ARCH'] == 'AIX':
if CONFIG['HAVE_64BIT_OS']:
SOURCES += [
'xptcinvoke_asm_ppc_aix64.s',
'xptcinvoke_ppc_aix64.cpp',
'xptcstubs_ppc_aix64.cpp',
]
GENERATED_SOURCES += [
'xptcstubs_asm_ppc_aix64.s',
]
else:
SOURCES += [
'xptcinvoke_ppc_aix.cpp',
'xptcstubs_ppc_aix.cpp',
]
if CONFIG['AIX_OBJMODEL'] == 'ibm':
SOURCES += [
'xptcinvoke_asm_ppc_ibmobj_aix.s',
]
else:
SOURCES += [
'xptcinvoke_asm_ppc_aix.s',
]
GENERATED_SOURCES += [
'xptcstubs_asm_ppc_aix.s',
]
if CONFIG['OS_TEST'] == 'powerpc':
if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD'):
SOURCES += [
'xptcinvoke_asm_ppc_linux.S',
'xptcinvoke_ppc_linux.cpp',
'xptcstubs_asm_ppc_linux.S',
'xptcstubs_ppc_linux.cpp',
]
if CONFIG['OS_TEST'] == 'powerpc64':
if CONFIG['OS_ARCH'] in ('Linux', 'FreeBSD'):
SOURCES += [
'xptcinvoke_asm_ppc64_linux.s',
'xptcinvoke_ppc64_linux.cpp',
'xptcstubs_asm_ppc64_linux.s',
'xptcstubs_ppc64_linux.cpp',
]
if CONFIG['OS_TEST'] in ('macppc', 'bebox', 'ofppc', 'prep', 'amigappc'):
if CONFIG['OS_ARCH'] == 'NetBSD':
SOURCES += [
'xptcinvoke_asm_ppc_netbsd.s',
'xptcinvoke_ppc_netbsd.cpp',
'xptcstubs_asm_ppc_netbsd.s',
'xptcstubs_ppc_netbsd.cpp',
]
if CONFIG['OS_ARCH'] == 'OpenBSD' and CONFIG['OS_TEST'] == 'powerpc':
SOURCES += [
'xptcinvoke_asm_ppc_openbsd.s',
'xptcinvoke_ppc_openbsd.cpp',
'xptcstubs_asm_ppc_openbsd.s',
'xptcstubs_ppc_openbsd.cpp',
]
if CONFIG['OS_ARCH'] == 'Linux' and CONFIG['OS_TEST'].find('sparc') != -1:
SOURCES += [
'xptcinvoke_asm_sparc_linux_GCC3.s',
'xptcinvoke_sparc_solaris.cpp',
'xptcstubs_asm_sparc_solaris.s',
'xptcstubs_sparc_solaris.cpp',
]
if CONFIG['OS_ARCH'] == 'NetBSD' and CONFIG['OS_TEST'] == 'sparc':
SOURCES += [
'xptcinvoke_asm_sparc_netbsd.s',
'xptcinvoke_sparc_netbsd.cpp',
'xptcstubs_asm_sparc_netbsd.s',
'xptcstubs_sparc_netbsd.cpp',
]
if CONFIG['OS_ARCH'] == 'OpenBSD' and CONFIG['OS_TEST'] == 'sparc':
SOURCES += [
'xptcinvoke_asm_sparc_openbsd.s',
'xptcinvoke_sparc_openbsd.cpp',
'xptcstubs_asm_sparc_openbsd.s',
'xptcstubs_sparc_openbsd.cpp',
]
if CONFIG['OS_ARCH'] == 'OpenBSD' and CONFIG['OS_TEST'] == 'sparc64':
SOURCES += [
'xptcinvoke_asm_sparc64_openbsd.s',
'xptcinvoke_sparc64_openbsd.cpp',
'xptcstubs_asm_sparc64_openbsd.s',
'xptcstubs_sparc64_openbsd.cpp',
]
@ -239,6 +293,22 @@ if CONFIG['OS_ARCH'] == 'SunOS' and CONFIG['OS_TEST'].find('86') == -1:
'xptcinvoke_sparc_solaris.cpp',
'xptcstubs_sparc_solaris.cpp',
]
if CONFIG['GNU_CC']:
SOURCES += [
'xptcinvoke_asm_sparc_solaris_GCC3.s',
'xptcstubs_asm_sparc_solaris.s',
]
else:
if CONFIG['HAVE_64BIT_OS']:
SOURCES += [
'xptcinvoke_asm_sparcv9_solaris_SUNW.s',
'xptcstubs_asm_sparcv9_solaris.s',
]
else:
SOURCES += [
'xptcinvoke_asm_sparc_solaris_SUNW.s',
'xptcstubs_asm_sparc_solaris.s',
]
if CONFIG['OS_ARCH'] == 'Linux':
if CONFIG['OS_TEST'] == 's390':