100-uclibc-conf.patch 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722
  1. diff -urN binutils-2.15.91.0.2-dist/bfd/config.bfd binutils-2.15.91.0.2/bfd/config.bfd
  2. --- binutils-2.15.91.0.2-dist/bfd/config.bfd 2004-07-27 23:36:07.000000000 -0500
  3. +++ binutils-2.15.91.0.2/bfd/config.bfd 2004-09-28 14:33:13.000000000 -0500
  4. @@ -129,7 +129,7 @@
  5. targ_defvec=ecoffalpha_little_vec
  6. targ_selvecs=bfd_elf64_alpha_vec
  7. ;;
  8. - alpha*-*-linux-gnu* | alpha*-*-elf*)
  9. + alpha*-*-linux-gnu* | alpha*-*-linux-uclibc* | alpha*-*-elf*)
  10. targ_defvec=bfd_elf64_alpha_vec
  11. targ_selvecs=ecoffalpha_little_vec
  12. ;;
  13. @@ -139,7 +139,7 @@
  14. alpha*-*-*)
  15. targ_defvec=ecoffalpha_little_vec
  16. ;;
  17. - ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
  18. + ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-linux-uclibc* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
  19. targ_defvec=bfd_elf64_ia64_little_vec
  20. targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
  21. ;;
  22. @@ -216,7 +216,7 @@
  23. targ_defvec=bfd_elf32_littlearm_vec
  24. targ_selvecs=bfd_elf32_bigarm_vec
  25. ;;
  26. - armeb-*-elf | arm*b-*-linux-gnu*)
  27. + armeb-*-elf | arm*b-*-linux-gnu* | arm*b-*-linux-uclibc*)
  28. targ_defvec=bfd_elf32_bigarm_vec
  29. targ_selvecs=bfd_elf32_littlearm_vec
  30. ;;
  31. @@ -224,7 +224,7 @@
  32. targ_defvec=bfd_elf32_littlearm_vec
  33. targ_selvecs=bfd_elf32_bigarm_vec
  34. ;;
  35. - arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \
  36. + arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-linux-uclibc* | arm*-*-conix* | \
  37. arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks)
  38. targ_defvec=bfd_elf32_littlearm_vec
  39. targ_selvecs=bfd_elf32_bigarm_vec
  40. @@ -373,7 +373,7 @@
  41. ;;
  42. #ifdef BFD64
  43. - hppa*64*-*-linux-gnu*)
  44. + hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*)
  45. targ_defvec=bfd_elf64_hppa_linux_vec
  46. targ_selvecs=bfd_elf64_hppa_vec
  47. ;;
  48. @@ -384,7 +384,7 @@
  49. ;;
  50. #endif
  51. - hppa*-*-linux-gnu* | hppa*-*-netbsd*)
  52. + hppa*-*-linux-gnu* | hppa*-*-linux-uclibc* | hppa*-*-netbsd*)
  53. targ_defvec=bfd_elf32_hppa_linux_vec
  54. targ_selvecs=bfd_elf32_hppa_vec
  55. ;;
  56. @@ -507,7 +507,7 @@
  57. targ_selvecs=bfd_elf32_i386_vec
  58. targ_underscore=yes
  59. ;;
  60. - i[3-7]86-*-linux-gnu*)
  61. + i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
  62. targ_defvec=bfd_elf32_i386_vec
  63. targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
  64. targ64_selvecs=bfd_elf64_x86_64_vec
  65. @@ -521,7 +521,7 @@
  66. targ_defvec=bfd_elf64_x86_64_vec
  67. targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec"
  68. ;;
  69. - x86_64-*-linux-gnu*)
  70. + x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*)
  71. targ_defvec=bfd_elf64_x86_64_vec
  72. targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
  73. ;;
  74. @@ -696,7 +696,7 @@
  75. targ_selvecs=bfd_elf32_m68k_vec
  76. targ_underscore=yes
  77. ;;
  78. - m68*-*-linux-gnu*)
  79. + m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
  80. targ_defvec=bfd_elf32_m68k_vec
  81. targ_selvecs=m68klinux_vec
  82. ;;
  83. @@ -972,7 +972,8 @@
  84. ;;
  85. #endif
  86. powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
  87. - powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
  88. + powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-linux-uclibc* | \
  89. + powerpc-*-rtems* | \
  90. powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*)
  91. targ_defvec=bfd_elf32_powerpc_vec
  92. targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
  93. @@ -1009,8 +1010,8 @@
  94. targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
  95. ;;
  96. powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
  97. - powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
  98. - powerpcle-*-rtems*)
  99. + powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-linux-uclibc* |\
  100. + powerpcle-*-vxworks* | powerpcle-*-rtems*)
  101. targ_defvec=bfd_elf32_powerpcle_vec
  102. targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
  103. targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
  104. @@ -1177,7 +1178,7 @@
  105. targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
  106. targ_underscore=yes
  107. ;;
  108. - sparc-*-linux-gnu*)
  109. + sparc-*-linux-gnu* | sparc-*-linux-uclibc*)
  110. targ_defvec=bfd_elf32_sparc_vec
  111. targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
  112. ;;
  113. @@ -1224,7 +1225,7 @@
  114. targ_defvec=sunos_big_vec
  115. targ_underscore=yes
  116. ;;
  117. - sparc64-*-linux-gnu*)
  118. + sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*)
  119. targ_defvec=bfd_elf64_sparc_vec
  120. targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
  121. ;;
  122. @@ -1293,7 +1294,7 @@
  123. targ_underscore=yes
  124. ;;
  125. - vax-*-linux-gnu*)
  126. + vax-*-linux-gnu* | vax-*-linux-uclibc*)
  127. targ_defvec=bfd_elf32_vax_vec
  128. ;;
  129. diff -urN binutils-2.15.91.0.2-dist/bfd/configure binutils-2.15.91.0.2/bfd/configure
  130. --- binutils-2.15.91.0.2-dist/bfd/configure 2004-07-27 23:36:07.000000000 -0500
  131. +++ binutils-2.15.91.0.2/bfd/configure 2004-09-28 14:33:13.000000000 -0500
  132. @@ -1687,6 +1687,11 @@
  133. lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
  134. ;;
  135. +linux-uclibc*)
  136. + lt_cv_deplibs_check_method=pass_all
  137. + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
  138. + ;;
  139. +
  140. netbsd*)
  141. if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
  142. lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
  143. @@ -5266,7 +5271,7 @@
  144. alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
  145. COREFILE=''
  146. ;;
  147. - alpha*-*-linux-gnu*)
  148. + alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
  149. COREFILE=trad-core.lo
  150. TRAD_HEADER='"hosts/alphalinux.h"'
  151. ;;
  152. @@ -5330,7 +5335,7 @@
  153. COREFILE=trad-core.lo
  154. TRAD_HEADER='"hosts/i386mach3.h"'
  155. ;;
  156. - i[3-7]86-*-linux-gnu*)
  157. + i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
  158. COREFILE=trad-core.lo
  159. TRAD_HEADER='"hosts/i386linux.h"'
  160. ;;
  161. @@ -5368,7 +5373,7 @@
  162. COREFILE=trad-core.lo
  163. TRAD_HEADER='"hosts/hp300bsd.h"'
  164. ;;
  165. - m68*-*-linux-gnu*)
  166. + m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
  167. COREFILE=trad-core.lo
  168. TRAD_HEADER='"hosts/m68klinux.h"'
  169. ;;
  170. @@ -5472,7 +5477,7 @@
  171. COREFILE=trad-core.lo
  172. TRAD_HEADER='"hosts/vaxult2.h"'
  173. ;;
  174. - vax-*-linux-gnu*)
  175. + vax-*-linux-gnu* | vax-*-linux-uclibc*)
  176. COREFILE=trad-core.lo
  177. TRAD_HEADER='"hosts/vaxlinux.h"'
  178. ;;
  179. diff -urN binutils-2.15.91.0.2-dist/bfd/configure.in binutils-2.15.91.0.2/bfd/configure.in
  180. --- binutils-2.15.91.0.2-dist/bfd/configure.in 2004-07-27 23:36:07.000000000 -0500
  181. +++ binutils-2.15.91.0.2/bfd/configure.in 2004-09-28 14:33:13.000000000 -0500
  182. @@ -164,7 +164,7 @@
  183. alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
  184. COREFILE=''
  185. ;;
  186. - alpha*-*-linux-gnu*)
  187. + alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
  188. COREFILE=trad-core.lo
  189. TRAD_HEADER='"hosts/alphalinux.h"'
  190. ;;
  191. @@ -249,7 +249,7 @@
  192. TRAD_HEADER='"hosts/i386mach3.h"'
  193. ;;
  194. changequote(,)dnl
  195. - i[3-7]86-*-linux-gnu*)
  196. + i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
  197. changequote([,])dnl
  198. COREFILE=trad-core.lo
  199. TRAD_HEADER='"hosts/i386linux.h"'
  200. @@ -290,7 +290,7 @@
  201. COREFILE=trad-core.lo
  202. TRAD_HEADER='"hosts/hp300bsd.h"'
  203. ;;
  204. - m68*-*-linux-gnu*)
  205. + m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
  206. COREFILE=trad-core.lo
  207. TRAD_HEADER='"hosts/m68klinux.h"'
  208. ;;
  209. @@ -378,7 +378,7 @@
  210. COREFILE=trad-core.lo
  211. TRAD_HEADER='"hosts/vaxult2.h"'
  212. ;;
  213. - vax-*-linux-gnu*)
  214. + vax-*-linux-gnu* | vax-*-linux-uclibc*)
  215. COREFILE=trad-core.lo
  216. TRAD_HEADER='"hosts/vaxlinux.h"'
  217. ;;
  218. diff -urN binutils-2.15.91.0.2-dist/binutils/configure binutils-2.15.91.0.2/binutils/configure
  219. --- binutils-2.15.91.0.2-dist/binutils/configure 2004-04-12 14:56:34.000000000 -0500
  220. +++ binutils-2.15.91.0.2/binutils/configure 2004-09-28 14:33:13.000000000 -0500
  221. @@ -1575,6 +1575,11 @@
  222. lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
  223. ;;
  224. +linux-uclibc*)
  225. + lt_cv_deplibs_check_method=pass_all
  226. + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
  227. + ;;
  228. +
  229. netbsd*)
  230. if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
  231. lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
  232. diff -urN binutils-2.15.91.0.2-dist/configure binutils-2.15.91.0.2/configure
  233. --- binutils-2.15.91.0.2-dist/configure 2004-07-27 23:36:06.000000000 -0500
  234. +++ binutils-2.15.91.0.2/configure 2004-09-28 14:33:13.000000000 -0500
  235. @@ -1349,6 +1349,18 @@
  236. i[3456789]86-*-coff | i[3456789]86-*-elf)
  237. noconfigdirs="$noconfigdirs ${libgcj}"
  238. ;;
  239. + i[3456789]86-*-linux-uclibc*)
  240. + # This section makes it possible to build newlib natively on linux.
  241. + # If we are using a cross compiler then don't configure newlib.
  242. + if test x${is_cross_compiler} != xno ; then
  243. + noconfigdirs="$noconfigdirs target-newlib"
  244. + fi
  245. + noconfigdirs="$noconfigdirs target-libgloss"
  246. + # If we are not using a cross compiler, do configure newlib.
  247. + # Note however, that newlib will only be configured in this situation
  248. + # if the --with-newlib option has been given, because otherwise
  249. + # 'target-newlib' will appear in skipdirs.
  250. + ;;
  251. i[3456789]86-*-linux*)
  252. # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
  253. # not build java stuff by default.
  254. diff -urN binutils-2.15.91.0.2-dist/configure.in binutils-2.15.91.0.2/configure.in
  255. --- binutils-2.15.91.0.2-dist/configure.in 2004-07-27 23:36:06.000000000 -0500
  256. +++ binutils-2.15.91.0.2/configure.in 2004-09-28 14:33:13.000000000 -0500
  257. @@ -569,6 +569,18 @@
  258. i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
  259. noconfigdirs="$noconfigdirs ${libgcj}"
  260. ;;
  261. + i[[3456789]]86-*-linux-uclibc*)
  262. + # This section makes it possible to build newlib natively on linux.
  263. + # If we are using a cross compiler then don't configure newlib.
  264. + if test x${is_cross_compiler} != xno ; then
  265. + noconfigdirs="$noconfigdirs target-newlib"
  266. + fi
  267. + noconfigdirs="$noconfigdirs target-libgloss"
  268. + # If we are not using a cross compiler, do configure newlib.
  269. + # Note however, that newlib will only be configured in this situation
  270. + # if the --with-newlib option has been given, because otherwise
  271. + # 'target-newlib' will appear in skipdirs.
  272. + ;;
  273. i[[3456789]]86-*-linux*)
  274. # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
  275. # not build java stuff by default.
  276. diff -urN binutils-2.15.91.0.2-dist/gas/configure binutils-2.15.91.0.2/gas/configure
  277. --- binutils-2.15.91.0.2-dist/gas/configure 2004-07-27 23:36:09.000000000 -0500
  278. +++ binutils-2.15.91.0.2/gas/configure 2004-09-28 14:33:13.000000000 -0500
  279. @@ -3408,6 +3408,11 @@
  280. lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
  281. ;;
  282. +linux-uclibc*)
  283. + lt_cv_deplibs_check_method=pass_all
  284. + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
  285. + ;;
  286. +
  287. netbsd*)
  288. if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
  289. lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
  290. @@ -4234,6 +4239,7 @@
  291. alpha*-*-osf*) fmt=ecoff ;;
  292. alpha*-*-linuxecoff*) fmt=ecoff ;;
  293. alpha*-*-linux-gnu*) fmt=elf em=linux ;;
  294. + alpha*-*-linux-uclibc*) fmt=elf em=linux ;;
  295. alpha*-*-netbsd*) fmt=elf em=nbsd ;;
  296. alpha*-*-openbsd*) fmt=elf em=obsd ;;
  297. @@ -4250,6 +4256,7 @@
  298. arm*-*-conix*) fmt=elf ;;
  299. arm-*-linux*aout*) fmt=aout em=linux ;;
  300. arm*-*-linux-gnu*) fmt=elf em=linux ;;
  301. + arm*-*-linux-uclibc*) fmt=elf em=linux ;;
  302. arm*-*-uclinux*) fmt=elf em=linux ;;
  303. arm-*-netbsdelf*) fmt=elf em=nbsd ;;
  304. arm-*-*n*bsd*) fmt=aout em=nbsd ;;
  305. @@ -4263,6 +4270,7 @@
  306. avr-*-*) fmt=elf ;;
  307. cris-*-linux-gnu*) fmt=multi bfd_gas=yes em=linux ;;
  308. + cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;;
  309. cris-*-*) fmt=multi bfd_gas=yes ;;
  310. crx-*-elf*) fmt=elf ;;
  311. @@ -4322,7 +4330,9 @@
  312. i386-*-linux*oldld) fmt=aout em=linux ;;
  313. i386-*-linux*coff*) fmt=coff em=linux ;;
  314. i386-*-linux-gnu*) fmt=elf em=linux ;;
  315. + i386-*-linux-uclibc*) fmt=elf em=linux ;;
  316. x86_64-*-linux-gnu*) fmt=elf em=linux ;;
  317. + x86_64-*-linux-uclibc*) fmt=elf em=linux ;;
  318. i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
  319. i386-*-sysv[45]*) fmt=elf ;;
  320. i386-*-solaris*) fmt=elf ;;
  321. @@ -4382,6 +4392,7 @@
  322. ia64-*-elf*) fmt=elf ;;
  323. ia64-*-aix*) fmt=elf em=ia64aix ;;
  324. ia64-*-linux-gnu*) fmt=elf em=linux ;;
  325. + ia64-*-linux-uclibc*) fmt=elf em=linux ;;
  326. ia64-*-hpux*) fmt=elf em=hpux ;;
  327. ia64-*-netbsd*) fmt=elf em=nbsd ;;
  328. @@ -4409,6 +4420,7 @@
  329. m68k-*-hpux*) fmt=hp300 em=hp300 ;;
  330. m68k-*-linux*aout*) fmt=aout em=linux ;;
  331. m68k-*-linux-gnu*) fmt=elf em=linux ;;
  332. + m68k-*-linux-uclibc*) fmt=elf em=linux ;;
  333. m68k-*-uclinux*) fmt=elf ;;
  334. m68k-*-gnu*) fmt=elf ;;
  335. m68k-*-lynxos*) fmt=coff em=lynx ;;
  336. @@ -4471,6 +4483,7 @@
  337. ppc-*-beos*) fmt=coff ;;
  338. ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
  339. ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
  340. + ppc-*-linux-uclibc* | \
  341. ppc-*-linux-gnu*) fmt=elf em=linux
  342. case "$endian" in
  343. big) ;;
  344. @@ -4498,7 +4511,9 @@
  345. ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
  346. s390x-*-linux-gnu*) fmt=elf em=linux ;;
  347. + s390x-*-linux-uclibc*) fmt=elf em=linux ;;
  348. s390-*-linux-gnu*) fmt=elf em=linux ;;
  349. + s390-*-linux-uclibc*) fmt=elf em=linux ;;
  350. sh*-*-linux*) fmt=elf em=linux
  351. case ${cpu} in
  352. @@ -4538,6 +4553,7 @@
  353. sparc-*-coff) fmt=coff ;;
  354. sparc-*-linux*aout*) fmt=aout em=linux ;;
  355. sparc-*-linux-gnu*) fmt=elf em=linux ;;
  356. + sparc-*-linux-uclibc*) fmt=elf em=linux ;;
  357. sparc-*-lynxos*) fmt=coff em=lynx ;;
  358. sparc-fujitsu-none) fmt=aout ;;
  359. sparc-*-elf) fmt=elf ;;
  360. diff -urN binutils-2.15.91.0.2-dist/gas/configure.in binutils-2.15.91.0.2/gas/configure.in
  361. --- binutils-2.15.91.0.2-dist/gas/configure.in 2004-07-27 23:36:09.000000000 -0500
  362. +++ binutils-2.15.91.0.2/gas/configure.in 2004-09-28 14:33:13.000000000 -0500
  363. @@ -195,6 +195,7 @@
  364. alpha*-*-osf*) fmt=ecoff ;;
  365. alpha*-*-linuxecoff*) fmt=ecoff ;;
  366. alpha*-*-linux-gnu*) fmt=elf em=linux ;;
  367. + alpha*-*-linux-uclibc*) fmt=elf em=linux ;;
  368. alpha*-*-netbsd*) fmt=elf em=nbsd ;;
  369. alpha*-*-openbsd*) fmt=elf em=obsd ;;
  370. @@ -211,6 +212,7 @@
  371. arm*-*-conix*) fmt=elf ;;
  372. arm-*-linux*aout*) fmt=aout em=linux ;;
  373. arm*-*-linux-gnu*) fmt=elf em=linux ;;
  374. + arm*-*-linux-uclibc*) fmt=elf em=linux ;;
  375. arm*-*-uclinux*) fmt=elf em=linux ;;
  376. arm-*-netbsdelf*) fmt=elf em=nbsd ;;
  377. arm-*-*n*bsd*) fmt=aout em=nbsd ;;
  378. @@ -224,6 +226,7 @@
  379. avr-*-*) fmt=elf ;;
  380. cris-*-linux-gnu*) fmt=multi bfd_gas=yes em=linux ;;
  381. + cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;;
  382. cris-*-*) fmt=multi bfd_gas=yes ;;
  383. crx-*-elf*) fmt=elf ;;
  384. @@ -283,7 +286,9 @@
  385. i386-*-linux*oldld) fmt=aout em=linux ;;
  386. i386-*-linux*coff*) fmt=coff em=linux ;;
  387. i386-*-linux-gnu*) fmt=elf em=linux ;;
  388. + i386-*-linux-uclibc*) fmt=elf em=linux ;;
  389. x86_64-*-linux-gnu*) fmt=elf em=linux ;;
  390. + x86_64-*-linux-uclibc*) fmt=elf em=linux ;;
  391. i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
  392. changequote(,)dnl
  393. i386-*-sysv[45]*) fmt=elf ;;
  394. @@ -336,6 +341,7 @@
  395. ia64-*-elf*) fmt=elf ;;
  396. ia64-*-aix*) fmt=elf em=ia64aix ;;
  397. ia64-*-linux-gnu*) fmt=elf em=linux ;;
  398. + ia64-*-linux-uclibc*) fmt=elf em=linux ;;
  399. ia64-*-hpux*) fmt=elf em=hpux ;;
  400. ia64-*-netbsd*) fmt=elf em=nbsd ;;
  401. @@ -363,6 +369,7 @@
  402. m68k-*-hpux*) fmt=hp300 em=hp300 ;;
  403. m68k-*-linux*aout*) fmt=aout em=linux ;;
  404. m68k-*-linux-gnu*) fmt=elf em=linux ;;
  405. + m68k-*-linux-uclibc*) fmt=elf em=linux ;;
  406. m68k-*-uclinux*) fmt=elf ;;
  407. m68k-*-gnu*) fmt=elf ;;
  408. m68k-*-lynxos*) fmt=coff em=lynx ;;
  409. @@ -422,6 +429,7 @@
  410. ppc-*-beos*) fmt=coff ;;
  411. ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
  412. ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
  413. + ppc-*-linux-uclibc* | \
  414. ppc-*-linux-gnu*) fmt=elf em=linux
  415. case "$endian" in
  416. big) ;;
  417. @@ -442,7 +450,9 @@
  418. ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
  419. s390x-*-linux-gnu*) fmt=elf em=linux ;;
  420. + s390x-*-linux-uclibc*) fmt=elf em=linux ;;
  421. s390-*-linux-gnu*) fmt=elf em=linux ;;
  422. + s390-*-linux-uclibc*) fmt=elf em=linux ;;
  423. sh*-*-linux*) fmt=elf em=linux
  424. case ${cpu} in
  425. @@ -478,6 +488,7 @@
  426. sparc-*-coff) fmt=coff ;;
  427. sparc-*-linux*aout*) fmt=aout em=linux ;;
  428. sparc-*-linux-gnu*) fmt=elf em=linux ;;
  429. + sparc-*-linux-uclibc*) fmt=elf em=linux ;;
  430. sparc-*-lynxos*) fmt=coff em=lynx ;;
  431. sparc-fujitsu-none) fmt=aout ;;
  432. sparc-*-elf) fmt=elf ;;
  433. diff -urN binutils-2.15.91.0.2-dist/gprof/configure binutils-2.15.91.0.2/gprof/configure
  434. --- binutils-2.15.91.0.2-dist/gprof/configure 2004-07-27 23:36:10.000000000 -0500
  435. +++ binutils-2.15.91.0.2/gprof/configure 2004-09-28 14:33:13.000000000 -0500
  436. @@ -3401,6 +3401,11 @@
  437. lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
  438. ;;
  439. +linux-uclibc*)
  440. + lt_cv_deplibs_check_method=pass_all
  441. + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
  442. + ;;
  443. +
  444. netbsd*)
  445. if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
  446. lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
  447. diff -urN binutils-2.15.91.0.2-dist/ld/configure binutils-2.15.91.0.2/ld/configure
  448. --- binutils-2.15.91.0.2-dist/ld/configure 2004-07-27 23:36:11.000000000 -0500
  449. +++ binutils-2.15.91.0.2/ld/configure 2004-09-28 14:33:13.000000000 -0500
  450. @@ -1578,6 +1578,11 @@
  451. lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
  452. ;;
  453. +linux-uclibc*)
  454. + lt_cv_deplibs_check_method=pass_all
  455. + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
  456. + ;;
  457. +
  458. netbsd*)
  459. if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
  460. lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
  461. diff -urN binutils-2.15.91.0.2-dist/ld/configure.tgt binutils-2.15.91.0.2/ld/configure.tgt
  462. --- binutils-2.15.91.0.2-dist/ld/configure.tgt 2004-07-27 23:36:11.000000000 -0500
  463. +++ binutils-2.15.91.0.2/ld/configure.tgt 2004-09-28 14:33:13.000000000 -0500
  464. @@ -31,6 +31,7 @@
  465. targ_extra_emuls="criself crislinux"
  466. targ_extra_libpath=$targ_extra_emuls ;;
  467. cris-*-linux-gnu*) targ_emul=crislinux ;;
  468. +cris-*-linux-uclibc*) targ_emul=crislinux ;;
  469. cris-*-*) targ_emul=criself
  470. targ_extra_emuls="crisaout crislinux"
  471. targ_extra_libpath=$targ_extra_emuls ;;
  472. @@ -61,14 +62,16 @@
  473. tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'`
  474. tdir_sun4=sparc-sun-sunos4
  475. ;;
  476. -sparc64-*-linux-gnu*) targ_emul=elf64_sparc
  477. +sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*) \
  478. + targ_emul=elf64_sparc
  479. targ_extra_emuls="elf32_sparc sparclinux sun4"
  480. targ_extra_libpath=elf32_sparc
  481. tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
  482. tdir_sparclinux=${tdir_elf32_sparc}aout
  483. tdir_sun4=sparc-sun-sunos4
  484. ;;
  485. -sparc*-*-linux-gnu*) targ_emul=elf32_sparc
  486. +sparc*-*-linux-gnu* | sparc*-*-linux-uclibc*) \
  487. + targ_emul=elf32_sparc
  488. targ_extra_emuls="sparclinux elf64_sparc sun4"
  489. targ_extra_libpath=elf64_sparc
  490. tdir_sparclinux=${targ_alias}aout
  491. @@ -120,7 +123,9 @@
  492. m32r*le-*-elf*) targ_emul=m32rlelf ;;
  493. m32r*-*-elf*) targ_emul=m32relf ;;
  494. m32r*le-*-linux-gnu*) targ_emul=m32rlelf_linux ;;
  495. +m32r*le-*-linux-uclibc*) targ_emul=m32rlelf_linux ;;
  496. m32r*-*-linux-gnu*) targ_emul=m32relf_linux ;;
  497. +m32r*-*-linux-uclibc*) targ_emul=m32relf_linux ;;
  498. m68hc11-*-*|m6811-*-*) targ_emul=m68hc11elf
  499. targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;;
  500. m68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf
  501. @@ -130,7 +135,7 @@
  502. m68*-ericsson-ose) targ_emul=sun3 ;;
  503. m68*-apple-aux*) targ_emul=m68kaux ;;
  504. *-tandem-none) targ_emul=st2000 ;;
  505. -i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;;
  506. +i370-*-elf* | i370-*-linux-gnu* | i370-*-linux-uclibc*) targ_emul=elf32i370 ;;
  507. i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;;
  508. i[3-7]86-*-vsta) targ_emul=vsta ;;
  509. i[3-7]86-go32-rtems*) targ_emul=i386go32 ;;
  510. @@ -154,14 +159,16 @@
  511. tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'`
  512. ;;
  513. i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
  514. -i[3-7]86-*-linux-gnu*) targ_emul=elf_i386
  515. +i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) \
  516. + targ_emul=elf_i386
  517. targ_extra_emuls=i386linux
  518. if test x${want64} = xtrue; then
  519. targ_extra_emuls="$targ_extra_emuls elf_x86_64"
  520. fi
  521. tdir_i386linux=${targ_alias}aout
  522. ;;
  523. -x86_64-*-linux-gnu*) targ_emul=elf_x86_64
  524. +x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*) \
  525. + targ_emul=elf_x86_64
  526. targ_extra_emuls="elf_i386 i386linux"
  527. targ_extra_libpath=elf_i386
  528. tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
  529. @@ -261,10 +268,13 @@
  530. arm9e-*-elf) targ_emul=armelf ;;
  531. arm-*-oabi) targ_emul=armelf_oabi ;;
  532. arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
  533. +arm*b-*-linux-uclibc*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
  534. arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
  535. +arm*-*-linux-uclibc*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
  536. arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
  537. arm*-*-conix*) targ_emul=armelf ;;
  538. -thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
  539. +thumb-*-linux-gnu* | thumb-*-linux-uclibc* | thumb-*-uclinux*) \
  540. + targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
  541. strongarm-*-coff) targ_emul=armcoff ;;
  542. strongarm-*-elf) targ_emul=armelf ;;
  543. strongarm-*-kaos*) targ_emul=armelf ;;
  544. @@ -369,7 +379,8 @@
  545. targ_extra_emuls=m68kelf
  546. tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
  547. ;;
  548. -m68k-*-linux-gnu*) targ_emul=m68kelf
  549. +m68k-*-linux-gnu* | m68k-*-linux-uclibc*) \
  550. + targ_emul=m68kelf
  551. targ_extra_emuls=m68klinux
  552. tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'`
  553. ;;
  554. @@ -386,9 +397,9 @@
  555. m68*-*-psos*) targ_emul=m68kpsos ;;
  556. m68*-*-rtemscoff*) targ_emul=m68kcoff ;;
  557. m68*-*-rtems*) targ_emul=m68kelf ;;
  558. -hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;;
  559. +hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*) targ_emul=hppa64linux ;;
  560. hppa*64*-*) targ_emul=elf64hppa ;;
  561. -hppa*-*-linux-gnu*) targ_emul=hppalinux ;;
  562. +hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*) targ_emul=hppalinux ;;
  563. hppa*-*-*elf*) targ_emul=hppaelf ;;
  564. hppa*-*-lites*) targ_emul=hppaelf ;;
  565. hppa*-*-netbsd*) targ_emul=hppanbsd ;;
  566. @@ -401,6 +412,7 @@
  567. targ_emul=vaxnbsd
  568. targ_extra_emuls=elf32vax ;;
  569. vax-*-linux-gnu*) targ_emul=elf32vax ;;
  570. +vax-*-linux-uclibc*) targ_emul=elf32vax ;;
  571. mips*-*-pe) targ_emul=mipspe ;
  572. targ_extra_ofiles="deffilep.o pe-dll.o" ;;
  573. mips*-dec-ultrix*) targ_emul=mipslit ;;
  574. @@ -434,16 +446,16 @@
  575. mips*-*-vxworks*) targ_emul=elf32ebmip
  576. targ_extra_emuls="elf32elmip" ;;
  577. mips*-*-windiss) targ_emul=elf32mipswindiss ;;
  578. -mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32
  579. +mips64*el-*-linux-gnu* | mips64*el-*-linux-uclibc*) targ_emul=elf32ltsmipn32
  580. targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
  581. ;;
  582. -mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32
  583. +mips64*-*-linux-gnu* | mips64*-*-linux-uclibc*) targ_emul=elf32btsmipn32
  584. targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
  585. ;;
  586. -mips*el-*-linux-gnu*) targ_emul=elf32ltsmip
  587. +mips*el-*-linux-gnu* | mips*el-*-linux-uclibc*) targ_emul=elf32ltsmip
  588. targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
  589. ;;
  590. -mips*-*-linux-gnu*) targ_emul=elf32btsmip
  591. +mips*-*-linux-gnu* | mips*-*-linux-uclibc*) targ_emul=elf32btsmip
  592. targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
  593. ;;
  594. mips*-*-lnews*) targ_emul=mipslnews ;;
  595. @@ -466,6 +478,10 @@
  596. alpha*-*-linux-gnu*) targ_emul=elf64alpha targ_extra_emuls=alpha
  597. tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
  598. ;;
  599. +alpha*-*-linux-uclibc*) targ_emul=elf64alpha targ_extra_emuls=alpha
  600. + # The following needs to be checked...
  601. + tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
  602. + ;;
  603. alpha*-*-osf*) targ_emul=alpha ;;
  604. alpha*-*-gnu*) targ_emul=elf64alpha ;;
  605. alpha*-*-netware*) targ_emul=alpha ;;
  606. diff -urN binutils-2.15.91.0.2-dist/ld/emultempl/elf32.em binutils-2.15.91.0.2/ld/emultempl/elf32.em
  607. --- binutils-2.15.91.0.2-dist/ld/emultempl/elf32.em 2004-07-27 23:36:11.000000000 -0500
  608. +++ binutils-2.15.91.0.2/ld/emultempl/elf32.em 2004-09-28 14:33:54.000000000 -0500
  609. @@ -327,7 +327,7 @@
  610. EOF
  611. case ${target} in
  612. - *-*-linux-gnu*)
  613. + *-*-linux-gnu* | *-*-linux-uclibc*)
  614. cat >>e${EMULATION_NAME}.c <<EOF
  615. {
  616. struct bfd_link_needed_list *l;
  617. @@ -500,7 +500,7 @@
  618. EOF
  619. case ${target} in
  620. - *-*-linux-gnu*)
  621. + *-*-linux-gnu* | *-*-linux-uclibc*)
  622. cat >>e${EMULATION_NAME}.c <<EOF
  623. /* For a native linker, check the file /etc/ld.so.conf for directories
  624. in which we may find shared libraries. /etc/ld.so.conf is really
  625. @@ -784,7 +784,7 @@
  626. EOF
  627. if [ "x${USE_LIBPATH}" = xyes ] ; then
  628. case ${target} in
  629. - *-*-linux-gnu*)
  630. + *-*-linux-gnu* | *-*-linux-uclibc*)
  631. cat >>e${EMULATION_NAME}.c <<EOF
  632. if (gld${EMULATION_NAME}_check_ld_so_conf (l->name, force))
  633. break;
  634. diff -urN binutils-2.15.91.0.2-dist/libtool.m4 binutils-2.15.91.0.2/libtool.m4
  635. --- binutils-2.15.91.0.2-dist/libtool.m4 2004-07-27 23:36:06.000000000 -0500
  636. +++ binutils-2.15.91.0.2/libtool.m4 2004-09-28 14:33:13.000000000 -0500
  637. @@ -645,6 +645,11 @@
  638. lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
  639. ;;
  640. +linux-uclibc*)
  641. + lt_cv_deplibs_check_method=pass_all
  642. + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
  643. + ;;
  644. +
  645. netbsd* | knetbsd*-gnu)
  646. if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
  647. [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
  648. diff -urN binutils-2.15.91.0.2-dist/ltconfig binutils-2.15.91.0.2/ltconfig
  649. --- binutils-2.15.91.0.2-dist/ltconfig 2004-07-27 23:36:06.000000000 -0500
  650. +++ binutils-2.15.91.0.2/ltconfig 2004-09-28 14:33:13.000000000 -0500
  651. @@ -603,6 +603,7 @@
  652. # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
  653. case $host_os in
  654. linux-gnu*) ;;
  655. +linux-uclibc*) ;;
  656. linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
  657. esac
  658. @@ -1270,6 +1271,24 @@
  659. dynamic_linker='GNU/Linux ld.so'
  660. ;;
  661. +linux-uclibc*)
  662. + version_type=linux
  663. + need_lib_prefix=no
  664. + need_version=no
  665. + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
  666. + soname_spec='${libname}${release}.so$major'
  667. + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
  668. + shlibpath_var=LD_LIBRARY_PATH
  669. + shlibpath_overrides_runpath=no
  670. + # This implies no fast_install, which is unacceptable.
  671. + # Some rework will be needed to allow for fast_install
  672. + # before this can be enabled.
  673. + # Note: copied from linux-gnu, and may not be appropriate.
  674. + hardcode_into_libs=yes
  675. + # Assume using the uClibc dynamic linker.
  676. + dynamic_linker="uClibc ld.so"
  677. + ;;
  678. +
  679. netbsd*)
  680. need_lib_prefix=no
  681. need_version=no
  682. diff -urN binutils-2.15.91.0.2-dist/opcodes/configure binutils-2.15.91.0.2/opcodes/configure
  683. --- binutils-2.15.91.0.2-dist/opcodes/configure 2004-07-27 23:36:11.000000000 -0500
  684. +++ binutils-2.15.91.0.2/opcodes/configure 2004-09-28 14:33:13.000000000 -0500
  685. @@ -1690,6 +1690,11 @@
  686. lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
  687. ;;
  688. +linux-uclibc*)
  689. + lt_cv_deplibs_check_method=pass_all
  690. + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
  691. + ;;
  692. +
  693. netbsd*)
  694. if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
  695. lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'