Bug 807895 - Remove BSD/OS code. r=khuey

This commit is contained in:
Makoto Kato 2012-11-08 10:36:28 +09:00
parent 7b0d3468ef
commit 7ecca5d5ae
7 changed files with 1 additions and 182 deletions

View File

@ -352,11 +352,6 @@ endif
TAR_CREATE_FLAGS = -cvhf
TAR_CREATE_FLAGS_QUIET = -chf
ifeq ($(OS_ARCH),BSD_OS)
TAR_CREATE_FLAGS = -cvLf
TAR_CREATE_FLAGS_QUIET = -cLf
endif
ifeq ($(OS_ARCH),OS2)
TAR_CREATE_FLAGS = -cvf
TAR_CREATE_FLAGS_QUIET = -cf

View File

@ -1145,9 +1145,6 @@ solaris*)
AC_SUBST(SOLARIS_SUNPRO_CC)
AC_SUBST(SOLARIS_SUNPRO_CXX)
;;
BSD_386)
HOST_OS_ARCH=BSD
;;
OS_2)
HOST_OS_ARCH=OS2
;;
@ -1189,9 +1186,6 @@ AIX)
OS_RELEASE=`uname -v`.`uname -r`
OS_TEST=${target_cpu}
;;
BSD_386)
OS_ARCH=BSD
;;
OS_2)
OS_ARCH=OS2
OS_TARGET=OS2
@ -1930,25 +1924,6 @@ case "$target" in
AC_DEFINE(NSCAP_DISABLE_DEBUG_PTR_TYPES)
;;
*-bsdi*)
dnl -pedantic doesn't play well with BSDI's _very_ modified gcc (shlicc2)
_PEDANTIC=
case $OS_RELEASE in
4.*|5.*)
STRIP="$STRIP -d"
;;
*)
DSO_CFLAGS=''
DSO_LDOPTS='-r'
_WARNINGS_CFLAGS="-Wall"
_WARNINGS_CXXFLAGS="-Wall"
# The test above doesn't work properly, at least on 3.1.
MKSHLIB_FORCE_ALL=''
MKSHLIB_UNFORCE_ALL=''
;;
esac
;;
*-darwin*)
MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'

View File

@ -352,11 +352,6 @@ endif
TAR_CREATE_FLAGS = -cvhf
TAR_CREATE_FLAGS_QUIET = -chf
ifeq ($(OS_ARCH),BSD_OS)
TAR_CREATE_FLAGS = -cvLf
TAR_CREATE_FLAGS_QUIET = -cLf
endif
ifeq ($(OS_ARCH),OS2)
TAR_CREATE_FLAGS = -cvf
TAR_CREATE_FLAGS_QUIET = -cf

View File

@ -953,9 +953,6 @@ solaris*)
AC_SUBST(SOLARIS_SUNPRO_CC)
AC_SUBST(SOLARIS_SUNPRO_CXX)
;;
BSD_386)
HOST_OS_ARCH=BSD
;;
OS_2)
HOST_OS_ARCH=OS2
;;
@ -1002,9 +999,6 @@ AIX)
fi
fi
;;
BSD_386)
OS_ARCH=BSD
;;
OS_2)
OS_ARCH=OS2
OS_TARGET=OS2
@ -1549,25 +1543,6 @@ case "$target" in
AC_DEFINE(NSCAP_DISABLE_DEBUG_PTR_TYPES)
;;
*-bsdi*)
dnl -pedantic doesn't play well with BSDI's _very_ modified gcc (shlicc2)
_PEDANTIC=
case $OS_RELEASE in
4.*|5.*)
STRIP="$STRIP -d"
;;
*)
DSO_CFLAGS=''
DSO_LDOPTS='-r'
_WARNINGS_CFLAGS="-Wall"
_WARNINGS_CXXFLAGS="-Wall"
# The test above doesn't work properly, at least on 3.1.
MKSHLIB_FORCE_ALL=''
MKSHLIB_UNFORCE_ALL=''
;;
esac
;;
*-darwin*)
MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'

View File

@ -50,7 +50,7 @@ endif
endif
endif
ifneq (,$(filter NetBSD OpenBSD BSD_OS GNU,$(OS_ARCH)))
ifneq (,$(filter NetBSD OpenBSD GNU,$(OS_ARCH)))
ifeq (86,$(findstring 86,$(OS_TEST)))
CPPSRCS := xptcinvoke_gcc_x86_unix.cpp xptcstubs_gcc_x86_unix.cpp
endif
@ -316,15 +316,6 @@ endif
# SPARC
######################################################################
#
# BSD_OS/SPARC
#
ifeq ($(OS_ARCH),BSD_OS)
ifneq (,$(findstring sparc,$(OS_TEST)))
CPPSRCS := xptcinvoke_sparc_solaris.cpp xptcstubs_sparc_solaris.cpp
ASFILES := xptcinvoke_asm_sparc_bsdos.s xptcstubs_asm_sparc_solaris.s
endif
endif
#
# Linux/SPARC
#
ifeq ($(OS_ARCH),Linux)

View File

@ -1,105 +0,0 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* Platform specific code to invoke XPCOM methods on native objects */
.global XPTC_InvokeByIndex
/*
XPTC_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
uint32_t paramCount, nsXPTCVariant* params);
*/
XPTC_InvokeByIndex:
/* regular C/C++ stack frame -- see <machine/frame.h> */
save %sp, -96, %sp
/*
* invoke_count_words(paramCount, params) apparently tells us
* how many "32-bit words" are involved in passing the given
* parameters to the target function.
*/
mov %i2, %o0
call invoke_count_words ! invoke_count_words(paramCount, params)
mov %i3, %o1
/*
* ??? Torek wonders: does invoke_count_words always force its
* return value to be even? If not, we would have to adjust
* the return value ... should make it a multiple of 8 anyway,
* for efficiency (32 byte cache lines); will do that here thus:
*
* We already have room (in our callee's "argument dump" area,
* sp->fr_argd) for six parameters, and we are going to use
* five of those (fr_argd[1] through fr_argd[5]) in a moment.
* This space is followed by fr_argx[1], room for a seventh.
* Thus, if invoke_count_words returns a value between 0 and 6
* inclusive, we do not need any stack adjustment. For values
* from 7 through (7+8) we want to make room for another 8
* parameters, and so on. Thus, we want to calculate:
*
* n_extra_words = (wordcount + 1) & ~7
*
* and then make room for that many more 32-bit words. (Normally
* it would be ((w+7)&~7; we just subtract off the room-for-6 we
* already have.)
*/
inc %o0
andn %o0, 7, %o0
sll %o0, 2, %o0 ! convert to bytes
sub %sp, %o0, %sp ! and make room for arguments
/*
* Copy all the arguments to the stack, starting at the argument
* dump area at [%sp + 68], even though the first six arguments
* go in the six %o registers. We will just load up those
* arguments after the copy is done. The first argument to
* any C++ member function is always the "this" parameter so
* we actually start with what will go in %o1, at [%sp + 72].
*/
add %sp, 72, %o0 ! invoke_copy_to_stack(addr,
mov %i2, %o1 ! paramCount,
call invoke_copy_to_stack
mov %i3, %o2 ! params);
/*
* This is the only really tricky (compiler-dependent) part
* (everything else here relies only on the V8 SPARC calling
* conventions). "methodIndex" (%i1) is an index into a C++
* vtable. The word at "*that" points to the vtable, but for
* some reason, the first function (index=0) is at vtable[2*4],
* the second (index 1) at vtable[3*4], the third at vtable[4*4],
* and so on. Thus, we want, in effect:
*
* that->vTable[index + 2]
*/
ld [%i0], %l0 ! vTable = *that
add %i1, 2, %l1
sll %l1, 2, %l1
ld [%l0 + %l1], %l0 ! fn = vTable[index + 2]
/*
* Now load up the various function parameters. We do not know,
* nor really care, how many there are -- we just load five words
* from the stack (there are always at least five such words to
* load, even if some of them are junk) into %o1 through %o5,
* and set %o0 = %i0, to pass "that" to the target member function
* as its C++ "this" parameter.
*
* If there are more than five parameters, any extras go on our
* stack starting at sp->fr_argx ([%sp + 92]), which is of course
* where we have just copied them.
*/
ld [%sp + 72], %o1
ld [%sp + 76], %o2
ld [%sp + 80], %o3
ld [%sp + 84], %o4
ld [%sp + 88], %o5
call %l0 ! fn(that, %o1, %o2, %o3, %o4, %o5)
mov %i0, %o0
! return whatever fn() returned
ret
restore %o0, 0, %o0

View File

@ -21,10 +21,3 @@ LIBS = \
$(NULL)
include $(topsrcdir)/config/rules.mk
# For _write().
ifeq ($(OS_ARCH),BSD_OS)
OS_LIBS += -lgcc
endif