* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Rework
for efficiency by checking whether we need to modify the current
stack permission at all.
(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.
* config/sparc/sparc.c (sparc_initialize_trampoline): Emit
__enable_execute_stack libcall here too if
TRANSFER_FROM_TRAMPOLINE is defined.
* config/sparc/sparc.h: Set TARGET_ARCH32 to a constant if
IN_LIBGCC2.
From-SVN: r22880
Thu Sep 24 01:35:34 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
* config/sparc/sol2-sld-64.h (TRANSFER_FROM_TRAMPOLINE): Define.
* config/sparc/sparc.c (sparc64_initialize_trampoline): If that is
defined, emit libcall to __enable_execute_stack. Also fix opcodes
and offsets in actual stack trampoline code so they match the
commentary and actually work.
Thu Sep 24 01:19:02 1998 Jakub Jelinek <jj@sunsite.ms.mff.cuni.cz>
* configure.in (sparcv9-*-solaris): Use t-sol2 and t-sol2-64 for
tmake_file.
(sparc64-*-linux): Use t-linux and sparc/t-linux64 for
tmake_file. Set extra_parts to needed crt objects.
* configure: Rebuilt.
* config/sparc/linux64.h (SPARC_BI_ARCH): Define.
(TARGET_DEFAULT): Set if default is v9 or ultra.
(STARTFILE_SPEC32, STARTFILE_SPEC64): New macros.
(STARTFILE_SPEC): Set to those upon SPARC_BI_ARCH.
(ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_SPEC): Likewise.
(SUBTARGET_EXTRA_SPECS, LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
LINK_SPEC, LINK_ARCH_SPEC): Likewise.
(TARGET_VERSION): Define.
(MULTILIB_DEFAULT): Define.
* config/sparc/sparc.h (CPP_CPU_DEFAULT_SPEC): Rearrange so that
mixed 32/64 bit compilers based upon SPARC_BI_ARCH work.
(CPP_CPU64_DEFAULT_SPEC, CPP_CPU32_DEFAULT_SEC): Define
appropriately.
(TARGET_SWITCHES): Allow ptr32/ptr64 options once more.
* config/sparc/sparc.c (sparc_override_options): If arch and
pointer size disagree, emit diagnostic and fix it up. If
SPARC_BI_ARCH and TARGET_ARCH32, set cmodel to CM_32. Turn off
V8PLUS in 64-bit mode.
* config/sparc/t-linux64: New file.
* config/sparc/t-sol2-64: New file.
* config/sparc/t-sol2: Adjust build rules to use MULTILIB_CFLAGS.
* config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Define.
(ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC,
CPP_CPU32_DEFAULT_SPEC, CPP_CPU64_DEFAULT_SPEC): Define.
(ASM_SPEC, CPP_CPU_SPEC): Set appropriately based upon those.
(STARTFILE_SPEC32, STARTFILE_SPEC32, STARTFILE_ARCH_SPEC):
Define.
(STARTFILE_SPEC): Set approriately based upon those.
(CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Set based upon
disposition of DEFAULT_ARCH32_P.
(LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Define.
(LINK_ARCH_SPEC, LINK_ARCH_DEFAULT_SPEC): Set based upon those.
(CC1_SPEC, MULTILIB_DEFAULTS): Set based upon DEFAULT_ARCH32_P.
(MD_STARTFILE_PREFIX): Set correctly based upon SPARC_BI_ARCH.
* config/sparc/xm-sysv4-64.h (HOST_BITS_PER_LONG): Only set on
arch64/v9.
* config/sparc/xm-sp64.h (HOST_BITS_PER_LONG): Likewise.
From-SVN: r22565
toplevel:
* config.sub: Recognize sparcv9 just like sparc64.
gcc/ChangeLog:
* configure.in: in sparc9-sol2 config, use 'if test' not
brackets.
* configure: Rebuilt.
* config/sparc/sol2-sld-64.h (SPARC_DEFAULT_CMODEL): Change to
CM_MEDANY.
(CPP_CPU_SPEC): Do not define _LP64, header files do this.
(CPP_CPU_DEFAULT_SPEC): Likewise.
* config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Get the names right
for arch64 libfuncs.
gcc/java/ChangeLog:
* jcf-io.c: Include string.h.
libchill/ChangeLog:
* configure.in: Use 'if test' not brackets.
* configure: Rebuilt.
From-SVN: r22404
* configure.in: Recognize sparv9-*-solaris2*
* configure: rebuilt
* config.sub: Recognize sparcv9 just like sparc64.
* config/sparc/sol2-c1.asm config/sparc/sol2-ci.asm
config/sparc/sol2-cn.asm: Macroize so it can be shared between
32-bit and 64-bit Solaris systems.
* config/sparc/t-sol2: Assemble those with cpp.
* config/sparc/sparc.h (TARGET_CPU_sparcv9): New alias for v9.
(*TF*_LIBCALL): If ARCH64 use V9 names.
* config/sparc/{xm-sysv4-64,sol2-sld-64}.h: New files.
From-SVN: r22345