From baad77c238a8f41ec44c6128d4efc1a652f1f78c Mon Sep 17 00:00:00 2001 From: jakub Date: Fri, 27 Jan 2006 19:59:49 +0000 Subject: 2006-01-27 Jakub Jelinek PR target/25864 * libgcc-std.ver: Add GCC_4.1.0 symbol version. * config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Only append -mno-minimal-toc to previous content. (bispecs): Remove goal. * config/rs6000/ppc64-fp.c: Define TMODES before including fp-bit.h. * config/rs6000/darwin-ldouble.c: Don't provide _xlq*@GCC_3.4 compatibility aliases on powerpc-*-*gnu*. * config/rs6000/libgcc-ppc-glibc.ver: New file. * config/rs6000/t-ppccomm (SHLIB_MAPFILES): Append libgcc-ppc-glibc.ver on powerpc*-*-*gnu*. (TARGET_LIBGCC2_CFLAGS): Append -specs=ldblspecs. (ldblspecs): New goal. * config/rs6000/t-linux64 (SHLIB_MAPFILES): Removed. * mklibgcc.in: If $TPBIT is empty, don't compile _sf_to_tf and _df_to_tf. * config/fp-bit.h (TMODES): Don't define if none of TFLOAT, L_sf_to_tf or L_df_to_tf is defined. 2006-01-27 David Edelsohn Alan Modra PR target/25864 * config/rs6000/linux.h (POWERPC_LINUX): Define. * config/rs6000/linux64.h (POWERPC_LINUX): Define. * config/rs6000/darwin-ldouble.c: Build on 32-bit PowerPC. * config/rs6000/darwin.h (TARGET_IEEEQUAD): Define to zero. * config/rs6000/aix.h (TARGET_IEEEQUAD): Define to zero. * config/rs6000/rs6000.c (rs6000_ieeequad): New variable. (rs6000_override_options): Initialize rs6000_ieeequad. Initialize TFmode format to ibm_extended_format if not TARGET_IEEEQUAD. (rs6000_handle_option): Accept -mabi= ibmlongdouble and ieeelongdouble. (rs6000_emit_move): Move !TARGET_IEEEQUAD as two parts. (rs6000_return_in_memory): Only return IEEEQUAD in memory. (function_arg_advance): IBM long double passed in two FPRs, not split. (function_arg): IBM long double passed in FPRs. (rs6000_pass_by_reference): Only IEEEQUAD passed by reference. (rs6000_gimplify_va_arg): IBM long double passed in two FPRs. Only multireg GPR aligned. (rs6000_init_libfuncs): Enable IBM long double functions if not IEEEQUAD. (rs6000_generate_compare): Use IBM long double compare if not TARGET_IEEEQUAD. * config/rs6000/rs6000.h (rs6000_ieeequad): Declare. (TARGET_IEEEQUAD): Define. (CANNOT_CHANGE_MODE_CLASS): Any mode larger than doubleword if not TARGET_IEEEQUAD. * config/rs6000/rs6000.md: Enable TFmode patterns if !TARGET_IEEEQUAD. * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Add darwin-ldouble.c. * config/rs6000/svr4.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float and -mlong-double-128 are incompatible. * doc/invoke.texi (-mabi): Collect options together. Add ibmlongdouble and ieeelongdouble. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110303 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/mklibgcc.in | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gcc/mklibgcc.in') diff --git a/gcc/mklibgcc.in b/gcc/mklibgcc.in index 2162c051a91..88e0df029cb 100644 --- a/gcc/mklibgcc.in +++ b/gcc/mklibgcc.in @@ -1,6 +1,7 @@ #!/bin/sh # Construct makefile for libgcc. -# Copyright (C) 2000, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006 +# Free Software Foundation, Inc. # # This file is part of GCC. @@ -332,6 +333,11 @@ for ml in $MULTILIBS; do if [ "$fpbit" ] ; then for name in $fpfuncs; do + case "$name" in + # _sf_to_tf and _df_to_tf require tp-bit.c + # being compiled in. + _[sd]f_to_tf) [ -z "$TPBIT" ] && continue;; + esac if [ "$libgcc_s_so" ]; then out="libgcc/${dir}/${name}${objext}" outS="libgcc/${dir}/${name}_s${objext}" -- cgit v1.2.1