Author: archaic Date: 2005-03-05 07:42:28 -0700 (Sat, 05 Mar 2005) New Revision: 857
Added: trunk/binutils/binutils-2.15.94.0.2.2-pt_pax-1.patch trunk/binutils/binutils-2.15.94.0.2.2-uClibc_conf-1.patch trunk/hlfs/binutils-2.15.94.0.2.2-pt_pax-1.patch trunk/hlfs/binutils-2.15.94.0.2.2-uClibc_conf-1.patch Removed: trunk/binutils/binutils-2.15.94.0.2-pt_pax-1.patch trunk/binutils/binutils-2.15.94.0.2-uClibc_conf-1.patch trunk/hlfs/binutils-2.15.94.0.2-pt_pax-1.patch trunk/hlfs/binutils-2.15.94.0.2-uClibc_conf-1.patch Log: Update binutilskernel frandom patch to 2.6.11 Deleted: trunk/binutils/binutils-2.15.94.0.2-pt_pax-1.patch =================================================================== --- trunk/binutils/binutils-2.15.94.0.2-pt_pax-1.patch 2005-03-05 14:39:10 UTC (rev 856) +++ trunk/binutils/binutils-2.15.94.0.2-pt_pax-1.patch 2005-03-05 14:42:28 UTC (rev 857) @@ -1 +0,0 @@ -link ../hlfs/binutils-2.15.94.0.2-pt_pax-1.patch \ No newline at end of file Deleted: trunk/binutils/binutils-2.15.94.0.2-uClibc_conf-1.patch =================================================================== --- trunk/binutils/binutils-2.15.94.0.2-uClibc_conf-1.patch 2005-03-05 14:39:10 UTC (rev 856) +++ trunk/binutils/binutils-2.15.94.0.2-uClibc_conf-1.patch 2005-03-05 14:42:28 UTC (rev 857) @@ -1 +0,0 @@ -link ../hlfs/binutils-2.15.94.0.2-uClibc_conf-1.patch \ No newline at end of file Added: trunk/binutils/binutils-2.15.94.0.2.2-pt_pax-1.patch =================================================================== --- trunk/binutils/binutils-2.15.94.0.2.2-pt_pax-1.patch 2005-03-05 14:39:10 UTC (rev 856) +++ trunk/binutils/binutils-2.15.94.0.2.2-pt_pax-1.patch 2005-03-05 14:42:28 UTC (rev 857) @@ -0,0 +1 @@ +link ../hlfs/binutils-2.15.94.0.2.2-pt_pax-1.patch \ No newline at end of file Property changes on: trunk/binutils/binutils-2.15.94.0.2.2-pt_pax-1.patch ___________________________________________________________________ Name: svn:special + * Added: trunk/binutils/binutils-2.15.94.0.2.2-uClibc_conf-1.patch =================================================================== --- trunk/binutils/binutils-2.15.94.0.2.2-uClibc_conf-1.patch 2005-03-05 14:39:10 UTC (rev 856) +++ trunk/binutils/binutils-2.15.94.0.2.2-uClibc_conf-1.patch 2005-03-05 14:42:28 UTC (rev 857) @@ -0,0 +1 @@ +link ../hlfs/binutils-2.15.94.0.2.2-uClibc_conf-1.patch \ No newline at end of file Property changes on: trunk/binutils/binutils-2.15.94.0.2.2-uClibc_conf-1.patch ___________________________________________________________________ Name: svn:special + * Deleted: trunk/hlfs/binutils-2.15.94.0.2-pt_pax-1.patch =================================================================== --- trunk/hlfs/binutils-2.15.94.0.2-pt_pax-1.patch 2005-03-05 14:39:10 UTC (rev 856) +++ trunk/hlfs/binutils-2.15.94.0.2-pt_pax-1.patch 2005-03-05 14:42:28 UTC (rev 857) @@ -1,329 +0,0 @@ -Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes) -Date: 2004-12-07 -Initial Package Version: binutils-2.15.94.0.1 -Upstream Status: Not submitted - PaX specific; will not be accepted upstream. -Origin: http://pax.grsecurity.net/\ - binutils-2.15.92.0.2-pt-pax-flags-200411061615.patch -Description: This is needed for Grsec. http://www.grsecurity.net/ -Also see: -http://pax.grsecurity.net/ -http://www.linuxfromscratch.org/hlfs/ - -diff -Naur binutils-2.15.94.0.1.orig/bfd/elf-bfd.h binutils-2.15.94.0.1/bfd/elf-bfd.h ---- binutils-2.15.94.0.1.orig/bfd/elf-bfd.h 2004-11-22 20:33:30.000000000 +0000 -+++ binutils-2.15.94.0.1/bfd/elf-bfd.h 2004-12-08 04:28:05.616712136 +0000 -@@ -1266,6 +1266,9 @@ - /* Should the PT_GNU_RELRO segment be emitted? */ - bfd_boolean relro; - -+ /* Segment flags for the PT_PAX_FLAGS segment. */ -+ unsigned int pax_flags; -+ - /* Symbol version definitions in external objects. */ - Elf_Internal_Verdef *verdef; - -diff -Naur binutils-2.15.94.0.1.orig/bfd/elf.c binutils-2.15.94.0.1/bfd/elf.c ---- binutils-2.15.94.0.1.orig/bfd/elf.c 2004-11-22 20:33:30.000000000 +0000 -+++ binutils-2.15.94.0.1/bfd/elf.c 2004-12-08 04:28:05.634709400 +0000 -@@ -1043,6 +1043,7 @@ - case PT_GNU_EH_FRAME: pt = "EH_FRAME"; break; - case PT_GNU_STACK: pt = "STACK"; break; - case PT_GNU_RELRO: pt = "RELRO"; break; -+ case PT_PAX_FLAGS: pt = "PAX_FLAGS"; break; - default: sprintf (buf, "0x%lx", p->p_type); pt = buf; break; - } - fprintf (f, "%8s off 0x", pt); -@@ -2371,6 +2372,9 @@ - case PT_GNU_RELRO: - return _bfd_elf_make_section_from_phdr (abfd, hdr, index, "relro"); - -+ case PT_PAX_FLAGS: -+ return _bfd_elf_make_section_from_phdr (abfd, hdr, index, "pax_flags"); -+ - default: - /* Check for any processor-specific program segment types. - If no handler for them, default to making "segment" sections. */ -@@ -3702,6 +3706,20 @@ - pm = &m->next; - } - -+ { -+ amt = sizeof (struct elf_segment_map); -+ m = bfd_zalloc (abfd, amt); -+ if (m == NULL) -+ goto error_return; -+ m->next = NULL; -+ m->p_type = PT_PAX_FLAGS; -+ m->p_flags = elf_tdata (abfd)->pax_flags; -+ m->p_flags_valid = 1; -+ -+ *pm = m; -+ pm = &m->next; -+ } -+ - free (sections); - sections = NULL; - -@@ -4400,6 +4418,11 @@ - ++segs; - } - -+ { -+ /* We need a PT_PAX_FLAGS segment. */ -+ ++segs; -+ } -+ - for (s = abfd->sections; s != NULL; s = s->next) - { - if ((s->flags & SEC_LOAD) != 0 -@@ -4943,7 +4966,8 @@ - 4. The section has not already been allocated to a previous segment. - 5. PT_GNU_STACK segments do not include any sections. - 6. PT_TLS segment includes only SHF_TLS sections. -- 7. SHF_TLS sections are only in PT_TLS or PT_LOAD segments. */ -+ 7. SHF_TLS sections are only in PT_TLS or PT_LOAD segments. -+ 8. PT_PAX_FLAGS segments do not include any sections. */ - #define INCLUDE_SECTION_IN_SEGMENT(section, segment, bed) \ - ((((segment->p_paddr \ - ? IS_CONTAINED_BY_LMA (section, segment, segment->p_paddr) \ -@@ -4952,6 +4976,7 @@ - || IS_COREFILE_NOTE (segment, section)) \ - && section->output_section != NULL \ - && segment->p_type != PT_GNU_STACK \ -+ && segment->p_type != PT_PAX_FLAGS \ - && (segment->p_type != PT_TLS \ - || (section->flags & SEC_THREAD_LOCAL)) \ - && (segment->p_type == PT_LOAD \ -diff -Naur binutils-2.15.94.0.1.orig/bfd/elflink.c binutils-2.15.94.0.1/bfd/elflink.c ---- binutils-2.15.94.0.1.orig/bfd/elflink.c 2004-11-22 20:33:31.000000000 +0000 -+++ binutils-2.15.94.0.1/bfd/elflink.c 2004-12-08 04:28:05.688701192 +0000 -@@ -4747,17 +4747,31 @@ - if (!is_elf_hash_table (info->hash)) - return TRUE; - -+ elf_tdata (output_bfd)->pax_flags = PF_NORANDEXEC; -+ -+ if (info->execheap) -+ elf_tdata (output_bfd)->pax_flags |= PF_NOMPROTECT; -+ else if (info->noexecheap) -+ elf_tdata (output_bfd)->pax_flags |= PF_MPROTECT; -+ - elf_tdata (output_bfd)->relro = info->relro; - if (info->execstack) -- elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X; -+ { -+ elf_tdata (output_bfd)->stack_flags = PF_R | PF_W | PF_X; -+ elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP; -+ } - else if (info->noexecstack) -- elf_tdata (output_bfd)->stack_flags = PF_R | PF_W; -+ { -+ elf_tdata (output_bfd)->stack_flags = PF_R | PF_W; -+ elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP; -+ } - else - { - bfd *inputobj; - asection *notesec = NULL; - int exec = 0; - -+ elf_tdata (output_bfd)->pax_flags |= PF_NOEMUTRAMP; - for (inputobj = info->input_bfds; - inputobj; - inputobj = inputobj->link_next) -@@ -4770,7 +4784,11 @@ - if (s) - { - if (s->flags & SEC_CODE) -- exec = PF_X; -+ { -+ elf_tdata (output_bfd)->pax_flags &= ~PF_NOEMUTRAMP; -+ elf_tdata (output_bfd)->pax_flags |= PF_EMUTRAMP; -+ exec = PF_X; -+ } - notesec = s; - } - else -diff -Naur binutils-2.15.94.0.1.orig/binutils/readelf.c binutils-2.15.94.0.1/binutils/readelf.c ---- binutils-2.15.94.0.1.orig/binutils/readelf.c 2004-11-22 20:33:31.000000000 +0000 -+++ binutils-2.15.94.0.1/binutils/readelf.c 2004-12-08 04:28:05.742692984 +0000 -@@ -2292,6 +2292,7 @@ - return "GNU_EH_FRAME"; - case PT_GNU_STACK: return "GNU_STACK"; - case PT_GNU_RELRO: return "GNU_RELRO"; -+ case PT_PAX_FLAGS: return "PAX_FLAGS"; - - default: - if ((p_type >= PT_LOPROC) && (p_type <= PT_HIPROC)) -diff -Naur binutils-2.15.94.0.1.orig/include/bfdlink.h binutils-2.15.94.0.1/include/bfdlink.h ---- binutils-2.15.94.0.1.orig/include/bfdlink.h 2004-11-22 20:33:32.000000000 +0000 -+++ binutils-2.15.94.0.1/include/bfdlink.h 2004-12-08 04:28:05.776687816 +0000 -@@ -313,6 +313,14 @@ - flags. */ - unsigned int noexecstack: 1; - -+ /* TRUE if PT_PAX_FLAGS segment should be created with PF_NOMPROTECT -+ flags. */ -+ unsigned int execheap: 1; -+ -+ /* TRUE if PT_PAX_FLAGS segment should be created with PF_MPROTECT -+ flags. */ -+ unsigned int noexecheap: 1; -+ - /* TRUE if PT_GNU_RELRO segment should be created. */ - unsigned int relro: 1; - -diff -Naur binutils-2.15.94.0.1.orig/include/elf/common.h binutils-2.15.94.0.1/include/elf/common.h ---- binutils-2.15.94.0.1.orig/include/elf/common.h 2004-11-22 20:33:32.000000000 +0000 -+++ binutils-2.15.94.0.1/include/elf/common.h 2004-12-08 04:28:05.780687208 +0000 -@@ -293,12 +293,27 @@ - #define PT_SUNW_EH_FRAME PT_GNU_EH_FRAME /* Solaris uses the same value */ - #define PT_GNU_STACK (PT_LOOS + 0x474e551) /* Stack flags */ - #define PT_GNU_RELRO (PT_LOOS + 0x474e552) /* Read-only after relocation */ -+#define PT_PAX_FLAGS (PT_LOOS + 0x5041580) /* PaX flags */ - - /* Program segment permissions, in program header p_flags field. */ - - #define PF_X (1 << 0) /* Segment is executable */ - #define PF_W (1 << 1) /* Segment is writable */ - #define PF_R (1 << 2) /* Segment is readable */ -+ -+#define PF_PAGEEXEC (1 << 4) /* Enable PAGEEXEC */ -+#define PF_NOPAGEEXEC (1 << 5) /* Disable PAGEEXEC */ -+#define PF_SEGMEXEC (1 << 6) /* Enable SEGMEXEC */ -+#define PF_NOSEGMEXEC (1 << 7) /* Disable SEGMEXEC */ -+#define PF_MPROTECT (1 << 8) /* Enable MPROTECT */ -+#define PF_NOMPROTECT (1 << 9) /* Disable MPROTECT */ -+#define PF_RANDEXEC (1 << 10) /* Enable RANDEXEC */ -+#define PF_NORANDEXEC (1 << 11) /* Disable RANDEXEC */ -+#define PF_EMUTRAMP (1 << 12) /* Enable EMUTRAMP */ -+#define PF_NOEMUTRAMP (1 << 13) /* Disable EMUTRAMP */ -+#define PF_RANDMMAP (1 << 14) /* Enable RANDMMAP */ -+#define PF_NORANDMMAP (1 << 15) /* Disable RANDMMAP */ -+ - /* #define PF_MASKOS 0x0F000000 *//* OS-specific reserved bits */ - #define PF_MASKOS 0x0FF00000 /* New value, Oct 4, 1999 Draft */ - #define PF_MASKPROC 0xF0000000 /* Processor-specific reserved bits */ -diff -Naur binutils-2.15.94.0.1.orig/ld/emultempl/elf32.em binutils-2.15.94.0.1/ld/emultempl/elf32.em ---- binutils-2.15.94.0.1.orig/ld/emultempl/elf32.em 2004-11-22 20:33:33.000000000 +0000 -+++ binutils-2.15.94.0.1/ld/emultempl/elf32.em 2004-12-08 04:28:05.786686296 +0000 -@@ -1689,6 +1689,16 @@ - link_info.noexecstack = TRUE; - link_info.execstack = FALSE; - } -+ else if (strcmp (optarg, "execheap") == 0) -+ { -+ link_info.execheap = TRUE; -+ link_info.noexecheap = FALSE; -+ } -+ else if (strcmp (optarg, "noexecheap") == 0) -+ { -+ link_info.noexecheap = TRUE; -+ link_info.execheap = FALSE; -+ } - else if (strcmp (optarg, "relro") == 0) - link_info.relro = TRUE; - else if (strcmp (optarg, "norelro") == 0) -@@ -1729,6 +1739,7 @@ - fprintf (file, _(" -z combreloc\t\tMerge dynamic relocs into one section and sort\n")); - fprintf (file, _(" -z defs\t\tReport unresolved symbols in object files.\n")); - fprintf (file, _(" -z execstack\t\tMark executable as requiring executable stack\n")); -+ fprintf (file, _(" -z execheap\t\tMark executable as requiring executable heap\n")); - fprintf (file, _(" -z initfirst\t\tMark DSO to be initialized first at runtime\n")); - fprintf (file, _(" -z interpose\t\tMark object to interpose all DSOs but executable\n")); - fprintf (file, _(" -z loadfltr\t\tMark object requiring immediate process\n")); -@@ -1740,6 +1751,7 @@ - fprintf (file, _(" -z nodlopen\t\tMark DSO not available to dlopen\n")); - fprintf (file, _(" -z nodump\t\tMark DSO not available to dldump\n")); - fprintf (file, _(" -z noexecstack\tMark executable as not requiring executable stack\n")); -+ fprintf (file, _(" -z noexecheap\tMark executable as not requiring executable heap\n")); - fprintf (file, _(" -z norelro\t\tDon't create RELRO program header\n")); - fprintf (file, _(" -z now\t\tMark object non-lazy runtime binding\n")); - fprintf (file, _(" -z origin\t\tMark object requiring immediate \$ORIGIN processing\n\t\t\t at runtime\n")); -diff -Naur binutils-2.15.94.0.1.orig/ld/ldgram.y binutils-2.15.94.0.1/ld/ldgram.y ---- binutils-2.15.94.0.1.orig/ld/ldgram.y 2004-11-22 20:33:32.000000000 +0000 -+++ binutils-2.15.94.0.1/ld/ldgram.y 2004-12-08 04:28:05.790685688 +0000 -@@ -1073,6 +1073,8 @@ - $$ = exp_intop (0x6474e550); - else if (strcmp (s, "PT_GNU_STACK") == 0) - $$ = exp_intop (0x6474e551); -+ else if (strcmp (s, "PT_PAX_FLAGS") == 0) -+ $$ = exp_intop (0x65041580); - else - { - einfo (_("\ -diff -Naur binutils-2.15.94.0.1.orig/ld/testsuite/ld-i386/tlsbin.rd binutils-2.15.94.0.1/ld/testsuite/ld-i386/tlsbin.rd ---- binutils-2.15.94.0.1.orig/ld/testsuite/ld-i386/tlsbin.rd 2004-11-22 20:33:33.000000000 +0000 -+++ binutils-2.15.94.0.1/ld/testsuite/ld-i386/tlsbin.rd 2004-12-08 04:28:05.792685384 +0000 -@@ -35,7 +35,7 @@ - - Elf file type is EXEC \(Executable file\) - Entry point 0x8049178 --There are 6 program headers, starting at offset [0-9]+ -+There are 7 program headers, starting at offset [0-9]+ - - Program Headers: - Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align -@@ -46,6 +46,7 @@ - LOAD.* - DYNAMIC.* - TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+a0 R +0x1000 -+ PAX_FLAGS 0x000000 0x00000000 0x00000000 0x00000 0x00000 0x4 - - Section to Segment mapping: - Segment Sections... -@@ -55,6 +56,7 @@ - 03 +.tdata .dynamic .got .got.plt * - 04 +.dynamic * - 05 +.tdata .tbss * -+ 06 - - Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 9 entries: - Offset +Info +Type +Sym.Value +Sym. Name -diff -Naur binutils-2.15.94.0.1.orig/ld/testsuite/ld-i386/tlsnopic.rd binutils-2.15.94.0.1/ld/testsuite/ld-i386/tlsnopic.rd ---- binutils-2.15.94.0.1.orig/ld/testsuite/ld-i386/tlsnopic.rd 2004-11-22 20:33:33.000000000 +0000 -+++ binutils-2.15.94.0.1/ld/testsuite/ld-i386/tlsnopic.rd 2004-12-08 04:28:05.798684472 +0000 -@@ -32,7 +32,7 @@ - - Elf file type is DYN \(Shared object file\) - Entry point 0x1000 --There are 4 program headers, starting at offset [0-9]+ -+There are 5 program headers, starting at offset [0-9]+ - - Program Headers: - Type +Offset +VirtAddr +PhysAddr +FileSiz +MemSiz +Flg Align -@@ -40,6 +40,7 @@ - LOAD.* - DYNAMIC.* - TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+ 0x0+24 R +0x1 -+ PAX_FLAGS 0x000000 0x00000000 0x00000000 0x00000 0x00000 0x4 - - Section to Segment mapping: - Segment Sections... -@@ -47,6 +48,7 @@ - 01 +.dynamic .got .got.plt * - 02 +.dynamic * - 03 +.tbss * -+ 04 - - Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 20 entries: - Offset +Info +Type +Sym.Value +Sym. Name -diff -Naur binutils-2.15.94.0.1.orig/ld/testsuite/ld-i386/tlspic.rd binutils-2.15.94.0.1/ld/testsuite/ld-i386/tlspic.rd ---- binutils-2.15.94.0.1.orig/ld/testsuite/ld-i386/tlspic.rd 2004-11-22 20:33:33.000000000 +0000 -+++ binutils-2.15.94.0.1/ld/testsuite/ld-i386/tlspic.rd 2004-12-08 04:28:05.800684168 +0000 -@@ -42,6 +42,7 @@ - LOAD.* - DYNAMIC.* - TLS +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x0+60 0x0+80 R +0x1 -+ PAX_FLAGS 0x000000 0x00000000 0x00000000 0x00000 0x00000 0x4 - - Section to Segment mapping: - Segment Sections... -@@ -49,6 +50,7 @@ - 01 +.tdata .dynamic .got .got.plt * - 02 +.dynamic * - 03 +.tdata .tbss * -+ 04 - - Relocation section '.rel.dyn' at offset 0x[0-9a-f]+ contains 26 entries: - Offset +Info +Type +Sym.Value +Sym. Name Deleted: trunk/hlfs/binutils-2.15.94.0.2-uClibc_conf-1.patch =================================================================== --- trunk/hlfs/binutils-2.15.94.0.2-uClibc_conf-1.patch 2005-03-05 14:39:10 UTC (rev 856) +++ trunk/hlfs/binutils-2.15.94.0.2-uClibc_conf-1.patch 2005-03-05 14:42:28 UTC (rev 857) @@ -1,762 +0,0 @@ -Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes) -Date: 2004-12-27 -Initial Package Version: 2.15.94.0.2 -Upstream Status: Not submitted - Hack -ORIGIN: http://www.uclibc.org/cgi-bin/cvsweb/buildroot/toolchain/\ - binutils/2.15.94.0.2/100-uclibc-conf.patch -Description: This adds --target=*-*-linux-uclibc* needed for building a -uClibc toolchain. - -Also see: -http://www.linuxfromscratch.org/hlfs/ -http://www.uclibc.org/ - -diff -ur binutils-2.15.94.0.2.orig/bfd/config.bfd binutils-2.15.94.0.2/bfd/config.bfd ---- binutils-2.15.94.0.2.orig/bfd/config.bfd 2004-12-22 15:00:57.219024360 -0500 -+++ binutils-2.15.94.0.2/bfd/config.bfd 2004-12-22 15:01:18.982715776 -0500 -@@ -140,7 +140,7 @@ - targ_defvec=ecoffalpha_little_vec - targ_selvecs=bfd_elf64_alpha_vec - ;; -- alpha*-*-linux-gnu* | alpha*-*-elf*) -+ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc* | alpha*-*-elf*) - targ_defvec=bfd_elf64_alpha_vec - targ_selvecs=ecoffalpha_little_vec - ;; -@@ -150,7 +150,7 @@ - alpha*-*-*) - targ_defvec=ecoffalpha_little_vec - ;; -- ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) -+ ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-linux-uclibc* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) - targ_defvec=bfd_elf64_ia64_little_vec - targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec" - ;; -@@ -227,7 +227,7 @@ - targ_defvec=bfd_elf32_littlearm_vec - targ_selvecs=bfd_elf32_bigarm_vec - ;; -- armeb-*-elf | arm*b-*-linux-gnu*) -+ armeb-*-elf | arm*b-*-linux-gnu* | arm*b-*-linux-uclibc*) - targ_defvec=bfd_elf32_bigarm_vec - targ_selvecs=bfd_elf32_littlearm_vec - ;; -@@ -235,8 +235,8 @@ - targ_defvec=bfd_elf32_littlearm_vec - targ_selvecs=bfd_elf32_bigarm_vec - ;; -- arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \ -- arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks | \ -+ arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-linux-uclibc* | \ -+ arm*-*-conix* | arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks | \ - arm*-*-eabi* ) - targ_defvec=bfd_elf32_littlearm_vec - targ_selvecs=bfd_elf32_bigarm_vec -@@ -381,7 +381,7 @@ - ;; - - #ifdef BFD64 -- hppa*64*-*-linux-gnu*) -+ hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*) - targ_defvec=bfd_elf64_hppa_linux_vec - targ_selvecs=bfd_elf64_hppa_vec - ;; -@@ -392,7 +392,7 @@ - ;; - #endif - -- hppa*-*-linux-gnu*) -+ hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*) - targ_defvec=bfd_elf32_hppa_linux_vec - targ_selvecs=bfd_elf32_hppa_vec - ;; -@@ -525,7 +525,7 @@ - targ_selvecs=bfd_elf32_i386_vec - targ_underscore=yes - ;; -- i[3-7]86-*-linux-gnu*) -+ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) - targ_defvec=bfd_elf32_i386_vec - targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec" - targ64_selvecs=bfd_elf64_x86_64_vec -@@ -539,7 +539,7 @@ - targ_defvec=bfd_elf64_x86_64_vec - targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec" - ;; -- x86_64-*-linux-gnu*) -+ x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*) - targ_defvec=bfd_elf64_x86_64_vec - targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec" - ;; -@@ -715,7 +715,7 @@ - targ_selvecs=bfd_elf32_m68k_vec - targ_underscore=yes - ;; -- m68*-*-linux-gnu*) -+ m68*-*-linux-gnu* | m68*-*-linux-uclibc*) - targ_defvec=bfd_elf32_m68k_vec - targ_selvecs=m68klinux_vec - ;; -@@ -1001,7 +1001,8 @@ - ;; - #endif - powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ -- powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \ -+ powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-linux-uclibc* | \ -+ powerpc-*-rtems* | \ - powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*) - targ_defvec=bfd_elf32_powerpc_vec - targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec" -@@ -1038,8 +1039,8 @@ - targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" - ;; - powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ -- powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\ -- powerpcle-*-rtems*) -+ powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-linux-uclibc* |\ -+ powerpcle-*-vxworks* | powerpcle-*-rtems*) - targ_defvec=bfd_elf32_powerpcle_vec - targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" - targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec" -@@ -1209,7 +1210,7 @@ - targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" - targ_underscore=yes - ;; -- sparc-*-linux-gnu*) -+ sparc-*-linux-gnu* | sparc-*-linux-uclibc*) - targ_defvec=bfd_elf32_sparc_vec - targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec" - ;; -@@ -1256,7 +1257,7 @@ - targ_defvec=sunos_big_vec - targ_underscore=yes - ;; -- sparc64-*-linux-gnu*) -+ sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*) - targ_defvec=bfd_elf64_sparc_vec - targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec" - ;; -@@ -1325,7 +1326,7 @@ - targ_underscore=yes - ;; - -- vax-*-linux-gnu*) -+ vax-*-linux-gnu* | vax-*-linux-uclibc*) - targ_defvec=bfd_elf32_vax_vec - ;; - -diff -ur binutils-2.15.94.0.2.orig/bfd/configure binutils-2.15.94.0.2/bfd/configure ---- binutils-2.15.94.0.2.orig/bfd/configure 2004-12-22 15:00:57.221024056 -0500 -+++ binutils-2.15.94.0.2/bfd/configure 2004-12-22 15:01:18.996713648 -0500 -@@ -3583,6 +3583,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd* | knetbsd*-gnu) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' -@@ -9914,7 +9919,7 @@ - alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) - COREFILE='' - ;; -- alpha*-*-linux-gnu*) -+ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/alphalinux.h"' - ;; -@@ -9978,7 +9983,7 @@ - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/i386mach3.h"' - ;; -- i[3-7]86-*-linux-gnu*) -+ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/i386linux.h"' - ;; -@@ -10016,7 +10021,7 @@ - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/hp300bsd.h"' - ;; -- m68*-*-linux-gnu*) -+ m68*-*-linux-gnu* | m68*-*-linux-uclibc*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/m68klinux.h"' - ;; -@@ -10150,7 +10155,7 @@ - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/vaxult2.h"' - ;; -- vax-*-linux-gnu*) -+ vax-*-linux-gnu* | vax-*-linux-uclibc*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/vaxlinux.h"' - ;; -diff -ur binutils-2.15.94.0.2.orig/bfd/configure.in binutils-2.15.94.0.2/bfd/configure.in ---- binutils-2.15.94.0.2.orig/bfd/configure.in 2004-12-22 15:00:57.223023752 -0500 -+++ binutils-2.15.94.0.2/bfd/configure.in 2004-12-22 15:01:18.998713344 -0500 -@@ -163,7 +163,7 @@ - alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) - COREFILE='' - ;; -- alpha*-*-linux-gnu*) -+ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/alphalinux.h"' - ;; -@@ -248,7 +248,7 @@ - TRAD_HEADER='"hosts/i386mach3.h"' - ;; - changequote(,)dnl -- i[3-7]86-*-linux-gnu*) -+ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) - changequote([,])dnl - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/i386linux.h"' -@@ -289,7 +289,7 @@ - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/hp300bsd.h"' - ;; -- m68*-*-linux-gnu*) -+ m68*-*-linux-gnu* | m68*-*-linux-uclibc*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/m68klinux.h"' - ;; -@@ -375,7 +375,7 @@ - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/vaxult2.h"' - ;; -- vax-*-linux-gnu*) -+ vax-*-linux-gnu* | vax-*-linux-uclibc*) - COREFILE=trad-core.lo - TRAD_HEADER='"hosts/vaxlinux.h"' - ;; -diff -ur binutils-2.15.94.0.2.orig/binutils/configure binutils-2.15.94.0.2/binutils/configure ---- binutils-2.15.94.0.2.orig/binutils/configure 2004-12-22 15:00:57.351004296 -0500 -+++ binutils-2.15.94.0.2/binutils/configure 2004-12-22 15:01:19.002712736 -0500 -@@ -1575,6 +1575,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd* | knetbsd*-gnu) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' -diff -ur binutils-2.15.94.0.2.orig/configure binutils-2.15.94.0.2/configure ---- binutils-2.15.94.0.2.orig/configure 2004-12-22 15:00:57.321008856 -0500 -+++ binutils-2.15.94.0.2/configure 2004-12-22 15:01:19.007711976 -0500 -@@ -1352,6 +1352,18 @@ - i[3456789]86-*-coff | i[3456789]86-*-elf) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; -+ i[3456789]86-*-linux-uclibc*) -+ # This section makes it possible to build newlib natively on linux. -+ # If we are using a cross compiler then don't configure newlib. -+ if test x${is_cross_compiler} != xno ; then -+ noconfigdirs="$noconfigdirs target-newlib" -+ fi -+ noconfigdirs="$noconfigdirs target-libgloss" -+ # If we are not using a cross compiler, do configure newlib. -+ # Note however, that newlib will only be configured in this situation -+ # if the --with-newlib option has been given, because otherwise -+ # 'target-newlib' will appear in skipdirs. -+ ;; - i[3456789]86-*-linux*) - # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's - # not build java stuff by default. -diff -ur binutils-2.15.94.0.2.orig/configure.in binutils-2.15.94.0.2/configure.in ---- binutils-2.15.94.0.2.orig/configure.in 2004-12-22 15:00:57.321008856 -0500 -+++ binutils-2.15.94.0.2/configure.in 2004-12-22 15:01:19.010711520 -0500 -@@ -561,6 +561,18 @@ - i[[3456789]]86-*-coff | i[[3456789]]86-*-elf) - noconfigdirs="$noconfigdirs ${libgcj}" - ;; -+ i[[3456789]]86-*-linux-uclibc*) -+ # This section makes it possible to build newlib natively on linux. -+ # If we are using a cross compiler then don't configure newlib. -+ if test x${is_cross_compiler} != xno ; then -+ noconfigdirs="$noconfigdirs target-newlib" -+ fi -+ noconfigdirs="$noconfigdirs target-libgloss" -+ # If we are not using a cross compiler, do configure newlib. -+ # Note however, that newlib will only be configured in this situation -+ # if the --with-newlib option has been given, because otherwise -+ # 'target-newlib' will appear in skipdirs. -+ ;; - i[[3456789]]86-*-linux*) - # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's - # not build java stuff by default. -diff -ur binutils-2.15.94.0.2.orig/gas/configure binutils-2.15.94.0.2/gas/configure ---- binutils-2.15.94.0.2.orig/gas/configure 2004-12-22 15:00:57.461987424 -0500 -+++ binutils-2.15.94.0.2/gas/configure 2004-12-22 15:01:19.019710152 -0500 -@@ -3420,6 +3420,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd* | knetbsd*-gnu) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' -@@ -4256,6 +4261,7 @@ - alpha*-*-osf*) fmt=ecoff ;; - alpha*-*-linuxecoff*) fmt=ecoff ;; - alpha*-*-linux-gnu*) fmt=elf em=linux ;; -+ alpha*-*-linux-uclibc*) fmt=elf em=linux ;; - alpha*-*-netbsd*) fmt=elf em=nbsd ;; - alpha*-*-openbsd*) fmt=elf em=obsd ;; - -@@ -4272,6 +4278,7 @@ - arm-*-linux*aout*) fmt=aout em=linux ;; - arm*-*-linux-gnueabi*) fmt=elf em=armlinuxeabi ;; - arm*-*-linux-gnu*) fmt=elf em=linux ;; -+ arm*-*-linux-uclibc*) fmt=elf em=linux ;; - arm*-*-uclinux*) fmt=elf em=linux ;; - arm-*-netbsdelf*) fmt=elf em=nbsd ;; - arm-*-*n*bsd*) fmt=aout em=nbsd ;; -@@ -4285,6 +4292,7 @@ - - cris-*-linux-gnu* | crisv32-*-linux-gnu*) - fmt=multi bfd_gas=yes em=linux ;; -+ cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;; - cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;; - - crx-*-elf*) fmt=elf ;; -@@ -4344,7 +4352,9 @@ - i386-*-linux*oldld) fmt=aout em=linux ;; - i386-*-linux*coff*) fmt=coff em=linux ;; - i386-*-linux-gnu*) fmt=elf em=linux ;; -+ i386-*-linux-uclibc*) fmt=elf em=linux ;; - x86_64-*-linux-gnu*) fmt=elf em=linux ;; -+ x86_64-*-linux-uclibc*) fmt=elf em=linux ;; - i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;; - i386-*-sysv[45]*) fmt=elf ;; - i386-*-solaris*) fmt=elf ;; -@@ -4404,6 +4414,7 @@ - ia64-*-elf*) fmt=elf ;; - ia64-*-aix*) fmt=elf em=ia64aix ;; - ia64-*-linux-gnu*) fmt=elf em=linux ;; -+ ia64-*-linux-uclibc*) fmt=elf em=linux ;; - ia64-*-hpux*) fmt=elf em=hpux ;; - ia64-*-netbsd*) fmt=elf em=nbsd ;; - -@@ -4431,6 +4442,7 @@ - m68k-*-hpux*) fmt=hp300 em=hp300 ;; - m68k-*-linux*aout*) fmt=aout em=linux ;; - m68k-*-linux-gnu*) fmt=elf em=linux ;; -+ m68k-*-linux-uclibc*) fmt=elf em=linux ;; - m68k-*-uclinux*) fmt=elf ;; - m68k-*-gnu*) fmt=elf ;; - m68k-*-lynxos*) fmt=coff em=lynx ;; -@@ -4505,6 +4517,7 @@ - ppc-*-beos*) fmt=coff ;; - ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;; - ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;; -+ ppc-*-linux-uclibc* | \ - ppc-*-linux-gnu*) fmt=elf em=linux - case "$endian" in - big) ;; -@@ -4532,7 +4545,9 @@ - ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;; - - s390x-*-linux-gnu*) fmt=elf em=linux ;; -+ s390x-*-linux-uclibc*) fmt=elf em=linux ;; - s390-*-linux-gnu*) fmt=elf em=linux ;; -+ s390-*-linux-uclibc*) fmt=elf em=linux ;; - s390-*-tpf*) fmt=elf ;; - - sh*-*-linux*) fmt=elf em=linux -@@ -4568,6 +4583,7 @@ - sparc-*-coff) fmt=coff ;; - sparc-*-linux*aout*) fmt=aout em=linux ;; - sparc-*-linux-gnu*) fmt=elf em=linux ;; -+ sparc-*-linux-uclibc*) fmt=elf em=linux ;; - sparc-*-lynxos*) fmt=coff em=lynx ;; - sparc-fujitsu-none) fmt=aout ;; - sparc-*-elf) fmt=elf ;; -diff -ur binutils-2.15.94.0.2.orig/gas/configure.in binutils-2.15.94.0.2/gas/configure.in ---- binutils-2.15.94.0.2.orig/gas/configure.in 2004-12-22 15:00:57.461987424 -0500 -+++ binutils-2.15.94.0.2/gas/configure.in 2004-12-22 15:01:19.022709696 -0500 -@@ -202,6 +202,7 @@ - alpha*-*-osf*) fmt=ecoff ;; - alpha*-*-linuxecoff*) fmt=ecoff ;; - alpha*-*-linux-gnu*) fmt=elf em=linux ;; -+ alpha*-*-linux-uclibc*) fmt=elf em=linux ;; - alpha*-*-netbsd*) fmt=elf em=nbsd ;; - alpha*-*-openbsd*) fmt=elf em=obsd ;; - -@@ -218,6 +219,7 @@ - arm-*-linux*aout*) fmt=aout em=linux ;; - arm*-*-linux-gnueabi*) fmt=elf em=armlinuxeabi ;; - arm*-*-linux-gnu*) fmt=elf em=linux ;; -+ arm*-*-linux-uclibc*) fmt=elf em=linux ;; - arm*-*-uclinux*) fmt=elf em=linux ;; - arm-*-netbsdelf*) fmt=elf em=nbsd ;; - arm-*-*n*bsd*) fmt=aout em=nbsd ;; -@@ -231,6 +233,7 @@ - - cris-*-linux-gnu* | crisv32-*-linux-gnu*) - fmt=multi bfd_gas=yes em=linux ;; -+ cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;; - cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;; - - crx-*-elf*) fmt=elf ;; -@@ -290,7 +293,9 @@ - i386-*-linux*oldld) fmt=aout em=linux ;; - i386-*-linux*coff*) fmt=coff em=linux ;; - i386-*-linux-gnu*) fmt=elf em=linux ;; -+ i386-*-linux-uclibc*) fmt=elf em=linux ;; - x86_64-*-linux-gnu*) fmt=elf em=linux ;; -+ x86_64-*-linux-uclibc*) fmt=elf em=linux ;; - i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;; - changequote(,)dnl - i386-*-sysv[45]*) fmt=elf ;; -@@ -343,6 +348,7 @@ - ia64-*-elf*) fmt=elf ;; - ia64-*-aix*) fmt=elf em=ia64aix ;; - ia64-*-linux-gnu*) fmt=elf em=linux ;; -+ ia64-*-linux-uclibc*) fmt=elf em=linux ;; - ia64-*-hpux*) fmt=elf em=hpux ;; - ia64-*-netbsd*) fmt=elf em=nbsd ;; - -@@ -370,6 +376,7 @@ - m68k-*-hpux*) fmt=hp300 em=hp300 ;; - m68k-*-linux*aout*) fmt=aout em=linux ;; - m68k-*-linux-gnu*) fmt=elf em=linux ;; -+ m68k-*-linux-uclibc*) fmt=elf em=linux ;; - m68k-*-uclinux*) fmt=elf ;; - m68k-*-gnu*) fmt=elf ;; - m68k-*-lynxos*) fmt=coff em=lynx ;; -@@ -441,6 +448,7 @@ - ppc-*-beos*) fmt=coff ;; - ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;; - ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;; -+ ppc-*-linux-uclibc* | \ - ppc-*-linux-gnu*) fmt=elf em=linux - case "$endian" in - big) ;; -@@ -461,7 +469,9 @@ - ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;; - - s390x-*-linux-gnu*) fmt=elf em=linux ;; -+ s390x-*-linux-uclibc*) fmt=elf em=linux ;; - s390-*-linux-gnu*) fmt=elf em=linux ;; -+ s390-*-linux-uclibc*) fmt=elf em=linux ;; - s390-*-tpf*) fmt=elf ;; - - sh*-*-linux*) fmt=elf em=linux -@@ -493,6 +503,7 @@ - sparc-*-coff) fmt=coff ;; - sparc-*-linux*aout*) fmt=aout em=linux ;; - sparc-*-linux-gnu*) fmt=elf em=linux ;; -+ sparc-*-linux-uclibc*) fmt=elf em=linux ;; - sparc-*-lynxos*) fmt=coff em=lynx ;; - sparc-fujitsu-none) fmt=aout ;; - sparc-*-elf) fmt=elf ;; -diff -ur binutils-2.15.94.0.2.orig/gprof/configure binutils-2.15.94.0.2/gprof/configure ---- binutils-2.15.94.0.2.orig/gprof/configure 2004-12-22 15:00:57.949913248 -0500 -+++ binutils-2.15.94.0.2/gprof/configure 2004-12-22 15:01:19.030708480 -0500 -@@ -3418,6 +3418,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd* | knetbsd*-gnu) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' -diff -ur binutils-2.15.94.0.2.orig/ld/configure binutils-2.15.94.0.2/ld/configure ---- binutils-2.15.94.0.2.orig/ld/configure 2004-12-22 15:00:58.032900632 -0500 -+++ binutils-2.15.94.0.2/ld/configure 2004-12-22 15:01:19.035707720 -0500 -@@ -1579,6 +1579,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd* | knetbsd*-gnu) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' -diff -ur binutils-2.15.94.0.2.orig/ld/configure.tgt binutils-2.15.94.0.2/ld/configure.tgt ---- binutils-2.15.94.0.2.orig/ld/configure.tgt 2004-12-22 15:00:58.033900480 -0500 -+++ binutils-2.15.94.0.2/ld/configure.tgt 2004-12-22 15:01:19.036707568 -0500 -@@ -32,6 +32,7 @@ - targ_extra_libpath=$targ_extra_emuls ;; - cris-*-linux-gnu* | cris-*-linux-gnu*) - targ_emul=crislinux ;; -+cris-*-linux-uclibc*) targ_emul=crislinux ;; - cris-*-* | crisv32-*-*) targ_emul=criself - targ_extra_emuls="crisaout crislinux" - targ_extra_libpath=$targ_extra_emuls ;; -@@ -62,14 +63,16 @@ - tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'` - tdir_sun4=sparc-sun-sunos4 - ;; --sparc64-*-linux-gnu*) targ_emul=elf64_sparc -+sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*) \ -+ targ_emul=elf64_sparc - targ_extra_emuls="elf32_sparc sparclinux sun4" - targ_extra_libpath=elf32_sparc - tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` - tdir_sparclinux=${tdir_elf32_sparc}aout - tdir_sun4=sparc-sun-sunos4 - ;; --sparc*-*-linux-gnu*) targ_emul=elf32_sparc -+sparc*-*-linux-gnu* | sparc*-*-linux-uclibc*) \ -+ targ_emul=elf32_sparc - targ_extra_emuls="sparclinux elf64_sparc sun4" - targ_extra_libpath=elf64_sparc - tdir_sparclinux=${targ_alias}aout -@@ -121,7 +124,9 @@ - m32r*le-*-elf*) targ_emul=m32rlelf ;; - m32r*-*-elf*) targ_emul=m32relf ;; - m32r*le-*-linux-gnu*) targ_emul=m32rlelf_linux ;; -+m32r*le-*-linux-uclibc*) targ_emul=m32rlelf_linux ;; - m32r*-*-linux-gnu*) targ_emul=m32relf_linux ;; -+m32r*-*-linux-uclibc*) targ_emul=m32relf_linux ;; - m68hc11-*-*|m6811-*-*) targ_emul=m68hc11elf - targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;; - m68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf -@@ -132,7 +137,7 @@ - m68*-apple-aux*) targ_emul=m68kaux ;; - maxq-*-coff) targ_emul=maxqcoff;; - *-tandem-none) targ_emul=st2000 ;; --i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;; -+i370-*-elf* | i370-*-linux-gnu* | i370-*-linux-uclibc*) targ_emul=elf32i370 ;; - i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;; - i[3-7]86-*-vsta) targ_emul=vsta ;; - i[3-7]86-go32-rtems*) targ_emul=i386go32 ;; -@@ -156,14 +161,16 @@ - tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` - ;; - i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;; --i[3-7]86-*-linux-gnu*) targ_emul=elf_i386 -+i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) \ -+ targ_emul=elf_i386 - targ_extra_emuls=i386linux - if test x${want64} = xtrue; then - targ_extra_emuls="$targ_extra_emuls elf_x86_64" - fi - tdir_i386linux=${targ_alias}aout - ;; --x86_64-*-linux-gnu*) targ_emul=elf_x86_64 -+x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*) \ -+ targ_emul=elf_x86_64 - targ_extra_emuls="elf_i386 i386linux" - targ_extra_libpath=elf_i386 - tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'` -@@ -263,11 +270,14 @@ - arm-*-kaos*) targ_emul=armelf ;; - arm9e-*-elf) targ_emul=armelf ;; - arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;; -+arm*b-*-linux-uclibc*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;; - arm*-*-linux-gnueabi) targ_emul=armelf_linux_eabi ;; - arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; -+arm*-*-linux-uclibc*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; - arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; - arm*-*-conix*) targ_emul=armelf ;; --thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; -+thumb-*-linux-gnu* | thumb-*-linux-uclibc* | thumb-*-uclinux*) \ -+ targ_emul=armelf_linux; targ_extra_emuls=armelf ;; - strongarm-*-coff) targ_emul=armcoff ;; - strongarm-*-elf) targ_emul=armelf ;; - strongarm-*-kaos*) targ_emul=armelf ;; -@@ -371,7 +381,8 @@ - targ_extra_emuls=m68kelf - tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'` - ;; --m68k-*-linux-gnu*) targ_emul=m68kelf -+m68k-*-linux-gnu* | m68k-*-linux-uclibc*) \ -+ targ_emul=m68kelf - targ_extra_emuls=m68klinux - tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'` - ;; -@@ -388,9 +399,9 @@ - m68*-*-psos*) targ_emul=m68kpsos ;; - m68*-*-rtemscoff*) targ_emul=m68kcoff ;; - m68*-*-rtems*) targ_emul=m68kelf ;; --hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;; -+hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*) targ_emul=hppa64linux ;; - hppa*64*-*) targ_emul=elf64hppa ;; --hppa*-*-linux-gnu*) targ_emul=hppalinux ;; -+hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*) targ_emul=hppalinux ;; - hppa*-*-*elf*) targ_emul=hppaelf ;; - hppa*-*-lites*) targ_emul=hppaelf ;; - hppa*-*-netbsd*) targ_emul=hppanbsd ;; -@@ -403,6 +414,7 @@ - targ_emul=vaxnbsd - targ_extra_emuls=elf32vax ;; - vax-*-linux-gnu*) targ_emul=elf32vax ;; -+vax-*-linux-uclibc*) targ_emul=elf32vax ;; - mips*-*-pe) targ_emul=mipspe ; - targ_extra_ofiles="deffilep.o pe-dll.o" ;; - mips*-dec-ultrix*) targ_emul=mipslit ;; -@@ -436,16 +448,16 @@ - mips*-*-vxworks*) targ_emul=elf32ebmip - targ_extra_emuls="elf32elmip" ;; - mips*-*-windiss) targ_emul=elf32mipswindiss ;; --mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32 -+mips64*el-*-linux-gnu* | mips64*el-*-linux-uclibc*) targ_emul=elf32ltsmipn32 - targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" - ;; --mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32 -+mips64*-*-linux-gnu* | mips64*-*-linux-uclibc*) targ_emul=elf32btsmipn32 - targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" - ;; --mips*el-*-linux-gnu*) targ_emul=elf32ltsmip -+mips*el-*-linux-gnu* | mips*el-*-linux-uclibc*) targ_emul=elf32ltsmip - targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" - ;; --mips*-*-linux-gnu*) targ_emul=elf32btsmip -+mips*-*-linux-gnu* | mips*-*-linux-uclibc*) targ_emul=elf32btsmip - targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" - ;; - mips*-*-lnews*) targ_emul=mipslnews ;; -@@ -468,6 +480,10 @@ - alpha*-*-linux-gnu*) targ_emul=elf64alpha targ_extra_emuls=alpha - tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'` - ;; -+alpha*-*-linux-uclibc*) targ_emul=elf64alpha targ_extra_emuls=alpha -+ # The following needs to be checked... -+ tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'` -+ ;; - alpha*-*-osf*) targ_emul=alpha ;; - alpha*-*-gnu*) targ_emul=elf64alpha ;; - alpha*-*-netware*) targ_emul=alpha ;; -diff -ur binutils-2.15.94.0.2.orig/ld/emultempl/elf32.em binutils-2.15.94.0.2/ld/emultempl/elf32.em ---- binutils-2.15.94.0.2.orig/ld/emultempl/elf32.em 2004-12-22 15:00:58.044898808 -0500 -+++ binutils-2.15.94.0.2/ld/emultempl/elf32.em 2004-12-22 15:01:19.038707264 -0500 -@@ -65,7 +65,7 @@ - - if [ "x${USE_LIBPATH}" = xyes ] ; then - case ${target} in -- *-*-linux-gnu*) -+ *-*-linux-gnu* | *-*-linux-uclibc*) - cat >>e${EMULATION_NAME}.c <<EOF - #include <glob.h> - EOF -@@ -337,7 +337,7 @@ - - EOF - case ${target} in -- *-*-linux-gnu*) -+ *-*-linux-gnu* | *-*-linux-uclibc*) - cat >>e${EMULATION_NAME}.c <<EOF - { - struct bfd_link_needed_list *l; -@@ -510,7 +510,7 @@ - - EOF - case ${target} in -- *-*-linux-gnu*) -+ *-*-linux-gnu* | *-*-linux-uclibc*) - cat >>e${EMULATION_NAME}.c <<EOF - /* For a native linker, check the file /etc/ld.so.conf for directories - in which we may find shared libraries. /etc/ld.so.conf is really -@@ -894,7 +894,7 @@ - EOF - if [ "x${USE_LIBPATH}" = xyes ] ; then - case ${target} in -- *-*-linux-gnu*) -+ *-*-linux-gnu* | *-*-linux-uclibc*) - cat >>e${EMULATION_NAME}.c <<EOF - if (gld${EMULATION_NAME}_check_ld_so_conf (l->name, force)) - break; -diff -ur binutils-2.15.94.0.2.orig/libiberty/configure binutils-2.15.94.0.2/libiberty/configure ---- binutils-2.15.94.0.2.orig/libiberty/configure 2004-12-22 15:00:59.263713520 -0500 -+++ binutils-2.15.94.0.2/libiberty/configure 2004-12-22 15:03:55.744884304 -0500 -@@ -3682,6 +3682,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd* | knetbsd*-gnu) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' -diff -ur binutils-2.15.94.0.2.orig/libtool.m4 binutils-2.15.94.0.2/libtool.m4 ---- binutils-2.15.94.0.2.orig/libtool.m4 2004-12-22 15:00:57.329007640 -0500 -+++ binutils-2.15.94.0.2/libtool.m4 2004-12-22 15:01:19.039707112 -0500 -@@ -645,6 +645,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd* | knetbsd*-gnu) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'] -diff -ur binutils-2.15.94.0.2.orig/ltconfig binutils-2.15.94.0.2/ltconfig ---- binutils-2.15.94.0.2.orig/ltconfig 2004-12-22 15:00:57.330007488 -0500 -+++ binutils-2.15.94.0.2/ltconfig 2004-12-22 15:01:19.041706808 -0500 -@@ -603,6 +603,7 @@ - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in - linux-gnu*) ;; -+linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac - -@@ -1270,6 +1271,24 @@ - dynamic_linker='GNU/Linux ld.so' - ;; - -+linux-uclibc*) -+ version_type=linux -+ need_lib_prefix=no -+ need_version=no -+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' -+ soname_spec='${libname}${release}.so$major' -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=no -+ # This implies no fast_install, which is unacceptable. -+ # Some rework will be needed to allow for fast_install -+ # before this can be enabled. -+ # Note: copied from linux-gnu, and may not be appropriate. -+ hardcode_into_libs=yes -+ # Assume using the uClibc dynamic linker. -+ dynamic_linker="uClibc ld.so" -+ ;; -+ - netbsd*) - need_lib_prefix=no - need_version=no -diff -ur binutils-2.15.94.0.2.orig/opcodes/configure binutils-2.15.94.0.2/opcodes/configure ---- binutils-2.15.94.0.2.orig/opcodes/configure 2004-12-22 15:00:59.334702728 -0500 -+++ binutils-2.15.94.0.2/opcodes/configure 2004-12-22 15:01:19.053704984 -0500 -@@ -3587,6 +3587,11 @@ - lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` - ;; - -+linux-uclibc*) -+ lt_cv_deplibs_check_method=pass_all -+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` -+ ;; -+ - netbsd* | knetbsd*-gnu) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' Copied: trunk/hlfs/binutils-2.15.94.0.2.2-pt_pax-1.patch (from rev 854, trunk/hlfs/binutils-2.15.94.0.2-pt_pax-1.patch) Copied: trunk/hlfs/binutils-2.15.94.0.2.2-uClibc_conf-1.patch (from rev 854, trunk/hlfs/binutils-2.15.94.0.2-uClibc_conf-1.patch) -- http://linuxfromscratch.org/mailman/listinfo/patches FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
