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