nios2-soft-fp.patch 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401
  1. diff -Nur gcc-6.2.0.orig/libgcc/config.host gcc-6.2.0/libgcc/config.host
  2. --- gcc-6.2.0.orig/libgcc/config.host 2016-05-17 08:15:52.000000000 +0200
  3. +++ gcc-6.2.0/libgcc/config.host 2016-10-15 14:42:53.971919904 +0200
  4. @@ -962,6 +962,10 @@
  5. ;;
  6. esac
  7. ;;
  8. +nios2-*-linux-uclibc*)
  9. + tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc t-softfp-sfdf t-softfp"
  10. + md_unwind_header=nios2/linux-unwind.h
  11. + ;;
  12. nios2-*-linux*)
  13. tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc"
  14. md_unwind_header=nios2/linux-unwind.h
  15. diff -Nur gcc-6.2.0.orig/libgcc/config.host.orig gcc-6.2.0/libgcc/config.host.orig
  16. --- gcc-6.2.0.orig/libgcc/config.host.orig 1970-01-01 01:00:00.000000000 +0100
  17. +++ gcc-6.2.0/libgcc/config.host.orig 2016-05-17 08:15:52.000000000 +0200
  18. @@ -0,0 +1,1383 @@
  19. +# libgcc host-specific configuration file.
  20. +# Copyright (C) 1997-2016 Free Software Foundation, Inc.
  21. +
  22. +#This file is part of GCC.
  23. +
  24. +#GCC is free software; you can redistribute it and/or modify it under
  25. +#the terms of the GNU General Public License as published by the Free
  26. +#Software Foundation; either version 3, or (at your option) any later
  27. +#version.
  28. +
  29. +#GCC is distributed in the hope that it will be useful, but WITHOUT
  30. +#ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  31. +#FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
  32. +#for more details.
  33. +
  34. +#You should have received a copy of the GNU General Public License
  35. +#along with GCC; see the file COPYING3. If not see
  36. +#<http://www.gnu.org/licenses/>.
  37. +
  38. +# This is the libgcc host-specific configuration file
  39. +# where a configuration type is mapped to different system-specific
  40. +# definitions and files. This is invoked by the autoconf-generated
  41. +# configure script. Putting it in a separate shell file lets us skip
  42. +# running autoconf when modifying host-specific information.
  43. +
  44. +# This file bears an obvious resemblance to gcc/config.gcc. The cases
  45. +# should be kept similar, to ease moving library-specific settings
  46. +# from config.gcc to this file. That is also why tmake_file is
  47. +# left as tmake_file, rather than hmake_file, even though this library
  48. +# switches on ${host}.
  49. +
  50. +# This file switches on the shell variable ${host}, and also uses the
  51. +# following shell variables:
  52. +#
  53. +# with_* Various variables as set by configure.
  54. +
  55. +# This file sets the following shell variables for use by the
  56. +# autoconf-generated configure script:
  57. +#
  58. +# asm_hidden_op The assembler pseudo-op to use for hide
  59. +# lists for object files implemented in
  60. +# assembly (with -fvisibility=hidden for C).
  61. +# The default is ".hidden".
  62. +# cpu_type The name of the cpu, if different from the first
  63. +# chunk of the canonical host name.
  64. +# enable_execute_stack The name of a source file implementing
  65. +# __enable_execute_stack.
  66. +# extra_parts List of extra object files that should be compiled
  67. +# for this target machine. This may be overridden
  68. +# by setting EXTRA_PARTS in a tmake_file fragment.
  69. +# If either is set, EXTRA_PARTS and
  70. +# EXTRA_MULTILIB_PARTS inherited from the GCC
  71. +# subdirectory will be ignored.
  72. +# md_unwind_header The name of a header file defining
  73. +# MD_FALLBACK_FRAME_STATE_FOR.
  74. +# sfp_machine_header The name of a sfp-machine.h header file for soft-fp.
  75. +# Defaults to "$cpu_type/sfp-machine.h" if it exists,
  76. +# no-sfp-machine.h otherwise.
  77. +# tmake_file A list of machine-description-specific
  78. +# makefile fragments.
  79. +# tm_defines List of target macros to define for all compilations.
  80. +# tm_file A list of target macro files used only for code
  81. +# built for the target, not the host. These files
  82. +# are relative to $srcdir/config and must not have
  83. +# the same names as files in $srcdir/../gcc/config.
  84. +# unwind_header The name of the header file declaring the unwind
  85. +# runtime interface routines.
  86. +
  87. +asm_hidden_op=.hidden
  88. +enable_execute_stack=
  89. +extra_parts=
  90. +tmake_file=
  91. +tm_file=
  92. +tm_define=
  93. +md_unwind_header=no-unwind.h
  94. +unwind_header=unwind-generic.h
  95. +
  96. +# Set default cpu_type so it can be updated in each machine entry.
  97. +cpu_type=`echo ${host} | sed 's/-.*$//'`
  98. +case ${host} in
  99. +m32c*-*-*)
  100. + cpu_type=m32c
  101. + tmake_file=t-fdpbit
  102. + ;;
  103. +aarch64*-*-*)
  104. + cpu_type=aarch64
  105. + ;;
  106. +alpha*-*-*)
  107. + cpu_type=alpha
  108. + ;;
  109. +am33_2.0-*-linux*)
  110. + cpu_type=mn10300
  111. + ;;
  112. +arc*-*-*)
  113. + cpu_type=arc
  114. + ;;
  115. +arm*-*-*)
  116. + cpu_type=arm
  117. + ;;
  118. +avr-*-*)
  119. + cpu_type=avr
  120. + ;;
  121. +bfin*-*)
  122. + cpu_type=bfin
  123. + ;;
  124. +cr16-*-*)
  125. + ;;
  126. +crisv32-*-*)
  127. + cpu_type=cris
  128. + ;;
  129. +fido-*-*)
  130. + cpu_type=m68k
  131. + ;;
  132. +frv*) cpu_type=frv
  133. + ;;
  134. +ft32*) cpu_type=ft32
  135. + ;;
  136. +moxie*) cpu_type=moxie
  137. + ;;
  138. +i[34567]86-*-*)
  139. + cpu_type=i386
  140. + ;;
  141. +x86_64-*-*)
  142. + cpu_type=i386
  143. + ;;
  144. +ia64-*-*)
  145. + ;;
  146. +hppa*-*-*)
  147. + cpu_type=pa
  148. + ;;
  149. +lm32*-*-*)
  150. + cpu_type=lm32
  151. + ;;
  152. +m32r*-*-*)
  153. + cpu_type=m32r
  154. + ;;
  155. +m68k-*-*)
  156. + ;;
  157. +mep*-*-*)
  158. + ;;
  159. +microblaze*-*-*)
  160. + cpu_type=microblaze
  161. + ;;
  162. +mips*-*-*)
  163. + # All MIPS targets provide a full set of FP routines.
  164. + cpu_type=mips
  165. + tmake_file="mips/t-mips"
  166. + if test "${libgcc_cv_mips_hard_float}" = yes; then
  167. + tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp"
  168. + else
  169. + tmake_file="${tmake_file} t-softfp-sfdf"
  170. + fi
  171. + if test "${ac_cv_sizeof_long_double}" = 16; then
  172. + tmake_file="${tmake_file} mips/t-softfp-tf"
  173. + fi
  174. + if test "${host_address}" = 64; then
  175. + tmake_file="${tmake_file} mips/t-mips64"
  176. + fi
  177. + tmake_file="${tmake_file} t-softfp"
  178. + ;;
  179. +nds32*-*)
  180. + cpu_type=nds32
  181. + ;;
  182. +nios2*-*-*)
  183. + cpu_type=nios2
  184. + ;;
  185. +powerpc*-*-*)
  186. + cpu_type=rs6000
  187. + ;;
  188. +rs6000*-*-*)
  189. + ;;
  190. +sparc64*-*-*)
  191. + cpu_type=sparc
  192. + ;;
  193. +sparc*-*-*)
  194. + cpu_type=sparc
  195. + ;;
  196. +spu*-*-*)
  197. + cpu_type=spu
  198. + ;;
  199. +s390*-*-*)
  200. + cpu_type=s390
  201. + ;;
  202. +# Note the 'l'; we need to be able to match e.g. "shle" or "shl".
  203. +sh[123456789lbe]*-*-*)
  204. + cpu_type=sh
  205. + ;;
  206. +tilegx*-*-*)
  207. + cpu_type=tilegx
  208. + ;;
  209. +tilepro*-*-*)
  210. + cpu_type=tilepro
  211. + ;;
  212. +v850*-*-*)
  213. + cpu_type=v850
  214. + ;;
  215. +tic6x-*-*)
  216. + cpu_type=c6x
  217. + ;;
  218. +esac
  219. +
  220. +# Common parts for widely ported systems.
  221. +case ${host} in
  222. +*-*-darwin*)
  223. + asm_hidden_op=.private_extern
  224. + tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic t-slibgcc-darwin"
  225. + extra_parts="crt3.o crttms.o crttme.o"
  226. + ;;
  227. +*-*-dragonfly*)
  228. + tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
  229. + tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
  230. + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
  231. + ;;
  232. +*-*-freebsd*)
  233. + # This is the generic ELF configuration of FreeBSD. Later
  234. + # machine-specific sections may refine and add to this
  235. + # configuration.
  236. + tmake_file="$tmake_file t-freebsd t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
  237. + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
  238. + case ${target_thread_file} in
  239. + posix)
  240. + tmake_file="${tmake_file} t-freebsd-thread"
  241. + # Before 5.0, FreeBSD can't bind shared libraries to -lc
  242. + # when "optionally" threaded via weak pthread_* checks.
  243. + case ${host} in
  244. + *-*-freebsd[34] | *-*-freebsd[34].*)
  245. + tmake_file="${tmake_file} t-slibgcc-nolc-override"
  246. + ;;
  247. + esac
  248. + ;;
  249. + esac
  250. + ;;
  251. +*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
  252. + tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux"
  253. + extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
  254. + if test x$enable_vtable_verify = xyes; then
  255. + extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
  256. + fi
  257. + ;;
  258. +*-*-lynxos*)
  259. + tmake_file="$tmake_file t-lynx $cpu_type/t-crtstuff t-crtstuff-pic t-libgcc-pic"
  260. + extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
  261. + ;;
  262. +*-*-netbsd*)
  263. + tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
  264. + # NetBSD 1.7 and later are set up to use GCC's crtstuff for
  265. + # ELF configurations. We will clear extra_parts in the
  266. + # a.out configurations.
  267. + case ${host} in
  268. + *-*-netbsd*1.[7-9]* | *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
  269. + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
  270. + ;;
  271. + esac
  272. + ;;
  273. +*-*-openbsd*)
  274. + tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip"
  275. + case ${target_thread_file} in
  276. + posix)
  277. + tmake_file="$tmake_file t-openbsd-thread"
  278. + ;;
  279. + esac
  280. + ;;
  281. +*-*-rtems*)
  282. + tmake_file="$tmake_file t-rtems"
  283. + extra_parts="crtbegin.o crtend.o"
  284. + ;;
  285. +*-*-solaris2*)
  286. + # Unless linker support and dl_iterate_phdr are present,
  287. + # unwind-dw2-fde-dip.c automatically falls back to unwind-dw2-fde.c.
  288. + tmake_file="$tmake_file sol2/t-sol2 t-eh-dw2-dip t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-elf-ver"
  289. + if test $with_gnu_ld = yes; then
  290. + tmake_file="$tmake_file t-slibgcc-gld"
  291. + else
  292. + tmake_file="$tmake_file t-slibgcc-sld"
  293. + fi
  294. + # Add cpu-specific t-sol2 after t-slibgcc-* so it can augment SHLIB_MAPFILES.
  295. + tmake_file="$tmake_file $cpu_type/t-sol2"
  296. + extra_parts="gmon.o crtbegin.o crtend.o"
  297. + if test "${libgcc_cv_solaris_crts}" = yes; then
  298. + # Solaris 11.x and 12 provide crt1.o, crti.o, and crtn.o as part of the
  299. + # base system. crtp.o and crtpg.o implement the compiler-dependent parts.
  300. + extra_parts="$extra_parts crtp.o crtpg.o"
  301. + # If the Solaris CRTs are present, both ld and gld will have PIE support.
  302. + extra_parts="$extra_parts crtbeginS.o crtendS.o"
  303. + else
  304. + case ${host} in
  305. + i?86-*-solaris2.1[0-9]* | x86_64-*-solaris2.1[0-9]*)
  306. + # Solaris 10+/x86 provides crt1.o, crti.o, crtn.o, and gcrt1.o as
  307. + # part of the base system.
  308. + ;;
  309. + sparc*-*-solaris2.1[0-9]*)
  310. + # Solaris 10+/SPARC lacks crt1.o and gcrt1.o.
  311. + extra_parts="$extra_parts crt1.o gcrt1.o"
  312. + ;;
  313. + esac
  314. + fi
  315. + if test x$enable_vtable_verify = xyes; then
  316. + extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
  317. + fi
  318. + ;;
  319. +*-*-uclinux*)
  320. + extra_parts="crtbegin.o crtend.o"
  321. + ;;
  322. +*-*-*vms*)
  323. + tmake_file="vms/t-vms"
  324. + extra_parts="crt0.o crtbegin.o crtbeginS.o crtend.o crtendS.o"
  325. + ;;
  326. +*-*-vxworks*)
  327. + tmake_file=t-vxworks
  328. + ;;
  329. +*-*-elf)
  330. + extra_parts="crtbegin.o crtend.o"
  331. + ;;
  332. +esac
  333. +
  334. +case ${host} in
  335. +*-*-darwin* | *-*-dragonfly* | *-*-freebsd* | *-*-netbsd* | *-*-openbsd* | \
  336. + *-*-solaris2*)
  337. + enable_execute_stack=enable-execute-stack-mprotect.c
  338. + ;;
  339. +i[34567]86-*-mingw* | x86_64-*-mingw*)
  340. + enable_execute_stack=config/i386/enable-execute-stack-mingw32.c
  341. + ;;
  342. +*)
  343. + enable_execute_stack=enable-execute-stack-empty.c;
  344. + ;;
  345. +esac
  346. +
  347. +case ${host} in
  348. +aarch64*-*-elf | aarch64*-*-rtems*)
  349. + extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
  350. + extra_parts="$extra_parts crtfastmath.o"
  351. + tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
  352. + tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
  353. + ;;
  354. +aarch64*-*-linux*)
  355. + extra_parts="$extra_parts crtfastmath.o"
  356. + md_unwind_header=aarch64/linux-unwind.h
  357. + tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
  358. + tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
  359. + ;;
  360. +alpha*-*-linux*)
  361. + tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm alpha/t-linux"
  362. + extra_parts="$extra_parts crtfastmath.o"
  363. + md_unwind_header=alpha/linux-unwind.h
  364. + ;;
  365. +alpha*-*-freebsd*)
  366. + tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm"
  367. + extra_parts="$extra_parts crtbeginT.o crtfastmath.o"
  368. + ;;
  369. +alpha*-*-netbsd*)
  370. + tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
  371. + ;;
  372. +alpha*-*-openbsd*)
  373. + tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
  374. + ;;
  375. +alpha64-dec-*vms*)
  376. + tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms"
  377. + extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o"
  378. + md_unwind_header=alpha/vms-unwind.h
  379. + ;;
  380. +alpha*-dec-*vms*)
  381. + tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms"
  382. + extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o"
  383. + md_unwind_header=alpha/vms-unwind.h
  384. + ;;
  385. +arc*-*-elf*)
  386. + tmake_file="arc/t-arc-newlib arc/t-arc"
  387. + extra_parts="crti.o crtn.o crtend.o crtbegin.o crtendS.o crtbeginS.o libgmon.a crtg.o crtgend.o"
  388. + ;;
  389. +arc*-*-linux-uclibc*)
  390. + tmake_file="${tmake_file} t-slibgcc-libgcc t-slibgcc-nolc-override arc/t-arc700-uClibc arc/t-arc"
  391. + extra_parts="crti.o crtn.o crtend.o crtbegin.o crtendS.o crtbeginS.o libgmon.a crtg.o crtgend.o"
  392. + ;;
  393. +arm-wrs-vxworks)
  394. + tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
  395. + extra_parts="$extra_parts crti.o crtn.o"
  396. + ;;
  397. +arm*-*-freebsd*) # ARM FreeBSD EABI
  398. + tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix arm/t-elf"
  399. + tmake_file="${tmake_file} arm/t-bpabi arm/t-freebsd t-slibgcc-libgcc"
  400. + tm_file="${tm_file} arm/bpabi-lib.h"
  401. + unwind_header=config/arm/unwind-arm.h
  402. + tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
  403. + ;;
  404. +arm*-*-netbsdelf*)
  405. + tmake_file="$tmake_file arm/t-arm arm/t-netbsd t-slibgcc-gld-nover"
  406. + ;;
  407. +arm*-*-linux*) # ARM GNU/Linux with ELF
  408. + tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix t-crtfm"
  409. + tmake_file="${tmake_file} arm/t-elf arm/t-bpabi arm/t-linux-eabi t-slibgcc-libgcc"
  410. + tm_file="$tm_file arm/bpabi-lib.h"
  411. + unwind_header=config/arm/unwind-arm.h
  412. + tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
  413. + extra_parts="$extra_parts crtfastmath.o"
  414. + ;;
  415. +arm*-*-uclinux*) # ARM ucLinux
  416. + tmake_file="${tmake_file} t-fixedpoint-gnu-prefix t-crtfm"
  417. + tmake_file="$tmake_file arm/t-arm arm/t-elf t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
  418. + tmake_file="${tmake_file} arm/t-bpabi"
  419. + tm_file="$tm_file arm/bpabi-lib.h"
  420. + unwind_header=config/arm/unwind-arm.h
  421. + extra_parts="$extra_parts crti.o crtn.o"
  422. + ;;
  423. +arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
  424. + tmake_file="${tmake_file} arm/t-arm arm/t-elf t-fixedpoint-gnu-prefix"
  425. + tm_file="$tm_file arm/bpabi-lib.h"
  426. + case ${host} in
  427. + arm*-*-eabi* | arm*-*-rtems*)
  428. + tmake_file="${tmake_file} arm/t-bpabi t-crtfm"
  429. + extra_parts="crtbegin.o crtend.o crti.o crtn.o"
  430. + ;;
  431. + arm*-*-symbianelf*)
  432. + tmake_file="${tmake_file} arm/t-symbian t-slibgcc-nolc-override"
  433. + tm_file="$tm_file arm/symbian-lib.h"
  434. + # Symbian OS provides its own startup code.
  435. + ;;
  436. + esac
  437. + tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
  438. + extra_parts="$extra_parts crtfastmath.o"
  439. + unwind_header=config/arm/unwind-arm.h
  440. + ;;
  441. +avr-*-rtems*)
  442. + tmake_file="$tmake_file avr/t-avr avr/t-rtems t-fpbit"
  443. + tm_file="$tm_file avr/avr-lib.h"
  444. + # Don't use default.
  445. + extra_parts=
  446. + ;;
  447. +avr-*-*)
  448. + # Make HImode functions for AVR
  449. + tmake_file="${cpu_type}/t-avr t-fpbit"
  450. + if test x${with_avrlibc} != xno; then
  451. + tmake_file="$tmake_file ${cpu_type}/t-avrlibc"
  452. + fi
  453. + tm_file="$tm_file avr/avr-lib.h"
  454. + ;;
  455. +bfin*-elf*)
  456. + tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit"
  457. + extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o crtlibid.o"
  458. + ;;
  459. +bfin*-uclinux*)
  460. + tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-libgcc-pic t-fdpbit"
  461. + extra_parts="$extra_parts crtbeginS.o crtendS.o crtlibid.o"
  462. + md_unwind_header=bfin/linux-unwind.h
  463. + ;;
  464. +bfin*-linux-uclibc*)
  465. + tmake_file="$tmake_file bfin/t-bfin bfin/t-crtstuff t-libgcc-pic t-fdpbit bfin/t-linux"
  466. + # No need to build crtbeginT.o on uClibc systems. Should probably
  467. + # be moved to the OS specific section above.
  468. + extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
  469. + md_unwind_header=bfin/linux-unwind.h
  470. + ;;
  471. +bfin*-rtems*)
  472. + tmake_file="$tmake_file bfin/t-bfin t-fdpbit"
  473. + extra_parts="$extra_parts crti.o crtn.o"
  474. + ;;
  475. +bfin*-*)
  476. + tmake_file="$tmake_file bfin/t-bfin t-fdpbit"
  477. + extra_parts="crtbegin.o crtend.o crti.o crtn.o"
  478. + ;;
  479. +cr16-*-elf)
  480. + tmake_file="${tmake_file} cr16/t-cr16 cr16/t-crtlibid t-fdpbit"
  481. + extra_parts="$extra_parts crti.o crtn.o crtlibid.o"
  482. + ;;
  483. +crisv32-*-elf)
  484. + tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp"
  485. + ;;
  486. +cris-*-elf)
  487. + tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp cris/t-elfmulti"
  488. + ;;
  489. +cris-*-linux* | crisv32-*-linux*)
  490. + tmake_file="$tmake_file cris/t-cris t-softfp-sfdf t-softfp cris/t-linux"
  491. + ;;
  492. +epiphany-*-elf*)
  493. + tmake_file="epiphany/t-epiphany t-fdpbit epiphany/t-custom-eqsf"
  494. + extra_parts="$extra_parts crti.o crtint.o crtrunc.o crtm1reg-r43.o crtm1reg-r63.o crtn.o"
  495. + ;;
  496. +fr30-*-elf)
  497. + tmake_file="$tmake_file fr30/t-fr30 t-fdpbit"
  498. + extra_parts="$extra_parts crti.o crtn.o"
  499. + ;;
  500. +frv-*-elf)
  501. + tmake_file="$tmake_file frv/t-frv t-fdpbit"
  502. + tm_file="$tm_file frv/elf-lib.h frv/frv-abi.h"
  503. + # Don't use crtbegin.o, crtend.o.
  504. + extra_parts="frvbegin.o frvend.o"
  505. + ;;
  506. +frv-*-*linux*)
  507. + tmake_file="$tmake_file frv/t-frv frv/t-linux t-fdpbit"
  508. + tm_file="$tm_file frv/elf-lib.h frv/frv-abi.h"
  509. + ;;
  510. +ft32-*-elf)
  511. + tmake_file="ft32/t-ft32 t-softfp-sfdf t-softfp-excl t-softfp"
  512. + extra_parts="$extra_parts crti.o crti-hw.o crtn.o"
  513. + ;;
  514. +h8300-*-rtems*)
  515. + tmake_file="$tmake_file h8300/t-h8300 t-fpbit"
  516. + tm_file="$tm_file h8300/h8300-lib.h"
  517. + extra_parts="$extra_parts crti.o crtn.o"
  518. + ;;
  519. +h8300-*-elf*)
  520. + tmake_file="$tmake_file h8300/t-h8300 t-fpbit"
  521. + tm_file="$tm_file h8300/h8300-lib.h"
  522. + extra_parts="$extra_parts crti.o crtn.o"
  523. + ;;
  524. +h8300-*-linux*)
  525. + tmake_file="t-linux h8300/t-linux t-softfp-sfdf t-softfp"
  526. + tm_file="$tm_file h8300/h8300-lib.h"
  527. + ;;
  528. +hppa*64*-*-linux*)
  529. + tmake_file="$tmake_file pa/t-linux pa/t-linux64"
  530. + extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
  531. + ;;
  532. +hppa*-*-linux*)
  533. + tmake_file="$tmake_file pa/t-linux t-slibgcc-libgcc"
  534. + # Set the libgcc version number
  535. + if test x$ac_cv_sjlj_exceptions = xyes; then
  536. + tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
  537. + else
  538. + tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
  539. + fi
  540. + extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
  541. + md_unwind_header=pa/linux-unwind.h
  542. + ;;
  543. +hppa[12]*-*-hpux10*)
  544. + tmake_file="$tmake_file pa/t-hpux pa/t-hpux10 t-libgcc-pic t-slibgcc"
  545. + # Set the libgcc version number
  546. + if test x$ac_cv_sjlj_exceptions = xyes; then
  547. + tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
  548. + else
  549. + tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
  550. + fi
  551. + tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
  552. + md_unwind_header=pa/hpux-unwind.h
  553. + ;;
  554. +hppa*64*-*-hpux11*)
  555. + tmake_file="$tmake_file pa/t-hpux pa/t-pa64 pa/t-stublib t-libgcc-pic t-slibgcc"
  556. + # Set the libgcc version number
  557. + if test x$ac_cv_sjlj_exceptions = xyes; then
  558. + tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
  559. + else
  560. + tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
  561. + fi
  562. + tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
  563. + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o \
  564. + libgcc_stub.a"
  565. + md_unwind_header=pa/hpux-unwind.h
  566. + ;;
  567. +hppa[12]*-*-hpux11*)
  568. + tmake_file="$tmake_file pa/t-hpux pa/t-stublib t-libgcc-pic t-slibgcc"
  569. + # Set the libgcc version number
  570. + if test x$ac_cv_sjlj_exceptions = xyes; then
  571. + tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
  572. + else
  573. + tmake_file="$tmake_file pa/t-slibgcc-dwarf-ver"
  574. + fi
  575. + tmake_file="$tmake_file pa/t-slibgcc-hpux t-slibgcc-hpux"
  576. + extra_parts="libgcc_stub.a"
  577. + md_unwind_header=pa/hpux-unwind.h
  578. + ;;
  579. +hppa*-*-openbsd*)
  580. + tmake_file="$tmake_file pa/t-openbsd"
  581. + ;;
  582. +i[34567]86-*-darwin*)
  583. + tmake_file="$tmake_file i386/t-crtpc t-crtfm"
  584. + tm_file="$tm_file i386/darwin-lib.h"
  585. + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
  586. + ;;
  587. +x86_64-*-darwin*)
  588. + tmake_file="$tmake_file i386/t-crtpc t-crtfm"
  589. + tm_file="$tm_file i386/darwin-lib.h"
  590. + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
  591. + ;;
  592. +i[34567]86-*-elfiamcu)
  593. + tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdftf i386/32/t-softfp i386/32/t-iamcu i386/t-softfp t-softfp t-dfprules"
  594. + ;;
  595. +i[34567]86-*-elf*)
  596. + tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
  597. + ;;
  598. +x86_64-*-elf* | x86_64-*-rtems*)
  599. + tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
  600. + ;;
  601. +i[34567]86-*-dragonfly*)
  602. + tmake_file="${tmake_file} i386/t-dragonfly i386/t-crtstuff"
  603. + md_unwind_header=i386/dragonfly-unwind.h
  604. + ;;
  605. +x86_64-*-dragonfly*)
  606. + tmake_file="${tmake_file} i386/t-dragonfly i386/t-crtstuff"
  607. + md_unwind_header=i386/dragonfly-unwind.h
  608. + ;;
  609. +i[34567]86-*-freebsd*)
  610. + tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
  611. + md_unwind_header=i386/freebsd-unwind.h
  612. + ;;
  613. +x86_64-*-freebsd*)
  614. + tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
  615. + md_unwind_header=i386/freebsd-unwind.h
  616. + ;;
  617. +i[34567]86-*-netbsdelf*)
  618. + ;;
  619. +x86_64-*-netbsd*)
  620. + tmake_file="${tmake_file} i386/t-crtstuff"
  621. + ;;
  622. +i[34567]86-*-openbsd2.*|i[34567]86-*openbsd3.[0123])
  623. + ;;
  624. +i[34567]86-*-openbsd*)
  625. + ;;
  626. +x86_64-*-openbsd*)
  627. + ;;
  628. +i[34567]86-*-linux*)
  629. + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
  630. + tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
  631. + tm_file="${tm_file} i386/elf-lib.h"
  632. + md_unwind_header=i386/linux-unwind.h
  633. + ;;
  634. +i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu)
  635. + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
  636. + tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
  637. + tm_file="${tm_file} i386/elf-lib.h"
  638. + ;;
  639. +x86_64-*-linux*)
  640. + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
  641. + tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
  642. + tm_file="${tm_file} i386/elf-lib.h"
  643. + md_unwind_header=i386/linux-unwind.h
  644. + ;;
  645. +x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu)
  646. + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
  647. + tmake_file="${tmake_file} i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
  648. + tm_file="${tm_file} i386/elf-lib.h"
  649. + ;;
  650. +i[34567]86-pc-msdosdjgpp*)
  651. + ;;
  652. +i[34567]86-*-lynxos*)
  653. + ;;
  654. +i[34567]86-*-nto-qnx*)
  655. + tmake_file="$tmake_file i386/t-nto t-libgcc-pic"
  656. + extra_parts=crtbegin.o
  657. + ;;
  658. +i[34567]86-*-rtems*)
  659. + tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdf t-softfp"
  660. + extra_parts="$extra_parts crti.o crtn.o"
  661. + ;;
  662. +i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*)
  663. + tmake_file="$tmake_file i386/t-crtpc t-crtfm"
  664. + extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
  665. + tm_file="${tm_file} i386/elf-lib.h"
  666. + md_unwind_header=i386/sol2-unwind.h
  667. + ;;
  668. +i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
  669. + ;;
  670. +i[34567]86-*-cygwin*)
  671. + extra_parts="crtbegin.o crtbeginS.o crtend.o crtfastmath.o"
  672. + if test x$enable_vtable_verify = xyes; then
  673. + extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
  674. + fi
  675. + # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
  676. + if test x$ac_cv_sjlj_exceptions = xyes; then
  677. + tmake_eh_file="i386/t-sjlj-eh"
  678. + else
  679. + tmake_eh_file="i386/t-dw2-eh"
  680. + fi
  681. + # Shared libgcc DLL install dir depends on cross/native build.
  682. + if test x${build} = x${host} ; then
  683. + tmake_dlldir_file="i386/t-dlldir"
  684. + else
  685. + tmake_dlldir_file="i386/t-dlldir-x"
  686. + fi
  687. + tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin t-crtfm i386/t-chkstk t-dfprules"
  688. + ;;
  689. +x86_64-*-cygwin*)
  690. + extra_parts="crtbegin.o crtbeginS.o crtend.o crtfastmath.o"
  691. + if test x$enable_vtable_verify = xyes; then
  692. + extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
  693. + fi
  694. + # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
  695. + if test x$ac_cv_sjlj_exceptions = xyes; then
  696. + tmake_eh_file="i386/t-sjlj-eh"
  697. + else
  698. + tmake_eh_file="i386/t-seh-eh"
  699. + fi
  700. + # Shared libgcc DLL install dir depends on cross/native build.
  701. + if test x${build} = x${host} ; then
  702. + tmake_dlldir_file="i386/t-dlldir"
  703. + else
  704. + tmake_dlldir_file="i386/t-dlldir-x"
  705. + fi
  706. + # FIXME - dj - t-chkstk used to be in here, need a 64-bit version of that
  707. + tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-cygwin t-crtfm t-dfprules i386/t-chkstk"
  708. + ;;
  709. +i[34567]86-*-mingw*)
  710. + extra_parts="crtbegin.o crtend.o crtfastmath.o"
  711. + if test x$enable_vtable_verify = xyes; then
  712. + extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
  713. + fi
  714. + case ${target_thread_file} in
  715. + win32)
  716. + tmake_file="$tmake_file i386/t-gthr-win32"
  717. + ;;
  718. + posix)
  719. + tmake_file="i386/t-mingw-pthread $tmake_file"
  720. + ;;
  721. + esac
  722. + # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
  723. + if test x$ac_cv_sjlj_exceptions = xyes; then
  724. + tmake_eh_file="i386/t-sjlj-eh"
  725. + else
  726. + tmake_eh_file="i386/t-dw2-eh"
  727. + md_unwind_header=i386/w32-unwind.h
  728. + fi
  729. + # Shared libgcc DLL install dir depends on cross/native build.
  730. + if test x${build} = x${host} ; then
  731. + tmake_dlldir_file="i386/t-dlldir"
  732. + else
  733. + tmake_dlldir_file="i386/t-dlldir-x"
  734. + fi
  735. + tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-mingw32 t-crtfm i386/t-chkstk t-dfprules"
  736. + ;;
  737. +x86_64-*-mingw*)
  738. + case ${target_thread_file} in
  739. + win32)
  740. + tmake_file="$tmake_file i386/t-gthr-win32"
  741. + ;;
  742. + posix)
  743. + tmake_file="i386/t-mingw-pthread $tmake_file"
  744. + ;;
  745. + esac
  746. + # This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
  747. + if test x$ac_cv_sjlj_exceptions = xyes; then
  748. + tmake_eh_file="i386/t-sjlj-eh"
  749. + else
  750. + tmake_eh_file="i386/t-seh-eh"
  751. + fi
  752. + # Shared libgcc DLL install dir depends on cross/native build.
  753. + if test x${build} = x${host} ; then
  754. + tmake_dlldir_file="i386/t-dlldir"
  755. + else
  756. + tmake_dlldir_file="i386/t-dlldir-x"
  757. + fi
  758. + tmake_file="${tmake_file} ${tmake_eh_file} ${tmake_dlldir_file} i386/t-slibgcc-cygming i386/t-cygming i386/t-mingw32 t-dfprules t-crtfm i386/t-chkstk"
  759. + extra_parts="$extra_parts crtbegin.o crtend.o crtfastmath.o"
  760. + if test x$enable_vtable_verify = xyes; then
  761. + extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o"
  762. + fi
  763. + ;;
  764. +i[34567]86-*-interix[3-9]*)
  765. + tmake_file="$tmake_file i386/t-interix i386/t-chkstk"
  766. + ;;
  767. +ia64*-*-elf*)
  768. + extra_parts="$extra_parts crtbeginS.o crtendS.o crtfastmath.o"
  769. + tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm"
  770. + ;;
  771. +ia64*-*-freebsd*)
  772. + extra_parts="$extra_parts crtfastmath.o"
  773. + tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm"
  774. + ;;
  775. +ia64*-*-linux*)
  776. + # Don't use crtbeginT.o from *-*-linux* default.
  777. + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtfastmath.o"
  778. + tmake_file="$tmake_file ia64/t-ia64 ia64/t-ia64-elf t-crtfm t-softfp-tf ia64/t-softfp t-softfp ia64/t-softfp-compat ia64/t-eh-ia64 t-libunwind ia64/t-linux"
  779. + if test x$with_system_libunwind != xyes ; then
  780. + tmake_file="${tmake_file} t-libunwind-elf ia64/t-linux-libunwind"
  781. + fi
  782. + md_unwind_header=ia64/linux-unwind.h
  783. + ;;
  784. +ia64*-*-hpux*)
  785. + tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-hpux t-slibgcc ia64/t-slibgcc-hpux t-slibgcc-hpux"
  786. + ;;
  787. +ia64-hp-*vms*)
  788. + tmake_file="$tmake_file ia64/t-ia64 ia64/t-eh-ia64 ia64/t-vms t-slibgcc-vms"
  789. + extra_parts="$extra_parts crtinitS.o"
  790. + md_unwind_header=ia64/vms-unwind.h
  791. + ;;
  792. +iq2000*-*-elf*)
  793. + tmake_file="iq2000/t-iq2000 t-fdpbit"
  794. + # Don't use default.
  795. + extra_parts=
  796. + ;;
  797. +lm32-*-elf*)
  798. + extra_parts="$extra_parts crti.o crtn.o"
  799. + tmake_file="lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp"
  800. + ;;
  801. +lm32-*-rtems*)
  802. + tmake_file="$tmake_file lm32/t-lm32 lm32/t-elf t-softfp-sfdf t-softfp"
  803. + extra_parts="$extra_parts crti.o crtn.o"
  804. + ;;
  805. +lm32-*-uclinux*)
  806. + extra_parts="$extra_parts crtbegin.o crtendS.o crtbeginT.o"
  807. + tmake_file="lm32/t-lm32 lm32/t-uclinux t-libgcc-pic t-softfp-sfdf t-softfp"
  808. + ;;
  809. +m32r-*-elf*)
  810. + tmake_file=t-fdpbit
  811. + ;;
  812. +m32r-*-rtems*)
  813. + tmake_file="$tmake_file m32r/t-m32r t-fdpbit"
  814. + extra_parts="$extra_parts crtinit.o crtfini.o"
  815. + ;;
  816. +m32rle-*-elf*)
  817. + tmake_file=t-fdpbit
  818. + ;;
  819. +m32r-*-linux*)
  820. + tmake_file="$tmake_file m32r/t-linux t-fdpbit"
  821. + ;;
  822. +m32rle-*-linux*)
  823. + tmake_file="$tmake_file m32r/t-linux t-fdpbit"
  824. + ;;
  825. +m68k-*-elf* | fido-*-elf)
  826. + tmake_file="$tmake_file m68k/t-floatlib"
  827. + ;;
  828. +m68k*-*-netbsdelf*)
  829. + ;;
  830. +m68k*-*-openbsd*)
  831. + ;;
  832. +m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux with uClibc
  833. + tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
  834. + md_unwind_header=m68k/linux-unwind.h
  835. + ;;
  836. +m68k-*-linux*) # Motorola m68k's running GNU/Linux
  837. + # with ELF format using glibc 2
  838. + # aka the GNU/Linux C library 6.
  839. + tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
  840. + # If not configured with setjmp/longjmp exceptions, bump the
  841. + # libgcc version number.
  842. + if test x$ac_cv_sjlj_exceptions != xyes; then
  843. + tmake_file="$tmake_file m68k/t-slibgcc-elf-ver"
  844. + fi
  845. + md_unwind_header=m68k/linux-unwind.h
  846. + ;;
  847. +m68k-*-rtems*)
  848. + tmake_file="$tmake_file m68k/t-floatlib"
  849. + extra_parts="$extra_parts crti.o crtn.o"
  850. + ;;
  851. +mcore-*-elf)
  852. + tmake_file="mcore/t-mcore t-fdpbit"
  853. + extra_parts="$extra_parts crti.o crtn.o"
  854. + ;;
  855. +microblaze*-linux*)
  856. + tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit t-slibgcc-libgcc"
  857. + ;;
  858. +microblaze*-*-elf)
  859. + tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit"
  860. + extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o crti.o crtn.o"
  861. + ;;
  862. +microblaze*-*-rtems*)
  863. + tmake_file="${tmake_file} microblaze/t-microblaze t-fdpbit"
  864. + extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o crti.o crtn.o"
  865. + ;;
  866. +mips*-*-netbsd*) # NetBSD/mips, either endian.
  867. + ;;
  868. +mips*-*-linux*) # Linux MIPS, either endian.
  869. + extra_parts="$extra_parts crtfastmath.o"
  870. + tmake_file="${tmake_file} t-crtfm"
  871. + case ${host} in
  872. + mips64r5900* | mipsr5900*)
  873. + # The MIPS16 support code uses floating point
  874. + # instructions that are not supported on r5900.
  875. + ;;
  876. + *)
  877. + tmake_file="${tmake_file} mips/t-mips16 t-slibgcc-libgcc"
  878. + ;;
  879. + esac
  880. + md_unwind_header=mips/linux-unwind.h
  881. + ;;
  882. +mips*-sde-elf*)
  883. + tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
  884. + case "${with_newlib}" in
  885. + yes)
  886. + # newlib / libgloss.
  887. + ;;
  888. + *)
  889. + # MIPS toolkit libraries.
  890. + tmake_file="$tmake_file mips/t-sdemtk"
  891. + ;;
  892. + esac
  893. + extra_parts="$extra_parts crti.o crtn.o"
  894. + ;;
  895. +mipsisa32-*-elf* | mipsisa32el-*-elf* | \
  896. +mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
  897. +mipsisa32r6-*-elf* | mipsisa32r6el-*-elf* | \
  898. +mipsisa64-*-elf* | mipsisa64el-*-elf* | \
  899. +mipsisa64r2-*-elf* | mipsisa64r2el-*-elf* | \
  900. +mipsisa64r6-*-elf* | mipsisa64r6el-*-elf*)
  901. + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
  902. + extra_parts="$extra_parts crti.o crtn.o"
  903. + ;;
  904. +mipsisa64sr71k-*-elf*)
  905. + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff t-fdpbit"
  906. + extra_parts="$extra_parts crti.o crtn.o"
  907. + ;;
  908. +mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
  909. + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
  910. + extra_parts="$extra_parts crti.o crtn.o"
  911. + ;;
  912. +mips-*-elf* | mipsel-*-elf*)
  913. + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
  914. + extra_parts="$extra_parts crti.o crtn.o"
  915. + ;;
  916. +mipsr5900-*-elf* | mipsr5900el-*-elf*)
  917. + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff"
  918. + extra_parts="$extra_parts crti.o crtn.o"
  919. + ;;
  920. +mips64-*-elf* | mips64el-*-elf*)
  921. + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
  922. + extra_parts="$extra_parts crti.o crtn.o"
  923. + ;;
  924. +mips64r5900-*-elf* | mips64r5900el-*-elf*)
  925. + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff"
  926. + extra_parts="$extra_parts crti.o crtn.o"
  927. + ;;
  928. +mips64vr-*-elf* | mips64vrel-*-elf*)
  929. + tmake_file="$tmake_file mips/t-elf mips/t-vr mips/t-crtstuff"
  930. + extra_parts="$extra_parts crti.o crtn.o"
  931. + ;;
  932. +mips64orion-*-elf* | mips64orionel-*-elf*)
  933. + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
  934. + extra_parts="$extra_parts crti.o crtn.o"
  935. + ;;
  936. +mips*-*-rtems*)
  937. + tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
  938. + extra_parts="$extra_parts crti.o crtn.o"
  939. + ;;
  940. +mips-wrs-vxworks)
  941. + ;;
  942. +mipstx39-*-elf* | mipstx39el-*-elf*)
  943. + tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
  944. + ;;
  945. +mmix-knuth-mmixware)
  946. + extra_parts="crti.o crtn.o crtbegin.o crtend.o"
  947. + tmake_file="${tmake_file} ${cpu_type}/t-${cpu_type}"
  948. + ;;
  949. +mn10300-*-*)
  950. + tmake_file=t-fdpbit
  951. + ;;
  952. +moxie-*-elf | moxie-*-moxiebox* | moxie-*-uclinux* | moxie-*-rtems*)
  953. + tmake_file="$tmake_file moxie/t-moxie t-softfp-sfdf t-softfp-excl t-softfp"
  954. + extra_parts="$extra_parts crti.o crtn.o crtbegin.o crtend.o"
  955. + ;;
  956. +msp430*-*-elf)
  957. + tmake_file="$tm_file t-crtstuff t-fdpbit msp430/t-msp430"
  958. + extra_parts="$extra_parts libmul_none.a libmul_16.a libmul_32.a libmul_f5.a"
  959. + ;;
  960. +nds32*-elf*)
  961. + # Basic makefile fragment and extra_parts for crt stuff.
  962. + # We also append c-isr library implementation.
  963. + tmake_file="${tmake_file} nds32/t-nds32 nds32/t-nds32-isr"
  964. + extra_parts="crtbegin1.o crtend1.o libnds32_isr.a"
  965. + # Append library definition makefile fragment according to --with-nds32-lib=X setting.
  966. + case "${with_nds32_lib}" in
  967. + "" | newlib)
  968. + # Append library definition makefile fragment t-nds32-newlib.
  969. + # Append 'soft-fp' software floating point make rule fragment provided by gcc.
  970. + tmake_file="${tmake_file} nds32/t-nds32-newlib t-softfp-sfdf t-softfp"
  971. + ;;
  972. + mculib)
  973. + # Append library definition makefile fragment t-nds32-mculib.
  974. + # The software floating point library is included in mculib.
  975. + tmake_file="${tmake_file} nds32/t-nds32-mculib"
  976. + ;;
  977. + *)
  978. + echo "Cannot accept --with-nds32-lib=$with_nds32_lib, available values are: newlib mculib" 1>&2
  979. + exit 1
  980. + ;;
  981. + esac
  982. + ;;
  983. +nios2-*-linux*)
  984. + tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc"
  985. + md_unwind_header=nios2/linux-unwind.h
  986. + ;;
  987. +nios2-*-*)
  988. + tmake_file="$tmake_file nios2/t-nios2 t-softfp-sfdf t-softfp-excl t-softfp"
  989. + extra_parts="$extra_parts crti.o crtn.o"
  990. + ;;
  991. +pdp11-*-*)
  992. + tmake_file="pdp11/t-pdp11 t-fdpbit"
  993. + ;;
  994. +powerpc-*-darwin*)
  995. + case ${host} in
  996. + *-*-darwin9* | *-*-darwin[12][0-9]*)
  997. + # libSystem contains unwind information for signal frames since
  998. + # Darwin 9.
  999. + ;;
  1000. + *)
  1001. + md_unwind_header=rs6000/darwin-unwind.h
  1002. + ;;
  1003. + esac
  1004. + tmake_file="$tmake_file rs6000/t-ibm-ldouble"
  1005. + extra_parts="$extra_parts crt2.o"
  1006. + ;;
  1007. +powerpc64-*-darwin*)
  1008. + tmake_file="$tmake_file rs6000/t-darwin64 rs6000/t-ibm-ldouble"
  1009. + extra_parts="$extra_parts crt2.o"
  1010. + ;;
  1011. +powerpc*-*-freebsd*)
  1012. + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-freebsd t-softfp-sfdf t-softfp-excl t-softfp"
  1013. + extra_parts="$extra_parts crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
  1014. + case ${host} in
  1015. + powerpc64*)
  1016. + tmake_file="${tmake_file} rs6000/t-freebsd64"
  1017. + md_unwind_header=rs6000/freebsd-unwind.h
  1018. + ;;
  1019. + esac
  1020. + ;;
  1021. +powerpc-*-netbsd*)
  1022. + tmake_file="$tmake_file rs6000/t-netbsd rs6000/t-crtstuff"
  1023. + ;;
  1024. +powerpc-*-eabispe*)
  1025. + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
  1026. + extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
  1027. + ;;
  1028. +powerpc-*-eabisimaltivec*)
  1029. + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
  1030. + extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
  1031. + ;;
  1032. +powerpc-*-eabisim*)
  1033. + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
  1034. + extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
  1035. + ;;
  1036. +powerpc-*-elf*)
  1037. + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
  1038. + extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
  1039. + ;;
  1040. +powerpc-*-eabialtivec*)
  1041. + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
  1042. + extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
  1043. + ;;
  1044. +powerpc-xilinx-eabi*)
  1045. + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
  1046. + extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
  1047. + ;;
  1048. +powerpc-*-eabi*)
  1049. + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
  1050. + extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
  1051. + ;;
  1052. +powerpc-*-rtems*)
  1053. + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
  1054. + extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
  1055. + ;;
  1056. +powerpc*-*-linux*)
  1057. + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-savresfgpr rs6000/t-crtstuff rs6000/t-linux t-dfprules rs6000/t-ppc64-fp t-slibgcc-libgcc"
  1058. + tmake_file="${tmake_file} t-stack rs6000/t-stack-rs6000"
  1059. + case $ppc_fp_type in
  1060. + 64)
  1061. + ;;
  1062. + hard)
  1063. + tmake_file="${tmake_file} t-hardfp-sfdf t-hardfp"
  1064. + ;;
  1065. + soft)
  1066. + tmake_file="${tmake_file} t-softfp-sfdf ${ppc_fp_compat} t-softfp"
  1067. + ;;
  1068. + e500v1)
  1069. + tmake_file="${tmake_file} rs6000/t-e500v1-fp ${ppc_fp_compat} t-softfp t-hardfp"
  1070. + ;;
  1071. + e500v2)
  1072. + tmake_file="${tmake_file} t-hardfp-sfdf rs6000/t-e500v2-fp ${ppc_fp_compat} t-softfp t-hardfp"
  1073. + ;;
  1074. + *)
  1075. + echo "Unknown ppc_fp_type $ppc_fp_type" 1>&2
  1076. + exit 1
  1077. + ;;
  1078. + esac
  1079. +
  1080. + if test $libgcc_cv_powerpc_float128 = yes; then
  1081. + tmake_file="${tmake_file} rs6000/t-float128"
  1082. + fi
  1083. +
  1084. + if test $libgcc_cv_powerpc_float128_hw = yes; then
  1085. + tmake_file="${tmake_file} rs6000/t-float128-hw"
  1086. + fi
  1087. +
  1088. + extra_parts="$extra_parts ecrti.o ecrtn.o ncrti.o ncrtn.o"
  1089. + md_unwind_header=rs6000/linux-unwind.h
  1090. + ;;
  1091. +powerpc-wrs-vxworks|powerpc-wrs-vxworksae|powerpc-wrs-vxworksmils)
  1092. + tmake_file="$tmake_file rs6000/t-ppccomm rs6000/t-savresfgpr t-fdpbit"
  1093. + ;;
  1094. +powerpc-*-lynxos*)
  1095. + tmake_file="$tmake_file rs6000/t-lynx t-fdpbit"
  1096. + ;;
  1097. +powerpcle-*-elf*)
  1098. + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
  1099. + extra_parts="$extra_parts crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
  1100. + ;;
  1101. +powerpcle-*-eabisim*)
  1102. + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
  1103. + extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
  1104. + ;;
  1105. +powerpcle-*-eabi*)
  1106. + tmake_file="${tmake_file} rs6000/t-ppccomm rs6000/t-crtstuff t-crtstuff-pic t-fdpbit"
  1107. + extra_parts="$extra_parts crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o ecrti.o ecrtn.o ncrti.o ncrtn.o"
  1108. + ;;
  1109. +rs6000-ibm-aix4.[3456789]* | powerpc-ibm-aix4.[3456789]*)
  1110. + md_unwind_header=rs6000/aix-unwind.h
  1111. + tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble"
  1112. + ;;
  1113. +rs6000-ibm-aix5.1.* | powerpc-ibm-aix5.1.*)
  1114. + md_unwind_header=rs6000/aix-unwind.h
  1115. + tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble"
  1116. + ;;
  1117. +rs6000-ibm-aix[56789].* | powerpc-ibm-aix[56789].*)
  1118. + md_unwind_header=rs6000/aix-unwind.h
  1119. + tmake_file="t-fdpbit rs6000/t-ppc64-fp rs6000/t-slibgcc-aix rs6000/t-ibm-ldouble rs6000/t-aix-cxa"
  1120. + extra_parts="crtcxa.o crtcxa_s.o crtdbase.o"
  1121. + ;;
  1122. +rl78-*-elf)
  1123. + tmake_file="$tm_file t-fdpbit rl78/t-rl78"
  1124. + ;;
  1125. +rx-*-elf)
  1126. + tmake_file="rx/t-rx t-fdpbit"
  1127. + tm_file="$tm_file rx/rx-abi.h rx/rx-lib.h"
  1128. + ;;
  1129. +s390-*-linux*)
  1130. + tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux s390/32/t-floattodi t-stack s390/t-stack-s390"
  1131. + md_unwind_header=s390/linux-unwind.h
  1132. + ;;
  1133. +s390x-*-linux*)
  1134. + tmake_file="${tmake_file} s390/t-crtstuff s390/t-linux t-stack s390/t-stack-s390"
  1135. + if test "${host_address}" = 32; then
  1136. + tmake_file="${tmake_file} s390/32/t-floattodi"
  1137. + fi
  1138. + md_unwind_header=s390/linux-unwind.h
  1139. + ;;
  1140. +s390x-ibm-tpf*)
  1141. + tmake_file="${tmake_file} s390/t-crtstuff t-libgcc-pic t-eh-dw2-dip"
  1142. + extra_parts="crtbeginS.o crtendS.o"
  1143. + md_unwind_header=s390/tpf-unwind.h
  1144. + ;;
  1145. +sh-*-elf* | sh[12346l]*-*-elf*)
  1146. + tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
  1147. + extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \
  1148. + libic_invalidate_array_4-100.a \
  1149. + libic_invalidate_array_4-200.a \
  1150. + libic_invalidate_array_4a.a \
  1151. + libgcc-Os-4-200.a libgcc-4-300.a"
  1152. + case ${host} in sh64*-*-*)
  1153. + tmake_file="$tmake_file sh/t-sh64"
  1154. + ;;
  1155. + esac
  1156. + case ${host} in
  1157. + sh*-superh-elf)
  1158. + tmake_file="$tmake_file sh/t-superh"
  1159. + extra_parts="$extra_parts crt1-mmu.o gcrt1-mmu.o gcrt1.o"
  1160. + ;;
  1161. + esac
  1162. + ;;
  1163. +sh-*-linux* | sh[2346lbe]*-*-linux*)
  1164. + tmake_file="${tmake_file} sh/t-sh t-slibgcc-libgcc sh/t-linux t-fdpbit"
  1165. + case ${host} in sh64*-*-linux*)
  1166. + tmake_file="$tmake_file sh/t-sh64"
  1167. + ;;
  1168. + esac
  1169. + md_unwind_header=sh/linux-unwind.h
  1170. + ;;
  1171. +sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
  1172. + sh64-*-netbsd* | sh64l*-*-netbsd*)
  1173. + tmake_file="$tmake_file sh/t-sh sh/t-netbsd"
  1174. + case ${host} in
  1175. + sh5*-*-netbsd* | sh64*-netbsd*)
  1176. + tmake_file="$tmake_file sh/t-sh64"
  1177. + ;;
  1178. + esac
  1179. + # NetBSD's C library includes a fast software FP library that
  1180. + # has support for setting/setting the rounding mode, exception
  1181. + # mask, etc. Therefore, we don't want to include software FP
  1182. + # in libgcc.
  1183. + ;;
  1184. +sh-*-rtems*)
  1185. + tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
  1186. + extra_parts="$extra_parts crt1.o crti.o crtn.o crtbeginS.o crtendS.o \
  1187. + libic_invalidate_array_4-100.a \
  1188. + libic_invalidate_array_4-200.a \
  1189. + libic_invalidate_array_4a.a \
  1190. + libgcc-Os-4-200.a libgcc-4-300.a"
  1191. + ;;
  1192. +sh-wrs-vxworks)
  1193. + tmake_file="$tmake_file sh/t-sh t-crtstuff-pic t-fdpbit"
  1194. + ;;
  1195. +sparc-*-netbsdelf*)
  1196. + ;;
  1197. +sparc64-*-openbsd*)
  1198. + ;;
  1199. +sparc-*-elf*)
  1200. + case ${host} in
  1201. + *-leon[3-9]*)
  1202. + ;;
  1203. + *)
  1204. + tmake_file="sparc/t-softmul"
  1205. + ;;
  1206. + esac
  1207. + tmake_file="${tmake_file} t-fdpbit t-crtfm"
  1208. + extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
  1209. + ;;
  1210. +sparc-*-linux*) # SPARC's running GNU/Linux, libc6
  1211. + tmake_file="${tmake_file} t-crtfm"
  1212. + if test "${host_address}" = 64; then
  1213. + tmake_file="$tmake_file sparc/t-linux64"
  1214. + fi
  1215. + case ${host} in
  1216. + *-leon*)
  1217. + tmake_file="${tmake_file} t-fdpbit"
  1218. + ;;
  1219. + *)
  1220. + tmake_file="${tmake_file} sparc/t-linux"
  1221. + ;;
  1222. + esac
  1223. + case ${host} in
  1224. + *-leon[3-9]*)
  1225. + ;;
  1226. + *)
  1227. + if test "${host_address}" = 32; then
  1228. + tmake_file="$tmake_file sparc/t-softmul"
  1229. + fi
  1230. + ;;
  1231. + esac
  1232. + extra_parts="$extra_parts crtfastmath.o"
  1233. + md_unwind_header=sparc/linux-unwind.h
  1234. + ;;
  1235. +sparc-*-rtems*)
  1236. + tmake_file="$tmake_file sparc/t-elf sparc/t-softmul t-crtfm t-fdpbit"
  1237. + extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
  1238. + ;;
  1239. +sparc*-*-solaris2*)
  1240. + tmake_file="$tmake_file t-crtfm"
  1241. + extra_parts="$extra_parts crtfastmath.o"
  1242. + md_unwind_header=sparc/sol2-unwind.h
  1243. + ;;
  1244. +sparc64-*-elf*)
  1245. + tmake_file="${tmake_file} t-crtfm"
  1246. + extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
  1247. + ;;
  1248. +sparc64-*-rtems*)
  1249. + tmake_file="$tmake_file t-crtfm"
  1250. + extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
  1251. + ;;
  1252. +sparc-wrs-vxworks)
  1253. + ;;
  1254. +sparc64-*-freebsd*|ultrasparc-*-freebsd*)
  1255. + tmake_file="$tmake_file t-crtfm"
  1256. + extra_parts="$extra_parts crtfastmath.o"
  1257. + ;;
  1258. +sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
  1259. + extra_parts="$extra_parts crtfastmath.o"
  1260. + tmake_file="${tmake_file} t-crtfm sparc/t-linux"
  1261. + if test "${host_address}" = 64; then
  1262. + tmake_file="${tmake_file} sparc/t-linux64"
  1263. + fi
  1264. + if test "${host_address}" = 32; then
  1265. + tmake_file="${tmake_file} sparc/t-softmul"
  1266. + fi
  1267. + md_unwind_header=sparc/linux-unwind.h
  1268. + ;;
  1269. +sparc64-*-netbsd*)
  1270. + ;;
  1271. +spu-*-elf*)
  1272. + tmake_file="$tmake_file spu/t-elf t-libgcc-pic t-fdpbit"
  1273. + extra_parts="$extra_parts \
  1274. + libgcc_cachemgr.a libgcc_cachemgr_nonatomic.a \
  1275. + libgcc_cache8k.a libgcc_cache16k.a libgcc_cache32k.a \
  1276. + libgcc_cache64k.a libgcc_cache128k.a"
  1277. + ;;
  1278. +tic6x-*-uclinux)
  1279. + tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp \
  1280. + c6x/t-elf c6x/t-uclinux t-crtstuff-pic t-libgcc-pic \
  1281. + t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-gnu-prefix"
  1282. + tm_file="$tm_file c6x/c6x-abi.h"
  1283. + extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o"
  1284. + unwind_header=config/c6x/unwind-c6x.h
  1285. + ;;
  1286. +tic6x-*-elf)
  1287. + tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp t-gnu-prefix c6x/t-elf"
  1288. + tm_file="$tm_file c6x/c6x-abi.h"
  1289. + extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o"
  1290. + unwind_header=config/c6x/unwind-c6x.h
  1291. + ;;
  1292. +tilegx*-*-linux*)
  1293. + if test "${host_address}" = 64; then
  1294. + tmake_file="${tmake_file} tilegx/t-softfp"
  1295. + fi
  1296. + tmake_file="${tmake_file} tilegx/t-crtstuff t-softfp-sfdf t-softfp tilegx/t-tilegx"
  1297. + md_unwind_header=tilepro/linux-unwind.h
  1298. + ;;
  1299. +tilepro*-*-linux*)
  1300. + tmake_file="${tmake_file} tilepro/t-crtstuff t-softfp-sfdf t-softfp tilepro/t-tilepro"
  1301. + md_unwind_header=tilepro/linux-unwind.h
  1302. + ;;
  1303. +v850*-*-*)
  1304. + tmake_file="${tmake_file} v850/t-v850 t-fdpbit"
  1305. + ;;
  1306. +vax-*-linux*)
  1307. + tmake_file="$tmake_file vax/t-linux"
  1308. + ;;
  1309. +vax-*-netbsdelf*)
  1310. + ;;
  1311. +vax-*-openbsd*)
  1312. + ;;
  1313. +visium-*-elf*)
  1314. + extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
  1315. + tmake_file="visium/t-visium t-fdpbit"
  1316. + ;;
  1317. +xstormy16-*-elf)
  1318. + tmake_file="stormy16/t-stormy16 t-fdpbit"
  1319. + ;;
  1320. +xtensa*-*-elf*)
  1321. + tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-elf"
  1322. + extra_parts="$extra_parts crti.o crtn.o"
  1323. + ;;
  1324. +xtensa*-*-linux*)
  1325. + tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
  1326. + md_unwind_header=xtensa/linux-unwind.h
  1327. + ;;
  1328. +xtensa*-*-uclinux*)
  1329. + tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
  1330. + md_unwind_header=xtensa/linux-unwind.h
  1331. + extra_parts="$extra_parts crtbeginS.o crtbeginT.o crtendS.o"
  1332. + ;;
  1333. +am33_2.0-*-linux*)
  1334. + # Don't need crtbeginT.o from *-*-linux* default.
  1335. + extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
  1336. + tmake_file="$tmake_file t-fdpbit"
  1337. + ;;
  1338. +m32c-*-elf*|m32c-*-rtems*)
  1339. + tmake_file="$tmake_file m32c/t-m32c"
  1340. + ;;
  1341. +mep*-*-*)
  1342. + tmake_file="mep/t-mep t-fdpbit"
  1343. + extra_parts="crtbegin.o crtend.o"
  1344. + ;;
  1345. +nvptx-*)
  1346. + tmake_file="$tmake_file nvptx/t-nvptx"
  1347. + extra_parts="crt0.o"
  1348. + ;;
  1349. +*)
  1350. + echo "*** Configuration ${host} not supported" 1>&2
  1351. + exit 1
  1352. + ;;
  1353. +esac
  1354. +
  1355. +case ${host} in
  1356. +i[34567]86-*-* | x86_64-*-*)
  1357. + tmake_file="${tmake_file} i386/t-cpuinfo"
  1358. + ;;
  1359. +esac
  1360. +
  1361. +case ${host} in
  1362. +i[34567]86-*-linux* | x86_64-*-linux* | \
  1363. + i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
  1364. + i[34567]86-*-knetbsd*-gnu | \
  1365. + i[34567]86-*-gnu*)
  1366. + tmake_file="${tmake_file} t-tls i386/t-linux t-slibgcc-libgcc"
  1367. + if test "$libgcc_cv_cfi" = "yes"; then
  1368. + tmake_file="${tmake_file} t-stack i386/t-stack-i386"
  1369. + fi
  1370. + ;;
  1371. +esac
  1372. +
  1373. +case ${host} in
  1374. +i[34567]86-*-darwin* | x86_64-*-darwin* | \
  1375. + i[34567]86-*-kfreebsd*-gnu | x86_64-*-kfreebsd*-gnu | \
  1376. + i[34567]86-*-linux* | x86_64-*-linux* | \
  1377. + i[34567]86-*-msdosdjgpp* | \
  1378. + i[34567]86-*-gnu* | \
  1379. + i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]* | \
  1380. + i[34567]86-*-cygwin* | x86_64-*-cygwin* | \
  1381. + i[34567]86-*-mingw* | x86_64-*-mingw* | \
  1382. + i[34567]86-*-dragonfly* | x86_64-*-dragonfly* | \
  1383. + i[34567]86-*-freebsd* | x86_64-*-freebsd* | \
  1384. + i[34567]86-*-openbsd* | x86_64-*-openbsd*)
  1385. + tmake_file="${tmake_file} t-softfp-tf"
  1386. + if test "${host_address}" = 32; then
  1387. + tmake_file="${tmake_file} i386/${host_address}/t-softfp"
  1388. + fi
  1389. + tmake_file="${tmake_file} i386/t-softfp t-softfp"
  1390. + ;;
  1391. +esac
  1392. +
  1393. +case ${host} in
  1394. +i[34567]86-*-linux* | x86_64-*-linux*)
  1395. + # Provide backward binary compatibility for 64bit Linux/x86.
  1396. + if test "${host_address}" = 64; then
  1397. + tmake_file="${tmake_file} i386/${host_address}/t-softfp-compat"
  1398. + fi
  1399. + tm_file="${tm_file} i386/value-unwind.h"
  1400. + ;;
  1401. +esac