]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/i386/darwin64-biarch.h
Update copyright years.
[thirdparty/gcc.git] / gcc / config / i386 / darwin64-biarch.h
CommitLineData
c2ff7104
IS
1/* Target definitions for x86_64 running Darwin with a 64b host supporting a
2 32b multilib.
99dee823 3 Copyright (C) 2006-2021 Free Software Foundation, Inc.
9519e677
EC
4 Contributed by Apple Computer Inc.
5
6This file is part of GCC.
7
8GCC is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
2f83c7d6 10the Free Software Foundation; either version 3, or (at your option)
9519e677
EC
11any later version.
12
13GCC is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16GNU General Public License for more details.
17
18You should have received a copy of the GNU General Public License
2f83c7d6
NC
19along with GCC; see the file COPYING3. If not see
20<http://www.gnu.org/licenses/>. */
9519e677 21
9519e677
EC
22#undef DARWIN_ARCH_SPEC
23#define DARWIN_ARCH_SPEC "%{m32:i386;:x86_64}"
24
7b607822
IS
25/* WORKAROUND pr80556:
26 For x86_64 Darwin10 and later, the unwinder is in libunwind (redirected
27 from libSystem). This doesn't use the keymgr (see keymgr.c) and therefore
28 the calls that libgcc makes to obtain the KEYMGR_GCC3_DW2_OBJ_LIST are not
29 updated to include new images, and might not even be valid for a single
30 image.
31 Therefore, for 64b exes at least, we must use the libunwind implementation,
32 even when static-libgcc is specified. We put libSystem first so that
33 unwinder symbols are satisfied from there. */
34#undef REAL_LIBGCC_SPEC
35#define REAL_LIBGCC_SPEC \
36 "%{static-libgcc|static: \
37 %{!m32:%:version-compare(>= 10.6 mmacosx-version-min= -lSystem)} \
38 -lgcc_eh -lgcc; \
39 shared-libgcc|fexceptions|fgnu-runtime: \
40 %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \
41 %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
42 %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
43 %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
44 -lgcc ; \
45 :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
46 %:version-compare(>< 10.5 10.6 mmacosx-version-min= -lgcc_s.10.5) \
47 %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
48 %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
49 -lgcc }"
50
9519e677
EC
51#undef DARWIN_SUBARCH_SPEC
52#define DARWIN_SUBARCH_SPEC DARWIN_ARCH_SPEC
53
54#undef SUBTARGET_EXTRA_SPECS
55#define SUBTARGET_EXTRA_SPECS \
742163c0 56 DARWIN_EXTRA_SPECS \
9519e677
EC
57 { "darwin_arch", DARWIN_ARCH_SPEC }, \
58 { "darwin_crt2", "" }, \
59 { "darwin_subarch", DARWIN_SUBARCH_SPEC },