On rerunning my target macro enumeration now it's no longer necessary to consider libgcc/config/ macros in host-side files, I saw that I'd missed one remaining DECLARE_LIBRARY_RENAMES definition when poisoning that macro host-side because of the move to libgcc/config/. Nathan Froyd had moved all definitions of that macro to libgcc/config/ on 2010-10-14 - but I'd missed that a definition for Darwin was then added in gcc/config/ on 2011-02-07. This patch moves that definition to libgcc/config/ as well.
Tested building cc1 and xgcc for cross to i686-darwin. OK to commit? gcc: 2011-05-10 Joseph Myers <jos...@codesourcery.com> * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add i386/darwin-lib.h to $libgcc_tm_file. * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Remove. libgcc: 2011-05-10 Joseph Myers <jos...@codesourcery.com> * config/i386/darwin-lib.h: New file. Index: libgcc/config/i386/darwin-lib.h =================================================================== --- libgcc/config/i386/darwin-lib.h (revision 0) +++ libgcc/config/i386/darwin-lib.h (revision 0) @@ -0,0 +1,32 @@ +/* Target definitions for x86 running Darwin, library renames. + Copyright (C) 2011 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC 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 3, or (at your option) any later +version. + +GCC 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. + +Under Section 7 of GPL version 3, you are granted additional +permissions described in the GCC Runtime Library Exception, version +3.1, as published by the Free Software Foundation. + +You should have received a copy of the GNU General Public License and +a copy of the GCC Runtime Library Exception along with this program; +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +<http://www.gnu.org/licenses/>. */ + +/* The system ___divdc3 routine in libSystem on darwin10 is not + accurate to 1ulp, ours is, so we avoid ever using the system name + for this routine and instead install a non-conflicting name that is + accurate. See darwin_rename_builtins. */ +#ifdef L_divdc3 +#define DECLARE_LIBRARY_RENAMES \ + asm(".text; ___divdc3: jmp ___ieee_divdc3 ; .globl ___divdc3"); +#endif Index: gcc/config.gcc =================================================================== --- gcc/config.gcc (revision 173620) +++ gcc/config.gcc (working copy) @@ -1170,11 +1170,13 @@ # Baseline choice for a machine that allows m64 support. with_cpu=${with_cpu:-core2} tmake_file="${tmake_file} t-slibgcc-darwin i386/t-crtpc i386/t-crtfm" + libgcc_tm_file="$libgcc_tm_file i386/darwin-lib.h" ;; x86_64-*-darwin*) with_cpu=${with_cpu:-core2} tmake_file="${tmake_file} ${cpu_type}/t-darwin64 t-slibgcc-darwin i386/t-crtpc i386/t-crtfm" tm_file="${tm_file} ${cpu_type}/darwin64.h" + libgcc_tm_file="$libgcc_tm_file i386/darwin-lib.h" ;; i[34567]86-*-elf*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h" Index: gcc/config/i386/darwin.h =================================================================== --- gcc/config/i386/darwin.h (revision 173620) +++ gcc/config/i386/darwin.h (working copy) @@ -310,12 +310,3 @@ = darwin_init_cfstring_builtins ((unsigned) (IX86_BUILTIN_CFSTRING)); \ darwin_rename_builtins (); \ } while(0) - -/* The system ___divdc3 routine in libSystem on darwin10 is not - accurate to 1ulp, ours is, so we avoid ever using the system name - for this routine and instead install a non-conflicting name that is - accurate. See darwin_rename_builtins. */ -#ifdef L_divdc3 -#define DECLARE_LIBRARY_RENAMES \ - asm(".text; ___divdc3: jmp ___ieee_divdc3 ; .globl ___divdc3"); -#endif -- Joseph S. Myers jos...@codesourcery.com