r858 - in trunk: binutils hlfs

archaic at linuxfromscratch.org archaic at linuxfromscratch.org
Sat Mar 5 06:53:12 PST 2005


Author: archaic
Date: 2005-03-05 07:53:12 -0700 (Sat, 05 Mar 2005)
New Revision: 858

Removed:
   trunk/binutils/binutils-2.15.94.0.2-hardened_cflags-1.patch
   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-hardened_cflags-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
Log:
Bad commit. Reverting and redoing.

Deleted: trunk/binutils/binutils-2.15.94.0.2-hardened_cflags-1.patch
===================================================================
--- trunk/binutils/binutils-2.15.94.0.2-hardened_cflags-1.patch	2005-03-05 14:42:28 UTC (rev 857)
+++ trunk/binutils/binutils-2.15.94.0.2-hardened_cflags-1.patch	2005-03-05 14:53:12 UTC (rev 858)
@@ -1 +0,0 @@
-link ../hlfs/binutils-2.15.94.0.2-hardened_cflags-1.patch
\ No newline at end of file

Deleted: 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:42:28 UTC (rev 857)
+++ trunk/binutils/binutils-2.15.94.0.2.2-pt_pax-1.patch	2005-03-05 14:53:12 UTC (rev 858)
@@ -1 +0,0 @@
-link ../hlfs/binutils-2.15.94.0.2.2-pt_pax-1.patch
\ No newline at end of file

Deleted: 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:42:28 UTC (rev 857)
+++ trunk/binutils/binutils-2.15.94.0.2.2-uClibc_conf-1.patch	2005-03-05 14:53:12 UTC (rev 858)
@@ -1 +0,0 @@
-link ../hlfs/binutils-2.15.94.0.2.2-uClibc_conf-1.patch
\ No newline at end of file

Deleted: trunk/hlfs/binutils-2.15.94.0.2-hardened_cflags-1.patch
===================================================================
--- trunk/hlfs/binutils-2.15.94.0.2-hardened_cflags-1.patch	2005-03-05 14:42:28 UTC (rev 857)
+++ trunk/hlfs/binutils-2.15.94.0.2-hardened_cflags-1.patch	2005-03-05 14:53:12 UTC (rev 858)
@@ -1,171 +0,0 @@
-Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
-Date: 2005-01-31
-Initial Package Version: 2.15.94.0.2
-Upstream Status: Not submitted
-Origin: None
-Description: Use gcc -fpie, -fpic, and ld -pie, -z relro, -z now.
-
-See:
-http://www.linuxfromscratch.org/~robert/Homogenic/
-
-diff -Naur binutils-2.15.94.0.2.orig/Makefile.in binutils-2.15.94.0.2/Makefile.in
---- binutils-2.15.94.0.2.orig/Makefile.in	2005-01-31 09:50:32.437129768 +0000
-+++ binutils-2.15.94.0.2/Makefile.in	2005-01-31 10:15:08.060213808 +0000
-@@ -543,23 +543,14 @@
- 	"SHELL=$(SHELL)" \
- 	"YACC=$(YACC)" \
- 	"AR_FLAGS=$(AR_FLAGS)" \
--	"CFLAGS=$(CFLAGS)" \
--	"CXXFLAGS=$(CXXFLAGS)" \
--	"LDFLAGS=$(LDFLAGS)" \
--	"LIBCFLAGS=$(LIBCFLAGS)" \
--	"LIBCXXFLAGS=$(LIBCXXFLAGS)" \
- 	"AR_FOR_TARGET=$(AR_FOR_TARGET)" \
- 	"AS_FOR_TARGET=$(AS_FOR_TARGET)" \
- 	"CC_FOR_TARGET=$(CC_FOR_TARGET)" \
--	"CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
- 	"CXX_FOR_TARGET=$(CXX_FOR_TARGET)" \
--	"CXXFLAGS_FOR_TARGET=$(CXXFLAGS_FOR_TARGET)" \
- 	"DLLTOOL_FOR_TARGET=$(DLLTOOL_FOR_TARGET)" \
- 	"GCJ_FOR_TARGET=$(GCJ_FOR_TARGET)" \
- 	"GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \
- 	"LD_FOR_TARGET=$(LD_FOR_TARGET)" \
--	"LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
--	"LIBCXXFLAGS_FOR_TARGET=$(LIBCXXFLAGS_FOR_TARGET)" \
- 	"NM_FOR_TARGET=$(NM_FOR_TARGET)" \
- 	"PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
- 	"RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \
-@@ -613,13 +604,9 @@
- 	'AR=$$(AR_FOR_TARGET)' \
- 	'AS=$$(AS_FOR_TARGET)' \
- 	'CC=$$(CC_FOR_TARGET)' \
--	'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
- 	'CXX=$$(CXX_FOR_TARGET)' \
--	'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
- 	'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
- 	'LD=$$(LD_FOR_TARGET)' \
--	'LIBCFLAGS=$$(LIBCFLAGS_FOR_TARGET)' \
--	'LIBCXXFLAGS=$$(LIBCXXFLAGS_FOR_TARGET)' \
- 	'NM=$$(NM_FOR_TARGET)' \
- 	'PICFLAG=$$(PICFLAG_FOR_TARGET)' \
- 	'RANLIB=$$(RANLIB_FOR_TARGET)' \
-diff -Naur binutils-2.15.94.0.2.orig/bfd/Makefile.in binutils-2.15.94.0.2/bfd/Makefile.in
---- binutils-2.15.94.0.2.orig/bfd/Makefile.in	2005-01-31 09:50:32.483122776 +0000
-+++ binutils-2.15.94.0.2/bfd/Makefile.in	2005-01-31 10:15:44.830623856 +0000
-@@ -124,7 +124,7 @@
- CC = @CC@
- CCDEPMODE = @CCDEPMODE@
- CC_FOR_BUILD = @CC_FOR_BUILD@
--CFLAGS = @CFLAGS@
-+CFLAGS = @CFLAGS@ -fpic
- COREFILE = @COREFILE@
- COREFLAG = @COREFLAG@
- CPP = @CPP@
-diff -Naur binutils-2.15.94.0.2.orig/binutils/Makefile.in binutils-2.15.94.0.2/binutils/Makefile.in
---- binutils-2.15.94.0.2.orig/binutils/Makefile.in	2005-01-31 09:50:33.010042672 +0000
-+++ binutils-2.15.94.0.2/binutils/Makefile.in	2005-01-31 10:15:08.066212896 +0000
-@@ -343,7 +343,7 @@
- 
- DEFS = @DEFS@ -I. -I$(srcdir) -I.
- CPPFLAGS = @CPPFLAGS@
--LDFLAGS = @LDFLAGS@
-+LDFLAGS = @LDFLAGS@ -z relro -z now -pie
- LIBS = @LIBS@
- nlmconv_OBJECTS =  nlmconv.$(OBJEXT) nlmheader.$(OBJEXT) \
- bucomm.$(OBJEXT) version.$(OBJEXT) filemode.$(OBJEXT)
-@@ -441,7 +441,7 @@
- LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
- LEXLIB = @LEXLIB@
- YLWRAP = $(top_srcdir)/../ylwrap
--CFLAGS = @CFLAGS@
-+CFLAGS = @CFLAGS@ -pie -fpie
- COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
- LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
- CCLD = $(CC)
-diff -Naur binutils-2.15.94.0.2.orig/gas/Makefile.in binutils-2.15.94.0.2/gas/Makefile.in
---- binutils-2.15.94.0.2.orig/gas/Makefile.in	2005-01-31 09:50:33.457974576 +0000
-+++ binutils-2.15.94.0.2/gas/Makefile.in	2005-01-31 10:15:08.075211528 +0000
-@@ -129,7 +129,7 @@
- CATOBJEXT = @CATOBJEXT@
- CC = @CC@
- CCDEPMODE = @CCDEPMODE@
--CFLAGS = @CFLAGS@
-+CFLAGS = @CFLAGS@ -pie -fpie
- CPP = @CPP@
- CPPFLAGS = @CPPFLAGS@
- CYGPATH_W = @CYGPATH_W@
-@@ -155,7 +155,7 @@
- INTLDEPS = @INTLDEPS@
- INTLLIBS = @INTLLIBS@
- INTLOBJS = @INTLOBJS@
--LDFLAGS = @LDFLAGS@
-+LDFLAGS = @LDFLAGS@ -z relro -z now -pie
- LEX = `if [ -f ../flex/flex ] ; then echo ../flex/flex ; else echo @LEX@ ; fi`
- LEXLIB = @LEXLIB@
- LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-diff -Naur binutils-2.15.94.0.2.orig/gprof/Makefile.in binutils-2.15.94.0.2/gprof/Makefile.in
---- binutils-2.15.94.0.2.orig/gprof/Makefile.in	2005-01-31 09:50:36.577500336 +0000
-+++ binutils-2.15.94.0.2/gprof/Makefile.in	2005-01-31 10:15:08.078211072 +0000
-@@ -129,7 +129,7 @@
- CATOBJEXT = @CATOBJEXT@
- CC = @CC@
- CCDEPMODE = @CCDEPMODE@
--CFLAGS = @CFLAGS@
-+CFLAGS = @CFLAGS@ -pie -fpie
- CPP = @CPP@
- CPPFLAGS = @CPPFLAGS@
- CYGPATH_W = @CYGPATH_W@
-@@ -154,7 +154,7 @@
- INTLDEPS = @INTLDEPS@
- INTLLIBS = @INTLLIBS@
- INTLOBJS = @INTLOBJS@
--LDFLAGS = @LDFLAGS@
-+LDFLAGS = @LDFLAGS@ -z relro -z now -pie
- LIBOBJS = @LIBOBJS@
- LIBS = @LIBS@
- LIBTOOL = @LIBTOOL@
-diff -Naur binutils-2.15.94.0.2.orig/ld/Makefile.in binutils-2.15.94.0.2/ld/Makefile.in
---- binutils-2.15.94.0.2.orig/ld/Makefile.in	2005-01-31 09:50:37.014433912 +0000
-+++ binutils-2.15.94.0.2/ld/Makefile.in	2005-01-31 10:15:08.084210160 +0000
-@@ -270,7 +270,7 @@
- 
- DEFS = @DEFS@ -I. -I$(srcdir) -I.
- CPPFLAGS = @CPPFLAGS@
--LDFLAGS = @LDFLAGS@
-+LDFLAGS = @LDFLAGS@ -z relro -z now -pie
- LIBS = @LIBS@
- ld_new_OBJECTS =  ldgram.$(OBJEXT) ldlex.$(OBJEXT) lexsup.$(OBJEXT) \
- ldlang.$(OBJEXT) mri.$(OBJEXT) ldctor.$(OBJEXT) ldmain.$(OBJEXT) \
-@@ -280,7 +280,7 @@
- LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
- LEXLIB = @LEXLIB@
- YLWRAP = $(top_srcdir)/../ylwrap
--CFLAGS = @CFLAGS@
-+CFLAGS = @CFLAGS@ -pie -fpie
- COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
- LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
- CCLD = $(CC)
-diff -Naur binutils-2.15.94.0.2.orig/libiberty/Makefile.in binutils-2.15.94.0.2/libiberty/Makefile.in
---- binutils-2.15.94.0.2.orig/libiberty/Makefile.in	2005-01-31 09:50:38.595193600 +0000
-+++ binutils-2.15.94.0.2/libiberty/Makefile.in	2005-01-31 10:16:52.518333760 +0000
-@@ -60,7 +60,7 @@
- AR_FLAGS = rc
- 
- CC = @CC@
--CFLAGS = @CFLAGS@
-+CFLAGS = @CFLAGS@ -fpic
- LIBCFLAGS = $(CFLAGS)
- LOADLIBES = @LIBS@
- RANLIB = @RANLIB@
-diff -Naur binutils-2.15.94.0.2.orig/opcodes/Makefile.in binutils-2.15.94.0.2/opcodes/Makefile.in
---- binutils-2.15.94.0.2.orig/opcodes/Makefile.in	2005-01-31 09:50:38.799162592 +0000
-+++ binutils-2.15.94.0.2/opcodes/Makefile.in	2005-01-31 10:17:15.437849464 +0000
-@@ -115,7 +115,7 @@
- CC = @CC@
- CCDEPMODE = @CCDEPMODE@
- CC_FOR_BUILD = @CC_FOR_BUILD@
--CFLAGS = @CFLAGS@
-+CFLAGS = @CFLAGS@ -fpic
- CGEN_MAINT_FALSE = @CGEN_MAINT_FALSE@
- CGEN_MAINT_TRUE = @CGEN_MAINT_TRUE@
- CPP = @CPP@

Deleted: trunk/hlfs/binutils-2.15.94.0.2.2-pt_pax-1.patch
===================================================================
--- trunk/hlfs/binutils-2.15.94.0.2.2-pt_pax-1.patch	2005-03-05 14:42:28 UTC (rev 857)
+++ trunk/hlfs/binutils-2.15.94.0.2.2-pt_pax-1.patch	2005-03-05 14:53:12 UTC (rev 858)
@@ -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.2-uClibc_conf-1.patch
===================================================================
--- trunk/hlfs/binutils-2.15.94.0.2.2-uClibc_conf-1.patch	2005-03-05 14:42:28 UTC (rev 857)
+++ trunk/hlfs/binutils-2.15.94.0.2.2-uClibc_conf-1.patch	2005-03-05 14:53:12 UTC (rev 858)
@@ -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]+$'




More information about the patches mailing list