Commit f607bc57 by Zack Weinberg

config.gcc: Delete powerpcle-*-solaris2* stanza.

	* config.gcc: Delete powerpcle-*-solaris2* stanza.
	* config/rs6000/eabi.asm, config/rs6000/rs6000.c,
	config/rs6000/rs6000.h, config/rs6000/rs6000.md,
	config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
	config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
	config/rs6000/t-ppcos: Expunge all references to Solaris.

	* config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.

	* config/rs6000/rs6000.md: Replace '%$' with '$' in all
	output templates.
	* config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
	and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.

From-SVN: r47232
parent 533f5e0f
2001-11-20 Zack Weinberg <zack@codesourcery.com>
* config.gcc: Delete powerpcle-*-solaris2* stanza.
* config/rs6000/eabi.asm, config/rs6000/rs6000.c,
config/rs6000/rs6000.h, config/rs6000/rs6000.md,
config/rs6000/sol-ci.asm, config/rs6000/sol-cn.asm,
config/rs6000/sysv4.h, config/rs6000/t-ppccomm,
config/rs6000/t-ppcos: Expunge all references to Solaris.
* config/rs6000/sol-c0.c, config/rs6000/sol2.h: Delete.
* config/rs6000/rs6000.md: Replace '%$' with '$' in all
output templates.
* config/rs6000/rs6000.h: Define DEFAULT_PCC_STRUCT_RETURN to 0,
and change RETURN_IN_MEMORY to just check AGGREGATE_TYPE_P.
2001-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> 2001-11-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* sh.md: Avoid uninitialized warnings. * sh.md: Avoid uninitialized warnings.
...@@ -44,7 +60,7 @@ ...@@ -44,7 +60,7 @@
exit label as necessary. exit label as necessary.
2001-11-20 Brad Kaiser <bkaiser@acelink.net> 2001-11-20 Brad Kaiser <bkaiser@acelink.net>
* reload1.c (elimination_effects): Use function_invariant_p * reload1.c (elimination_effects): Use function_invariant_p
instead of CONSTANT_P when considering register equivalences. instead of CONSTANT_P when considering register equivalences.
...@@ -296,7 +312,7 @@ Mon Nov 19 07:21:35 2001 Douglas B. Rupp <rupp@gnat.com> ...@@ -296,7 +312,7 @@ Mon Nov 19 07:21:35 2001 Douglas B. Rupp <rupp@gnat.com>
PR c/4448 PR c/4448
* gthr-win32.h: (__gthread_objc_thread_exit): Fix variable * gthr-win32.h: (__gthread_objc_thread_exit): Fix variable
name __objc_thread_exit_status so that it matches the name __objc_thread_exit_status so that it matches the
variable defined in objc/thr.h. variable defined in objc/thr.h.
2001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org> 2001-11-18 Craig Rodrigues <rodrigc@gcc.gnu.org>
...@@ -480,11 +496,11 @@ Fri Nov 16 15:22:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> ...@@ -480,11 +496,11 @@ Fri Nov 16 15:22:35 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2001-11-16 Bernd Schmidt <bernds@redhat.com> 2001-11-16 Bernd Schmidt <bernds@redhat.com>
* config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by * config/i386/i386.c (ix86_expand_sse_comi): Generate setcc by
hand; don't use gen_setcc_2. hand; don't use gen_setcc_2.
(ix86_expand_builtin): Fix pshufw. (ix86_expand_builtin): Fix pshufw.
* config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special * config/i386/i386.md (maskncmpv4sf3, vmmmaskncmpv4sf3): Special
case UNORDERED to emit the right assembler instruction. case UNORDERED to emit the right assembler instruction.
(mmx_pshufw): Lose operand 2. (mmx_pshufw): Lose operand 2.
(cvtsi2ss): Fix representation. (cvtsi2ss): Fix representation.
From Graham Stott: From Graham Stott:
...@@ -526,25 +542,25 @@ Fri Nov 13 09:06:25 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> ...@@ -526,25 +542,25 @@ Fri Nov 13 09:06:25 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2001-11-16 Olivier Hainque <hainque@act-europe.fr> 2001-11-16 Olivier Hainque <hainque@act-europe.fr>
* except.c: Support for catching a list of types with a single handler * except.c: Support for catching a list of types with a single handler
(struct eh_region): Change type and filter to lists for catch regions. (struct eh_region): Change type and filter to lists for catch regions.
(mark_eh_region): Mark the filter list for GC also. (mark_eh_region): Mark the filter list for GC also.
(expand_start_catch): Always build a list if argument not NULL and (expand_start_catch): Always build a list if argument not NULL and
register each type of the list through add_type_for_runtime. register each type of the list through add_type_for_runtime.
(duplicate_eh_region_1): Change type into type_list for catch regions. (duplicate_eh_region_1): Change type into type_list for catch regions.
(assign_filter_values): Assign a filter to each type associated with a (assign_filter_values): Assign a filter to each type associated with a
catch region. Assign filter for NULL types in a unique entry in the catch region. Assign filter for NULL types in a unique entry in the
filter list. filter list.
(build_post_landing_pads): Emit compare and jump for each filter of (build_post_landing_pads): Emit compare and jump for each filter of
the list associated with a catch region. the list associated with a catch region.
(reachable_next_level): When the type thrown is known, stop the search (reachable_next_level): When the type thrown is known, stop the search
as soon as one type within a catch list matches. Also, a handler is as soon as one type within a catch list matches. Also, a handler is
potentially reachable only if at least one of the types it catches potentially reachable only if at least one of the types it catches
has not been previously caught. has not been previously caught.
(collect_one_action_chain): Retrieve the filter for a NULL type list (collect_one_action_chain): Retrieve the filter for a NULL type list
from the first filter list entry. For non NULL type lists, add an from the first filter list entry. For non NULL type lists, add an
action record for every filter assigned. action record for every filter assigned.
* except.h: Reflect changes in comment before expand_start_catch. * except.h: Reflect changes in comment before expand_start_catch.
Fri Nov 16 07:12:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> Fri Nov 16 07:12:51 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
...@@ -683,7 +699,7 @@ Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> ...@@ -683,7 +699,7 @@ Thu Nov 15 08:36:39 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
(m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file. (m88k-dg-dguxbcs*): Add m88k/t-dgux to tmake_file.
(hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is (hppa*): Add pa/t-bsd to tmake_file where no special xmake_file is
used. used.
(hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd. (hppa*-*-openbsd*): Don't use nonexitent pa/t-openbsd.
* config/m88k/t-dguxbcs: Remove definitions already in t-dgux. * config/m88k/t-dguxbcs: Remove definitions already in t-dgux.
* config/m88k/t-dgux (STMP_FIXPROTO): Define. * config/m88k/t-dgux (STMP_FIXPROTO): Define.
* config/i386/t-cygwin (STMP_FIXPROTO): Define. * config/i386/t-cygwin (STMP_FIXPROTO): Define.
...@@ -1491,7 +1507,7 @@ Fri Nov 9 17:51:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> ...@@ -1491,7 +1507,7 @@ Fri Nov 9 17:51:09 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2001-11-09 Aldy Hernandez <aldyh@redhat.com> 2001-11-09 Aldy Hernandez <aldyh@redhat.com>
* rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS. * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
(CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless (CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
generating altivec code. generating altivec code.
(FIXED_REGISTERS): VRSAVE is fixed. (FIXED_REGISTERS): VRSAVE is fixed.
...@@ -1529,7 +1545,7 @@ Fri Nov 9 11:27:42 2001 Jeffrey A Law (law@cygnus.com) ...@@ -1529,7 +1545,7 @@ Fri Nov 9 11:27:42 2001 Jeffrey A Law (law@cygnus.com)
2001-11-09 Ben Elliston <bje@redhat.com> 2001-11-09 Ben Elliston <bje@redhat.com>
Michael Meissner <meissner@redhat.com> Michael Meissner <meissner@redhat.com>
Andrew MacLeod <amacleod@redhat.com> Andrew MacLeod <amacleod@redhat.com>
Richard Henderson <rth@redhat.com> Richard Henderson <rth@redhat.com>
Nick Clifton <nickc@redhat.com> Nick Clifton <nickc@redhat.com>
Catherine Moore <clm@redhat.com> Catherine Moore <clm@redhat.com>
...@@ -1665,7 +1681,7 @@ Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> ...@@ -1665,7 +1681,7 @@ Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2001-11-08 Aldy Hernandez <aldyh@redhat.com> 2001-11-08 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec. * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.
2001-11-08 Jakub Jelinek <jakub@redhat.com> 2001-11-08 Jakub Jelinek <jakub@redhat.com>
...@@ -1983,25 +1999,25 @@ Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> ...@@ -1983,25 +1999,25 @@ Thu Nov 8 18:00:55 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2001-11-07 Daniel Berlin <dan@cgsoftware.com> 2001-11-07 Daniel Berlin <dan@cgsoftware.com>
* Makefile.in (df.o): Add fibheap.h to dependencies. * Makefile.in (df.o): Add fibheap.h to dependencies.
* df.h: Add prototypes for transfer functions, iterative_dataflow * df.h: Add prototypes for transfer functions, iterative_dataflow
functions. functions.
(enum df_flow_dir): New enum. (enum df_flow_dir): New enum.
(enum df_confluence_op): New enum. (enum df_confluence_op): New enum.
(struct df): Add inverse_rts_map. (struct df): Add inverse_rts_map.
* df.c: Add sbitmap.h to the list of includes. * df.c: Add sbitmap.h to the list of includes.
(df_rd_global_compute): Removed. (df_rd_global_compute): Removed.
(df_ru_global_compute): Removed. (df_ru_global_compute): Removed.
(df_lr_global_compute): Removed. (df_lr_global_compute): Removed.
(df_rd_transfer_function): New function. (df_rd_transfer_function): New function.
(df_ru_transfer_function): New function. (df_ru_transfer_function): New function.
(df_lr_transfer_function): New function. (df_lr_transfer_function): New function.
(df_analyse_1): allocate/compute/free df->inverse_rts_map. (df_analyse_1): allocate/compute/free df->inverse_rts_map.
Use iterative_dataflow_bitmap instead of df_*_global_compute. Use iterative_dataflow_bitmap instead of df_*_global_compute.
(iterative_dataflow_sbitmap): New function. (iterative_dataflow_sbitmap): New function.
(iterative_dataflow_bitmap): New function. (iterative_dataflow_bitmap): New function.
2001-11-07 Joseph S. Myers <jsm28@cam.ac.uk> 2001-11-07 Joseph S. Myers <jsm28@cam.ac.uk>
......
...@@ -2745,12 +2745,6 @@ powerpcle-*-eabi*) ...@@ -2745,12 +2745,6 @@ powerpcle-*-eabi*)
tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm" tmake_file="rs6000/t-ppcgas rs6000/t-ppccomm"
extra_headers=ppc-asm.h extra_headers=ppc-asm.h
;; ;;
powerpcle-*-solaris2*)
tm_file="${tm_file} elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/sysv4le.h rs6000/sol2.h"
xm_defines=POSIX
tmake_file="rs6000/t-ppcos rs6000/t-ppccomm"
extra_headers=ppc-asm.h
;;
rs6000-ibm-aix3.[01]*) rs6000-ibm-aix3.[01]*)
xm_defines=POSIX xm_defines=POSIX
tm_file="${tm_file} rs6000/aix.h rs6000/aix31.h rs6000/xcoff.h" tm_file="${tm_file} rs6000/aix.h rs6000/aix31.h rs6000/xcoff.h"
......
...@@ -131,8 +131,7 @@ ...@@ -131,8 +131,7 @@
FUNC_START(__eabi) FUNC_START(__eabi)
/* Eliminate -mrelocatable code if not -mrelocatable, so that this file can /* Eliminate -mrelocatable code if not -mrelocatable, so that this file can
be assembled with other assemblers than GAS, such as the Solaris PowerPC be assembled with other assemblers than GAS. */
assembler. */
#ifndef _RELOCATABLE #ifndef _RELOCATABLE
addis 10,0,.Linit_p@ha /* init flag */ addis 10,0,.Linit_p@ha /* init flag */
......
...@@ -445,7 +445,7 @@ extern struct rs6000_cpu_select rs6000_select[]; ...@@ -445,7 +445,7 @@ extern struct rs6000_cpu_select rs6000_select[];
/* Debug support */ /* Debug support */
extern const char *rs6000_debug_name; /* Name for -mdebug-xxxx option */ extern const char *rs6000_debug_name; /* Name for -mdebug-xxxx option */
extern const char *rs6000_abi_string; /* for -mabi={sysv,darwin,solaris,eabi,aix,altivec} */ extern const char *rs6000_abi_string; /* for -mabi={sysv,darwin,eabi,aix,altivec} */
extern int rs6000_debug_stack; /* debug stack applications */ extern int rs6000_debug_stack; /* debug stack applications */
extern int rs6000_debug_arg; /* debug argument handling */ extern int rs6000_debug_arg; /* debug argument handling */
...@@ -932,8 +932,7 @@ extern int rs6000_debug_arg; /* debug argument handling */ ...@@ -932,8 +932,7 @@ extern int rs6000_debug_arg; /* debug argument handling */
if (TARGET_SOFT_FLOAT) \ if (TARGET_SOFT_FLOAT) \
for (i = 32; i < 64; i++) \ for (i = 32; i < 64; i++) \
fixed_regs[i] = call_used_regs[i] = 1; \ fixed_regs[i] = call_used_regs[i] = 1; \
if ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) \ if (DEFAULT_ABI == ABI_V4 && flag_pic == 1) \
&& flag_pic == 1) \
fixed_regs[PIC_OFFSET_TABLE_REGNUM] \ fixed_regs[PIC_OFFSET_TABLE_REGNUM] \
= call_used_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \ = call_used_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \
if (DEFAULT_ABI == ABI_DARWIN && flag_pic) \ if (DEFAULT_ABI == ABI_DARWIN && flag_pic) \
...@@ -1181,7 +1180,7 @@ enum reg_class ...@@ -1181,7 +1180,7 @@ enum reg_class
: (C) == 'R' ? LEGITIMATE_CONSTANT_POOL_ADDRESS_P (OP) \ : (C) == 'R' ? LEGITIMATE_CONSTANT_POOL_ADDRESS_P (OP) \
: (C) == 'S' ? mask64_operand (OP, VOIDmode) \ : (C) == 'S' ? mask64_operand (OP, VOIDmode) \
: (C) == 'T' ? mask_operand (OP, VOIDmode) \ : (C) == 'T' ? mask_operand (OP, VOIDmode) \
: (C) == 'U' ? ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) \ : (C) == 'U' ? (DEFAULT_ABI == ABI_V4 \
&& small_data_operand (OP, GET_MODE (OP))) \ && small_data_operand (OP, GET_MODE (OP))) \
: 0) : 0)
...@@ -1254,9 +1253,9 @@ enum reg_class ...@@ -1254,9 +1253,9 @@ enum reg_class
enum rs6000_abi { enum rs6000_abi {
ABI_NONE, ABI_NONE,
ABI_AIX, /* IBM's AIX */ ABI_AIX, /* IBM's AIX */
ABI_AIX_NODESC, /* AIX calling sequence minus function descriptors */ ABI_AIX_NODESC, /* AIX calling sequence minus
function descriptors */
ABI_V4, /* System V.4/eabi */ ABI_V4, /* System V.4/eabi */
ABI_SOLARIS, /* Solaris */
ABI_DARWIN /* Apple's Darwin (OS X kernel) */ ABI_DARWIN /* Apple's Darwin (OS X kernel) */
}; };
...@@ -1437,12 +1436,14 @@ typedef struct rs6000_stack { ...@@ -1437,12 +1436,14 @@ typedef struct rs6000_stack {
/* The definition of this macro implies that there are cases where /* The definition of this macro implies that there are cases where
a scalar value cannot be returned in registers. a scalar value cannot be returned in registers.
For the RS/6000, any structure or union type is returned in memory, except for For the RS/6000, any structure or union type is returned in memory.
Solaris, which returns structures <= 8 bytes in registers. */ (FIXME: Except for V.4, where those <= 8 bytes are returned in
registers. Can't change this without breaking compatibility.) */
#define RETURN_IN_MEMORY(TYPE) \ #define RETURN_IN_MEMORY(TYPE) AGGREGATE_TYPE_P (TYPE)
(TYPE_MODE (TYPE) == BLKmode \
&& (DEFAULT_ABI != ABI_SOLARIS || int_size_in_bytes (TYPE) > 8)) /* Let RETURN_IN_MEMORY control what happens. */
#define DEFAULT_PCC_STRUCT_RETURN 0
/* Mode of stack savearea. /* Mode of stack savearea.
FUNCTION is VOIDmode because calling convention maintains SP. FUNCTION is VOIDmode because calling convention maintains SP.
...@@ -1730,8 +1731,7 @@ typedef struct rs6000_args ...@@ -1730,8 +1731,7 @@ typedef struct rs6000_args
((DEFAULT_ABI == ABI_AIX \ ((DEFAULT_ABI == ABI_AIX \
|| DEFAULT_ABI == ABI_DARWIN \ || DEFAULT_ABI == ABI_DARWIN \
|| DEFAULT_ABI == ABI_AIX_NODESC) ? (TARGET_32BIT ? 8 : 16) : \ || DEFAULT_ABI == ABI_AIX_NODESC) ? (TARGET_32BIT ? 8 : 16) : \
(DEFAULT_ABI == ABI_V4 \ (DEFAULT_ABI == ABI_V4) ? (TARGET_32BIT ? 4 : 8) : \
|| DEFAULT_ABI == ABI_SOLARIS) ? (TARGET_32BIT ? 4 : 8) : \
(internal_error ("RETURN_ADDRESS_OFFSET not supported"), 0)) (internal_error ("RETURN_ADDRESS_OFFSET not supported"), 0))
/* The current return address is in link register (65). The return address /* The current return address is in link register (65). The return address
...@@ -1913,7 +1913,7 @@ typedef struct rs6000_args ...@@ -1913,7 +1913,7 @@ typedef struct rs6000_args
&& CONSTANT_POOL_EXPR_P (XEXP (X, 1))) && CONSTANT_POOL_EXPR_P (XEXP (X, 1)))
#define LEGITIMATE_SMALL_DATA_P(MODE, X) \ #define LEGITIMATE_SMALL_DATA_P(MODE, X) \
((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) \ (DEFAULT_ABI == ABI_V4 \
&& !flag_pic && !TARGET_TOC \ && !flag_pic && !TARGET_TOC \
&& (GET_CODE (X) == SYMBOL_REF || GET_CODE (X) == CONST) \ && (GET_CODE (X) == SYMBOL_REF || GET_CODE (X) == CONST) \
&& small_data_operand (X, MODE)) && small_data_operand (X, MODE))
......
...@@ -7385,7 +7385,7 @@ ...@@ -7385,7 +7385,7 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "") [(set (match_operand:SI 0 "gpc_reg_operand" "")
(unspec:SI [(match_operand:SI 1 "got_operand" "") (unspec:SI [(match_operand:SI 1 "got_operand" "")
(match_dup 2)] 8))] (match_dup 2)] 8))]
"(DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) && flag_pic == 1" "DEFAULT_ABI == ABI_V4 && flag_pic == 1"
" "
{ {
if (GET_CODE (operands[1]) == CONST) if (GET_CODE (operands[1]) == CONST)
...@@ -7411,7 +7411,7 @@ ...@@ -7411,7 +7411,7 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "=r") [(set (match_operand:SI 0 "gpc_reg_operand" "=r")
(unspec:SI [(match_operand:SI 1 "got_no_const_operand" "") (unspec:SI [(match_operand:SI 1 "got_no_const_operand" "")
(match_operand:SI 2 "gpc_reg_operand" "b")] 8))] (match_operand:SI 2 "gpc_reg_operand" "b")] 8))]
"(DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) && flag_pic == 1" "DEFAULT_ABI == ABI_V4 && flag_pic == 1"
"{l|lwz} %0,%a1@got(%2)" "{l|lwz} %0,%a1@got(%2)"
[(set_attr "type" "load")]) [(set_attr "type" "load")])
...@@ -7421,7 +7421,7 @@ ...@@ -7421,7 +7421,7 @@
[(set (match_operand:SI 0 "gpc_reg_operand" "") [(set (match_operand:SI 0 "gpc_reg_operand" "")
(unspec:SI [(match_operand:SI 1 "got_no_const_operand" "") (unspec:SI [(match_operand:SI 1 "got_no_const_operand" "")
(match_operand:SI 2 "memory_operand" "")] 8))] (match_operand:SI 2 "memory_operand" "")] 8))]
"(DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) "DEFAULT_ABI == ABI_V4
&& flag_pic == 1 && flag_pic == 1
&& (reload_in_progress || reload_completed)" && (reload_in_progress || reload_completed)"
[(set (match_dup 0) (match_dup 2)) [(set (match_dup 0) (match_dup 2))
...@@ -9288,8 +9288,7 @@ ...@@ -9288,8 +9288,7 @@
(define_insn "load_toc_v4_pic_si" (define_insn "load_toc_v4_pic_si"
[(set (match_operand:SI 0 "register_operand" "=l") [(set (match_operand:SI 0 "register_operand" "=l")
(unspec:SI [(const_int 0)] 7))] (unspec:SI [(const_int 0)] 7))]
"(DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) && flag_pic == 1 "DEFAULT_ABI == ABI_V4 && flag_pic == 1 && TARGET_32BIT"
&& TARGET_32BIT"
"bl _GLOBAL_OFFSET_TABLE_@local-4" "bl _GLOBAL_OFFSET_TABLE_@local-4"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "4")]) (set_attr "length" "4")])
...@@ -9342,7 +9341,7 @@ ...@@ -9342,7 +9341,7 @@
(define_expand "builtin_setjmp_receiver" (define_expand "builtin_setjmp_receiver"
[(use (label_ref (match_operand 0 "" "")))] [(use (label_ref (match_operand 0 "" "")))]
"((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_SOLARIS) && flag_pic == 1) "(DEFAULT_ABI == ABI_V4 && flag_pic == 1)
|| (TARGET_TOC && TARGET_MINIMAL_TOC)" || (TARGET_TOC && TARGET_MINIMAL_TOC)"
" "
{ {
...@@ -9473,8 +9472,7 @@ ...@@ -9473,8 +9472,7 @@
if (DEFAULT_ABI == ABI_V4 if (DEFAULT_ABI == ABI_V4
|| DEFAULT_ABI == ABI_AIX_NODESC || DEFAULT_ABI == ABI_AIX_NODESC
|| DEFAULT_ABI == ABI_DARWIN || DEFAULT_ABI == ABI_DARWIN)
|| DEFAULT_ABI == ABI_SOLARIS)
operands[0] = force_reg (Pmode, operands[0]); operands[0] = force_reg (Pmode, operands[0]);
else if (DEFAULT_ABI == ABI_AIX) else if (DEFAULT_ABI == ABI_AIX)
...@@ -9522,8 +9520,7 @@ ...@@ -9522,8 +9520,7 @@
if (DEFAULT_ABI == ABI_V4 if (DEFAULT_ABI == ABI_V4
|| DEFAULT_ABI == ABI_AIX_NODESC || DEFAULT_ABI == ABI_AIX_NODESC
|| DEFAULT_ABI == ABI_DARWIN || DEFAULT_ABI == ABI_DARWIN)
|| DEFAULT_ABI == ABI_SOLARIS)
operands[0] = force_reg (Pmode, operands[0]); operands[0] = force_reg (Pmode, operands[0]);
else if (DEFAULT_ABI == ABI_AIX) else if (DEFAULT_ABI == ABI_AIX)
...@@ -9755,8 +9752,7 @@ ...@@ -9755,8 +9752,7 @@
(clobber (match_scratch:SI 3 "=l,l,l,l"))] (clobber (match_scratch:SI 3 "=l,l,l,l"))]
"DEFAULT_ABI == ABI_AIX_NODESC "DEFAULT_ABI == ABI_AIX_NODESC
|| DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_V4
|| DEFAULT_ABI == ABI_DARWIN || DEFAULT_ABI == ABI_DARWIN"
|| DEFAULT_ABI == ABI_SOLARIS"
"* "*
{ {
if (INTVAL (operands[2]) & CALL_V4_SET_FP_ARGS) if (INTVAL (operands[2]) & CALL_V4_SET_FP_ARGS)
...@@ -9788,8 +9784,7 @@ ...@@ -9788,8 +9784,7 @@
(clobber (match_scratch:SI 4 "=l,l,l,l"))] (clobber (match_scratch:SI 4 "=l,l,l,l"))]
"DEFAULT_ABI == ABI_AIX_NODESC "DEFAULT_ABI == ABI_AIX_NODESC
|| DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_V4
|| DEFAULT_ABI == ABI_DARWIN || DEFAULT_ABI == ABI_DARWIN"
|| DEFAULT_ABI == ABI_SOLARIS"
"* "*
{ {
if (INTVAL (operands[3]) & CALL_V4_SET_FP_ARGS) if (INTVAL (operands[3]) & CALL_V4_SET_FP_ARGS)
...@@ -12933,7 +12928,7 @@ ...@@ -12933,7 +12928,7 @@
else if (get_attr_length (insn) == 4) else if (get_attr_length (insn) == 4)
return \"{bdn|bdnz} %l0\"; return \"{bdn|bdnz} %l0\";
else else
return \"bdz %$+8\;b %l0\"; return \"bdz $+8\;b %l0\";
}" }"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "*,12,16")]) (set_attr "length" "*,12,16")])
...@@ -12957,7 +12952,7 @@ ...@@ -12957,7 +12952,7 @@
else if (get_attr_length (insn) == 4) else if (get_attr_length (insn) == 4)
return \"bdz %l0\"; return \"bdz %l0\";
else else
return \"{bdn|bdnz} %$+8\;b %l0\"; return \"{bdn|bdnz} $+8\;b %l0\";
}" }"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "*,12,16")]) (set_attr "length" "*,12,16")])
...@@ -12981,7 +12976,7 @@ ...@@ -12981,7 +12976,7 @@
else if (get_attr_length (insn) == 4) else if (get_attr_length (insn) == 4)
return \"{bdn|bdnz} %l0\"; return \"{bdn|bdnz} %l0\";
else else
return \"bdz %$+8\;b %l0\"; return \"bdz $+8\;b %l0\";
}" }"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "*,12,16")]) (set_attr "length" "*,12,16")])
...@@ -13005,7 +13000,7 @@ ...@@ -13005,7 +13000,7 @@
else if (get_attr_length (insn) == 4) else if (get_attr_length (insn) == 4)
return \"bdz %l0\"; return \"bdz %l0\";
else else
return \"{bdn|bdnz} %$+8\;b %l0\"; return \"{bdn|bdnz} $+8\;b %l0\";
}" }"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "*,12,16")]) (set_attr "length" "*,12,16")])
...@@ -13031,7 +13026,7 @@ ...@@ -13031,7 +13026,7 @@
else if (get_attr_length (insn) == 4) else if (get_attr_length (insn) == 4)
return \"{bdn|bdnz} %l0\"; return \"{bdn|bdnz} %l0\";
else else
return \"bdz %$+8\;b %l0\"; return \"bdz $+8\;b %l0\";
}" }"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "*,12,16")]) (set_attr "length" "*,12,16")])
...@@ -13055,7 +13050,7 @@ ...@@ -13055,7 +13050,7 @@
else if (get_attr_length (insn) == 4) else if (get_attr_length (insn) == 4)
return \"bdz %l0\"; return \"bdz %l0\";
else else
return \"{bdn|bdnz} %$+8\;b %l0\"; return \"{bdn|bdnz} $+8\;b %l0\";
}" }"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "*,12,16")]) (set_attr "length" "*,12,16")])
...@@ -13079,7 +13074,7 @@ ...@@ -13079,7 +13074,7 @@
else if (get_attr_length (insn) == 4) else if (get_attr_length (insn) == 4)
return \"{bdn|bdnz} %l0\"; return \"{bdn|bdnz} %l0\";
else else
return \"bdz %$+8\;b %l0\"; return \"bdz $+8\;b %l0\";
}" }"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "*,12,16")]) (set_attr "length" "*,12,16")])
...@@ -13103,7 +13098,7 @@ ...@@ -13103,7 +13098,7 @@
else if (get_attr_length (insn) == 4) else if (get_attr_length (insn) == 4)
return \"bdz %l0\"; return \"bdz %l0\";
else else
return \"{bdn|bdnz} %$+8\;b %l0\"; return \"{bdn|bdnz} $+8\;b %l0\";
}" }"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "*,12,16")]) (set_attr "length" "*,12,16")])
...@@ -13129,7 +13124,7 @@ ...@@ -13129,7 +13124,7 @@
else if (get_attr_length (insn) == 4) else if (get_attr_length (insn) == 4)
return \"bdz %l0\"; return \"bdz %l0\";
else else
return \"{bdn|bdnz} %$+8\;b %l0\"; return \"{bdn|bdnz} $+8\;b %l0\";
}" }"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "*,12,16")]) (set_attr "length" "*,12,16")])
...@@ -13153,7 +13148,7 @@ ...@@ -13153,7 +13148,7 @@
else if (get_attr_length (insn) == 4) else if (get_attr_length (insn) == 4)
return \"{bdn|bdnz} %l0\"; return \"{bdn|bdnz} %l0\";
else else
return \"bdz %$+8\;b %l0\"; return \"bdz $+8\;b %l0\";
}" }"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "*,12,16")]) (set_attr "length" "*,12,16")])
...@@ -13177,7 +13172,7 @@ ...@@ -13177,7 +13172,7 @@
else if (get_attr_length (insn) == 4) else if (get_attr_length (insn) == 4)
return \"bdz %l0\"; return \"bdz %l0\";
else else
return \"{bdn|bdnz} %$+8\;b %l0\"; return \"{bdn|bdnz} $+8\;b %l0\";
}" }"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "*,12,16")]) (set_attr "length" "*,12,16")])
...@@ -13201,7 +13196,7 @@ ...@@ -13201,7 +13196,7 @@
else if (get_attr_length (insn) == 4) else if (get_attr_length (insn) == 4)
return \"{bdn|bdnz} %l0\"; return \"{bdn|bdnz} %l0\";
else else
return \"bdz %$+8\;b %l0\"; return \"bdz $+8\;b %l0\";
}" }"
[(set_attr "type" "branch") [(set_attr "type" "branch")
(set_attr "length" "*,12,16")]) (set_attr "length" "*,12,16")])
......
/* Solaris PowerPC startfile. */
/* Copyright (C) 1996, 2000 Free Software Foundation, Inc.
This file is part of GNU CC.
GNU CC 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 2, or (at your option)
any later version.
In addition to the permissions in the GNU General Public License, the
Free Software Foundation gives you unlimited permission to link the
compiled version of this file into combinations with other programs,
and to distribute those combinations without any restriction coming
from the use of this file. (The General Public License restrictions
do apply in other respects; for example, they cover modification of
the file, and distribution when not linked into a combine
executable.)
GNU CC 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 GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
extern char **_environ;
extern int atexit (void (*__func) (void));
extern void __init (void) __attribute__ ((__longcall__));
extern void __fini (void) __attribute__ ((__longcall__));
extern void _start(int argc, char *argv[], char *envp[], void *auxp,
void (*termfunc)(void));
extern void exit(int);
extern int main (int argc, char *argv[], char *envp[], void *auxp);
typedef void (*func_ptr) (void);
int (*__atexit)(func_ptr) = atexit;
/* Exception handling */
struct ex_shared1 {
void *prev;
void *next;
char *text_start;
char *range_start;
char *text_end;
char *range_end;
};
struct ex_shared {
void (*ex_register) (struct ex_shared1 *);
void (*ex_deregister) (struct ex_shared1 *);
struct ex_shared1 shared_info;
};
extern char _ex_text0[], _ex_text1[];
extern char _ex_range0[], _ex_range1[];
extern void _ex_register (struct ex_shared1 *);
extern void _ex_deregister (struct ex_shared1 *);
extern char _SDA_BASE_[];
extern char _SDA2_BASE_[];
struct ex_shared shared __attribute__((section(".ex_shared"))) = {
_ex_register,
_ex_deregister,
{
(void *)0,
(void *)0,
_ex_text0,
_ex_range0,
_ex_text1,
_ex_range1
}
};
static void
deregister (void)
{
(* shared.ex_deregister) (&shared.shared_info);
}
/* Start function. */
void
_start(int argc, char *argv[], char *envp[], void *auxp,
void (*termfunc)(void))
{
int ret;
int dummy = 0;
#if 0
/* Disable this for now, it causes an impossible reload. */
/* Load up r13/r2 before we do anything else. */
__asm__ volatile ("mr %%r13,%0;mr %%r2,%1" : "=r" (dummy) : "r" (&_SDA_BASE_[0]), "r" (&_SDA2_BASE_[0]), "r" (dummy));
#endif
_environ = envp + dummy;
/* Register loader termination function (the || dummy is to make sure the above asm
is not optimized away). */
if (termfunc)
atexit (termfunc);
/* Register exception handler if needed */
if (shared.ex_register)
(* shared.ex_register) (&shared.shared_info);
if (shared.ex_deregister)
atexit (deregister);
/* Call any global constructors and destructors. */
__init ();
atexit (__fini);
/* Call the main program now */
ret = main (argc, argv, envp, auxp);
/* Return to the os */
exit (ret);
}
# crti.s for solaris # crti.s for sysv4
# Copyright (C) 1996 Free Software Foundation, Inc. # Copyright (C) 1996 Free Software Foundation, Inc.
# Written By Michael Meissner # Written By Michael Meissner
...@@ -61,12 +61,12 @@ __CTOR_LIST__: ...@@ -61,12 +61,12 @@ __CTOR_LIST__:
.type __DTOR_LIST__,@object .type __DTOR_LIST__,@object
__DTOR_LIST__: __DTOR_LIST__:
# Head of __init function used for static constructors in Solaris # Head of _init function used for static constructors
.section ".init","ax" .section ".init","ax"
.align 2 .align 2
.globl __init .globl _init
.type __init,@function .type _init,@function
__init: stwu %r1,-16(%r1) _init: stwu %r1,-16(%r1)
mflr %r0 mflr %r0
stw %r31,12(%r1) stw %r31,12(%r1)
stw %r0,16(%r1) stw %r0,16(%r1)
...@@ -82,12 +82,12 @@ __init: stwu %r1,-16(%r1) ...@@ -82,12 +82,12 @@ __init: stwu %r1,-16(%r1)
# blrl # blrl
#.Lno_reg: #.Lno_reg:
# Head of __fini function used for static destructors in Solaris # Head of _fini function used for static destructors
.section ".fini","ax" .section ".fini","ax"
.align 2 .align 2
.globl __fini .globl _fini
.type __fini,@function .type _fini,@function
__fini: stwu %r1,-16(%r1) _fini: stwu %r1,-16(%r1)
mflr %r0 mflr %r0
stw %r31,12(%r1) stw %r31,12(%r1)
stw %r0,16(%r1) stw %r0,16(%r1)
......
# crtn.s for solaris # crtn.s for sysv4
# Copyright (C) 1996 Free Software Foundation, Inc. # Copyright (C) 1996 Free Software Foundation, Inc.
# Written By Michael Meissner # Written By Michael Meissner
...@@ -65,7 +65,7 @@ _ex_text1: ...@@ -65,7 +65,7 @@ _ex_text1:
.globl _ex_range1 .globl _ex_range1
_ex_range1: _ex_range1:
# Tail of __init used for static constructors in Solaris # Tail of _init used for static constructors
.section ".init","ax" .section ".init","ax"
lwz %r0,16(%r1) lwz %r0,16(%r1)
lwz %r31,12(%r1) lwz %r31,12(%r1)
...@@ -73,7 +73,7 @@ _ex_range1: ...@@ -73,7 +73,7 @@ _ex_range1:
addi %r1,%r1,16 addi %r1,%r1,16
blr blr
# Tail of __fini used for static destructors in Solaris # Tail of _fini used for static destructors
.section ".fini","ax" .section ".fini","ax"
lwz %r0,16(%r1) lwz %r0,16(%r1)
lwz %r31,12(%r1) lwz %r31,12(%r1)
......
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 running AIX version 3.1.
Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
Contributed by David Reese (Dave.Reese@East.Sun.COM)
This file is part of GNU CC.
GNU CC 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 2, or (at your option)
any later version.
GNU CC 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 GNU CC; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* Default ABI to use */
#undef RS6000_ABI_NAME
#define RS6000_ABI_NAME "solaris"
#undef ASM_CPU_SPEC
#define ASM_CPU_SPEC "-le -s"
#undef TARGET_DEFAULT
#define TARGET_DEFAULT (MASK_POWERPC | \
MASK_NEW_MNEMONICS | \
MASK_LITTLE_ENDIAN | \
MASK_REGNAMES)
#undef LIB_DEFAULT_SPEC
#define LIB_DEFAULT_SPEC "%(lib_solaris)"
#undef STARTFILE_DEFAULT_SPEC
#define STARTFILE_DEFAULT_SPEC "%(startfile_solaris)"
#undef ENDFILE_DEFAULT_SPEC
#define ENDFILE_DEFAULT_SPEC "%(endfile_solaris)"
#undef LINK_START_DEFAULT_SPEC
#define LINK_START_DEFAULT_SPEC "%(link_start_solaris)"
#undef CPP_SPEC
#define CPP_SPEC "%{posix: -D_POSIX_SOURCE}\
%(cpp_sysv) %(cpp_endian) %(cpp_cpu) \
%{mmvme: %(cpp_os_mvme) } \
%{msim: %(cpp_os_sim) } \
%{mcall-linux: %(cpp_os_linux) } \
%{mcall-solaris: %(cpp_os_solaris) } \
%{!mmvme: %{!msim: %{!mcall-linux: %{!mcall-solaris: %(cpp_os_default) }}}}"
#undef CPP_OS_DEFAULT_SPEC
#define CPP_OS_DEFAULT_SPEC "%(cpp_os_solaris)"
#undef LINK_OS_DEFAULT_SPEC
#define LINK_OS_DEFAULT_SPEC "%(link_os_solaris)"
#undef CPP_ENDIAN_LITTLE_SPEC
#define CPP_ENDIAN_LITTLE_SPEC CPP_ENDIAN_SOLARIS_SPEC
#define DEFAULT_PCC_STRUCT_RETURN 0
#undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (PowerPC Solaris)");
/* Macros to check register numbers against specific register classes. */
#undef PREFERRED_DEBUGGING_TYPE
#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
#if 0
#undef ASM_OUTPUT_ALIGNED_LOCAL
#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \
do { \
fprintf ((FILE), "\t%s\t", ".lcomm"); \
assemble_name ((FILE), (NAME)); \
fprintf ((FILE), ",%u,%u\n", (SIZE), (ALIGN) / BITS_PER_UNIT); \
} while (0)
#endif
/* Like block addresses, stabs line numbers are relative to the
current function. */
/* use .stabd instead of .stabn */
#define ASM_STABN_OP "\t.stabd\t"
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(file, line) \
do \
{ \
static int sym_lineno = 1; \
const char *_p; \
fprintf (file, "\t.stabd 68,0,%d,.LM%d-", \
line, sym_lineno); \
STRIP_NAME_ENCODING (_p, XSTR (XEXP (DECL_RTL (current_function_decl), 0), 0)); \
assemble_name (file, _p); \
fprintf (file, "\n.LM%d:\n", sym_lineno); \
sym_lineno += 1; \
} \
while (0)
/* This is how to output an assembler line defining a `double' constant. */
#undef ASM_OUTPUT_DOUBLE
#define ASM_OUTPUT_DOUBLE(FILE, VALUE) \
{ \
if (REAL_VALUE_ISINF (VALUE) \
|| REAL_VALUE_ISNAN (VALUE) \
|| REAL_VALUE_MINUS_ZERO (VALUE)) \
{ \
long t[2]; \
REAL_VALUE_TO_TARGET_DOUBLE ((VALUE), t); \
fprintf (FILE, "\t.long 0x%lx\n\t.long 0x%lx\n", \
t[0] & 0xffffffff, t[1] & 0xffffffff); \
} \
else \
{ \
char str[30]; \
REAL_VALUE_TO_DECIMAL (VALUE, "%.20e", str); \
fprintf (FILE, "\t.double %s\n", str); \
} \
}
/* This is how to output an assembler line defining a `float' constant. */
#undef ASM_OUTPUT_FLOAT
#define ASM_OUTPUT_FLOAT(FILE, VALUE) \
{ \
if (REAL_VALUE_ISINF (VALUE) \
|| REAL_VALUE_ISNAN (VALUE) \
|| REAL_VALUE_MINUS_ZERO (VALUE)) \
{ \
long t; \
REAL_VALUE_TO_TARGET_SINGLE ((VALUE), t); \
fprintf (FILE, "\t.long 0x%lx\n", t & 0xffffffff); \
} \
else \
{ \
char str[30]; \
REAL_VALUE_TO_DECIMAL ((VALUE), "%.20e", str); \
fprintf (FILE, "\t.float %s\n", str); \
} \
}
/* Sun-ppc assembler does not permit '.' in some symbol names.
Use 'name_.labelno' instead. */
#undef ASM_FORMAT_PRIVATE_NAME
#define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \
( (OUTPUT) = (char *) alloca (strlen ((NAME)) + 10), \
sprintf ((OUTPUT), "%s_.%d", (NAME), (LABELNO)))
/* Define this macro as a C expression for the initializer of an
array of string to tell the driver program which options are
defaults for this target and thus do not need to be handled
specially when using `MULTILIB_OPTIONS'.
Do not define this macro if `MULTILIB_OPTIONS' is not defined in
the target makefile fragment or if none of the options listed in
`MULTILIB_OPTIONS' are set by default. *Note Target Fragment::. */
#undef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS { "mlittle", "mcall-solaris" }
#define STDC_0_IN_SYSTEM_HEADERS 1
...@@ -40,12 +40,10 @@ INSTALL_LIBGCC = install-multilib ...@@ -40,12 +40,10 @@ INSTALL_LIBGCC = install-multilib
EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \ EXTRA_MULTILIB_PARTS = crtbegin$(objext) crtend$(objext) \
crtbeginS$(objext) crtendS$(objext) \ crtbeginS$(objext) crtendS$(objext) \
ecrti$(objext) ecrtn$(objext) \ ecrti$(objext) ecrtn$(objext) \
scrt0$(objext) scrti$(objext) scrtn$(objext) \
ncrti$(objext) ncrtn$(objext) ncrti$(objext) ncrtn$(objext)
# We build {e,s}crti.o, {e,s}crtn.o, and {s,n}crt0.o which serve to # We build {e,n}crti.o and {e,n}crtn.o, which serve to add begin and
# add begin and end labels to all of the special sections used when we # end labels to all of the special sections used when we link using gcc.
# link using gcc.
# Assemble startup files. # Assemble startup files.
ecrti.S: $(srcdir)/config/rs6000/eabi-ci.asm ecrti.S: $(srcdir)/config/rs6000/eabi-ci.asm
...@@ -55,21 +53,10 @@ ecrtn.S: $(srcdir)/config/rs6000/eabi-cn.asm ...@@ -55,21 +53,10 @@ ecrtn.S: $(srcdir)/config/rs6000/eabi-cn.asm
cat $(srcdir)/config/rs6000/eabi-cn.asm >ecrtn.S cat $(srcdir)/config/rs6000/eabi-cn.asm >ecrtn.S
ncrti.S: $(srcdir)/config/rs6000/sol-ci.asm ncrti.S: $(srcdir)/config/rs6000/sol-ci.asm
sed -e 's/__init/_init/' -e 's/__fini/_fini/' \ cat $(srcdir)/config/rs6000/sol-ci.asm >ncrti.S
$(srcdir)/config/rs6000/sol-ci.asm >ncrti.S
ncrtn.S: $(srcdir)/config/rs6000/sol-cn.asm ncrtn.S: $(srcdir)/config/rs6000/sol-cn.asm
sed -e 's/__init/_init/' -e 's/__fini/_fini/' \ cat $(srcdir)/config/rs6000/sol-cn.asm >ncrtn.S
$(srcdir)/config/rs6000/sol-cn.asm >ncrtn.S
scrti.S: $(srcdir)/config/rs6000/sol-ci.asm
cat $(srcdir)/config/rs6000/sol-ci.asm >scrti.S
scrtn.S: $(srcdir)/config/rs6000/sol-cn.asm
cat $(srcdir)/config/rs6000/sol-cn.asm >scrtn.S
scrt0.c: $(srcdir)/config/rs6000/sol-c0.c
cat $(srcdir)/config/rs6000/sol-c0.c >scrt0.c
# Build multiple copies of ?crt{i,n}.o, one for each target switch. # Build multiple copies of ?crt{i,n}.o, one for each target switch.
$(T)ecrti$(objext): ecrti.S $(T)ecrti$(objext): ecrti.S
...@@ -84,15 +71,6 @@ $(T)ncrti$(objext): ncrti.S ...@@ -84,15 +71,6 @@ $(T)ncrti$(objext): ncrti.S
$(T)ncrtn$(objext): ncrtn.S $(T)ncrtn$(objext): ncrtn.S
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ncrtn.S -o $(T)ncrtn$(objext) $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c ncrtn.S -o $(T)ncrtn$(objext)
$(T)scrti$(objext): scrti.S
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c scrti.S -o $(T)scrti$(objext)
$(T)scrtn$(objext): scrtn.S
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c scrtn.S -o $(T)scrtn$(objext)
$(T)scrt0$(objext): scrt0.c
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c scrt0.c -o $(T)scrt0$(objext)
# It is important that crtbegin.o, etc., aren't surprised by stuff in .sdata. # It is important that crtbegin.o, etc., aren't surprised by stuff in .sdata.
CRTSTUFF_T_CFLAGS = -msdata=none CRTSTUFF_T_CFLAGS = -msdata=none
# There is no need to add -fPIC here because crtstuff is multilibbed # There is no need to add -fPIC here because crtstuff is multilibbed
......
# Multilibs for a powerpc hosted ELF target (linux, SVR4, solaris) # Multilibs for a powerpc hosted ELF target (linux, SVR4)
MULTILIB_OPTIONS = msoft-float MULTILIB_OPTIONS = msoft-float
MULTILIB_DIRNAMES = nof MULTILIB_DIRNAMES = nof
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment