Author: archaic
Date: 2005-05-21 04:41:05 -0600 (Sat, 21 May 2005)
New Revision: 954

Added:
   trunk/binutils/binutils-2.16-pt_pax-1.patch
   trunk/binutils/binutils-2.16-uClibc_conf-1.patch
   trunk/hlfs/binutils-2.16-pt_pax-1.patch
   trunk/hlfs/binutils-2.16-uClibc_conf-1.patch
Log:
Added binutils-2.16-pt_pax-1.patch & binutils-2.16-uClibc_conf-1.patch (hlfs)

Added: trunk/binutils/binutils-2.16-pt_pax-1.patch
===================================================================
--- trunk/binutils/binutils-2.16-pt_pax-1.patch 2005-05-19 20:39:32 UTC (rev 
953)
+++ trunk/binutils/binutils-2.16-pt_pax-1.patch 2005-05-21 10:41:05 UTC (rev 
954)
@@ -0,0 +1 @@
+link ../hlfs/binutils-2.16-pt_pax-1.patch
\ No newline at end of file


Property changes on: trunk/binutils/binutils-2.16-pt_pax-1.patch
___________________________________________________________________
Name: svn:special
   + *

Added: trunk/binutils/binutils-2.16-uClibc_conf-1.patch
===================================================================
--- trunk/binutils/binutils-2.16-uClibc_conf-1.patch    2005-05-19 20:39:32 UTC 
(rev 953)
+++ trunk/binutils/binutils-2.16-uClibc_conf-1.patch    2005-05-21 10:41:05 UTC 
(rev 954)
@@ -0,0 +1 @@
+link ../hlfs/binutils-2.16-uClibc_conf-1.patch
\ No newline at end of file


Property changes on: trunk/binutils/binutils-2.16-uClibc_conf-1.patch
___________________________________________________________________
Name: svn:special
   + *

Added: trunk/hlfs/binutils-2.16-pt_pax-1.patch
===================================================================
--- trunk/hlfs/binutils-2.16-pt_pax-1.patch     2005-05-19 20:39:32 UTC (rev 
953)
+++ trunk/hlfs/binutils-2.16-pt_pax-1.patch     2005-05-21 10:41:05 UTC (rev 
954)
@@ -0,0 +1,330 @@
+Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
+Date: 2005-05-19
+Initial Package Version: binutils-2.16
+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.16.orig/bfd/elf-bfd.h binutils-2.16/bfd/elf-bfd.h
+--- binutils-2.16.orig/bfd/elf-bfd.h   2005-03-03 20:52:31.000000000 +0000
++++ binutils-2.16/bfd/elf-bfd.h        2005-05-20 03:13:49.000000000 +0000
+@@ -1281,6 +1281,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.16.orig/bfd/elf.c binutils-2.16/bfd/elf.c
+--- binutils-2.16.orig/bfd/elf.c       2005-03-06 02:02:15.000000000 +0000
++++ binutils-2.16/bfd/elf.c    2005-05-20 03:15:28.000000000 +0000
+@@ -1028,6 +1028,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);
+@@ -2376,6 +2377,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.  */
+       bed = get_elf_backend_data (abfd);
+@@ -3720,6 +3724,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;
+ 
+@@ -4424,6 +4442,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
+@@ -4959,7 +4982,9 @@
+        6. PT_TLS segment includes only SHF_TLS sections.
+        7. SHF_TLS sections are only in PT_TLS or PT_LOAD segments.
+        8. PT_DYNAMIC should not contain empty sections at the beginning
+-          (with the possible exception of .dynamic).  */
++          (with the possible exception of .dynamic).
++       9. 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)      \
+@@ -4968,6 +4993,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.16.orig/bfd/elflink.c binutils-2.16/bfd/elflink.c
+--- binutils-2.16.orig/bfd/elflink.c   2005-04-29 13:40:22.000000000 +0000
++++ binutils-2.16/bfd/elflink.c        2005-05-20 03:13:49.000000000 +0000
+@@ -4941,17 +4941,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)
+@@ -4964,7 +4978,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.16.orig/binutils/readelf.c 
binutils-2.16/binutils/readelf.c
+--- binutils-2.16.orig/binutils/readelf.c      2005-04-20 18:43:36.000000000 
+0000
++++ binutils-2.16/binutils/readelf.c   2005-05-20 03:13:49.000000000 +0000
+@@ -2330,6 +2330,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.16.orig/include/bfdlink.h binutils-2.16/include/bfdlink.h
+--- binutils-2.16.orig/include/bfdlink.h       2005-03-03 11:58:00.000000000 
+0000
++++ binutils-2.16/include/bfdlink.h    2005-05-20 03:13:49.000000000 +0000
+@@ -318,6 +318,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.16.orig/include/elf/common.h 
binutils-2.16/include/elf/common.h
+--- binutils-2.16.orig/include/elf/common.h    2004-10-08 13:55:08.000000000 
+0000
++++ binutils-2.16/include/elf/common.h 2005-05-20 03:13:49.000000000 +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.16.orig/ld/emultempl/elf32.em 
binutils-2.16/ld/emultempl/elf32.em
+--- binutils-2.16.orig/ld/emultempl/elf32.em   2005-04-13 17:59:07.000000000 
+0000
++++ binutils-2.16/ld/emultempl/elf32.em        2005-05-20 03:13:49.000000000 
+0000
+@@ -1725,6 +1725,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)
+@@ -1765,6 +1775,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"));
+@@ -1776,6 +1787,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.16.orig/ld/ldgram.y binutils-2.16/ld/ldgram.y
+--- binutils-2.16.orig/ld/ldgram.y     2005-01-21 12:04:25.000000000 +0000
++++ binutils-2.16/ld/ldgram.y  2005-05-20 03:13:49.000000000 +0000
+@@ -1085,6 +1085,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.16.orig/ld/testsuite/ld-i386/tlsbin.rd 
binutils-2.16/ld/testsuite/ld-i386/tlsbin.rd
+--- binutils-2.16.orig/ld/testsuite/ld-i386/tlsbin.rd  2004-11-02 
05:40:04.000000000 +0000
++++ binutils-2.16/ld/testsuite/ld-i386/tlsbin.rd       2005-05-20 
03:13:49.000000000 +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.16.orig/ld/testsuite/ld-i386/tlsnopic.rd 
binutils-2.16/ld/testsuite/ld-i386/tlsnopic.rd
+--- binutils-2.16.orig/ld/testsuite/ld-i386/tlsnopic.rd        2004-11-02 
05:40:04.000000000 +0000
++++ binutils-2.16/ld/testsuite/ld-i386/tlsnopic.rd     2005-05-20 
03:13:49.000000000 +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.16.orig/ld/testsuite/ld-i386/tlspic.rd 
binutils-2.16/ld/testsuite/ld-i386/tlspic.rd
+--- binutils-2.16.orig/ld/testsuite/ld-i386/tlspic.rd  2004-11-02 
05:40:04.000000000 +0000
++++ binutils-2.16/ld/testsuite/ld-i386/tlspic.rd       2005-05-20 
03:13:49.000000000 +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

Added: trunk/hlfs/binutils-2.16-uClibc_conf-1.patch
===================================================================
--- trunk/hlfs/binutils-2.16-uClibc_conf-1.patch        2005-05-19 20:39:32 UTC 
(rev 953)
+++ trunk/hlfs/binutils-2.16-uClibc_conf-1.patch        2005-05-21 10:41:05 UTC 
(rev 954)
@@ -0,0 +1,599 @@
+Submitted By: Robert Connolly <robert at linuxfromscratch dot org> (ashes)
+Date: 2005-05-19
+Initial Package Version: 2.16
+Upstream Status: Not submitted - Hack
+ORIGIN:        
http://buildroot.uclibc.org/cgi-bin/viewcvs.cgi/trunk/buildroot/toolchain/\
+       binutils/2.16/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 -Naur binutils-2.16.orig/bfd/config.bfd binutils-2.16/bfd/config.bfd
+--- binutils-2.16.orig/bfd/config.bfd  2005-01-31 17:18:47.000000000 +0000
++++ binutils-2.16/bfd/config.bfd       2005-05-20 03:25:28.000000000 +0000
+@@ -140,7 +140,7 @@
+     targ_defvec=ecoffalpha_little_vec
+     targ_selvecs=bfd_elf64_alpha_vec
+     ;;
+-  alpha*-*-linux-gnu* | alpha*-*-elf*)
++  alpha*-*-linux-* | 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-* | 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-*)
+     targ_defvec=bfd_elf32_bigarm_vec
+     targ_selvecs=bfd_elf32_littlearm_vec
+     ;;
+@@ -235,7 +235,7 @@
+     targ_defvec=bfd_elf32_littlearm_vec
+     targ_selvecs=bfd_elf32_bigarm_vec
+     ;;
+-  arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \
++  arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
+   arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
+   arm*-*-eabi* )
+     targ_defvec=bfd_elf32_littlearm_vec
+@@ -385,7 +385,7 @@
+     ;;
+ 
+ #ifdef BFD64
+-  hppa*64*-*-linux-gnu*)
++  hppa*64*-*-linux-*)
+     targ_defvec=bfd_elf64_hppa_linux_vec
+     targ_selvecs=bfd_elf64_hppa_vec
+     ;;
+@@ -396,7 +396,7 @@
+     ;;
+ #endif
+ 
+-  hppa*-*-linux-gnu*)
++  hppa*-*-linux-*)
+     targ_defvec=bfd_elf32_hppa_linux_vec
+     targ_selvecs=bfd_elf32_hppa_vec
+     ;;
+@@ -529,7 +529,7 @@
+     targ_selvecs=bfd_elf32_i386_vec
+     targ_underscore=yes
+     ;;
+-  i[3-7]86-*-linux-gnu*)
++  i[3-7]86-*-linux-*)
+     targ_defvec=bfd_elf32_i386_vec
+     targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
+     targ64_selvecs=bfd_elf64_x86_64_vec
+@@ -543,7 +543,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-*)
+     targ_defvec=bfd_elf64_x86_64_vec
+     targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
+     ;;
+@@ -719,7 +719,7 @@
+     targ_selvecs=bfd_elf32_m68k_vec
+     targ_underscore=yes
+     ;;
+-  m68*-*-linux-gnu*)
++  m68*-*-linux-*)
+     targ_defvec=bfd_elf32_m68k_vec
+     targ_selvecs=m68klinux_vec
+     ;;
+@@ -1005,7 +1005,7 @@
+     ;;
+ #endif
+   powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
+-  powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
++  powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \
+   powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*)
+     targ_defvec=bfd_elf32_powerpc_vec
+     targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
+@@ -1042,7 +1042,7 @@
+     targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
+     ;;
+   powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
+-  powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
++  powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks* |\
+   powerpcle-*-rtems*)
+     targ_defvec=bfd_elf32_powerpcle_vec
+     targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
+@@ -1213,7 +1213,7 @@
+     targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
+     targ_underscore=yes
+     ;;
+-  sparc-*-linux-gnu*)
++  sparc-*-linux-*)
+     targ_defvec=bfd_elf32_sparc_vec
+     targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
+     ;;
+@@ -1260,7 +1260,7 @@
+     targ_defvec=sunos_big_vec
+     targ_underscore=yes
+     ;;
+-  sparc64-*-linux-gnu*)
++  sparc64-*-linux-*)
+     targ_defvec=bfd_elf64_sparc_vec
+     targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
+     ;;
+@@ -1329,7 +1329,7 @@
+     targ_underscore=yes
+     ;;
+ 
+-  vax-*-linux-gnu*)
++  vax-*-linux-*)
+     targ_defvec=bfd_elf32_vax_vec
+     ;;
+ 
+diff -Naur binutils-2.16.orig/bfd/configure binutils-2.16/bfd/configure
+--- binutils-2.16.orig/bfd/configure   2005-05-02 19:43:54.000000000 +0000
++++ binutils-2.16/bfd/configure        2005-05-20 03:25:28.000000000 +0000
+@@ -9918,7 +9918,7 @@
+   alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
+       COREFILE=''
+       ;;
+-  alpha*-*-linux-gnu*)
++  alpha*-*-linux-*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/alphalinux.h"'
+       ;;
+@@ -9982,7 +9982,7 @@
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/i386mach3.h"'
+       ;;
+-  i[3-7]86-*-linux-gnu*)
++  i[3-7]86-*-linux-*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/i386linux.h"'
+       ;;
+@@ -10020,7 +10020,7 @@
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/hp300bsd.h"'
+       ;;
+-  m68*-*-linux-gnu*)
++  m68*-*-linux-*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/m68klinux.h"'
+       ;;
+@@ -10154,7 +10154,7 @@
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/vaxult2.h"'
+       ;;
+-  vax-*-linux-gnu*)
++  vax-*-linux-*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/vaxlinux.h"'
+       ;;
+diff -Naur binutils-2.16.orig/bfd/configure.in binutils-2.16/bfd/configure.in
+--- binutils-2.16.orig/bfd/configure.in        2005-05-02 19:43:51.000000000 
+0000
++++ binutils-2.16/bfd/configure.in     2005-05-20 03:25:28.000000000 +0000
+@@ -163,7 +163,7 @@
+   alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
+       COREFILE=''
+       ;;
+-  alpha*-*-linux-gnu*)
++  alpha*-*-linux-*)
+       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-*)
+ 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-*)
+       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-*)
+       COREFILE=trad-core.lo
+       TRAD_HEADER='"hosts/vaxlinux.h"'
+       ;;
+diff -Naur binutils-2.16.orig/gas/configure binutils-2.16/gas/configure
+--- binutils-2.16.orig/gas/configure   2005-03-01 00:43:51.000000000 +0000
++++ binutils-2.16/gas/configure        2005-05-20 03:25:28.000000000 +0000
+@@ -4462,7 +4462,7 @@
+ _ACEOF
+ 
+       ;;
+-      ppc-*-linux-gnu*)
++      ppc-*-linux-*)
+       case "$endian" in
+         big)  ;;
+         *)    { { echo "$as_me:$LINENO: error: GNU/Linux must be configured 
big endian" >&5
+diff -Naur binutils-2.16.orig/gas/configure.in binutils-2.16/gas/configure.in
+--- binutils-2.16.orig/gas/configure.in        2005-03-01 00:43:57.000000000 
+0000
++++ binutils-2.16/gas/configure.in     2005-05-20 03:25:28.000000000 +0000
+@@ -161,7 +161,7 @@
+       AC_DEFINE(AIX_WEAK_SUPPORT, 1,
+                 [Define if using AIX 5.2 value for C_WEAKEXT.])
+       ;;
+-      ppc-*-linux-gnu*)
++      ppc-*-linux-*)
+       case "$endian" in
+         big)  ;;
+         *)    AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
+diff -Naur binutils-2.16.orig/gas/configure.tgt binutils-2.16/gas/configure.tgt
+--- binutils-2.16.orig/gas/configure.tgt       2005-01-31 17:18:51.000000000 
+0000
++++ binutils-2.16/gas/configure.tgt    2005-05-20 03:25:28.000000000 +0000
+@@ -100,7 +100,7 @@
+   alpha-*-*vms*)                      fmt=evax ;;
+   alpha-*-osf*)                               fmt=ecoff ;;
+   alpha-*-linuxecoff*)                        fmt=ecoff ;;
+-  alpha-*-linux-gnu*)                 fmt=elf em=linux ;;
++  alpha-*-linux-*)                    fmt=elf em=linux ;;
+   alpha-*-netbsd*)                    fmt=elf em=nbsd ;;
+   alpha-*-openbsd*)                   fmt=elf em=obsd ;;
+ 
+@@ -116,7 +116,7 @@
+   arm-*-conix*)                               fmt=elf ;;
+   arm-*-linux*aout*)                  fmt=aout em=linux ;;
+   arm-*-linux-gnueabi*)                       fmt=elf  em=armlinuxeabi ;;     
 
+-  arm-*-linux-gnu*)                   fmt=elf  em=linux ;;
++  arm-*-linux-*)                      fmt=elf  em=linux ;;
+   arm-*-uclinux*)                     fmt=elf  em=linux ;;
+   arm-*-netbsdelf*)                   fmt=elf  em=nbsd ;;
+   arm-*-*n*bsd*)                      fmt=aout em=nbsd ;;
+@@ -128,7 +128,7 @@
+ 
+   avr-*-*)                            fmt=elf ;;
+ 
+-  cris-*-linux-gnu* | crisv32-*-linux-gnu*)
++  cris-*-linux-* | crisv32-*-linux-*)
+                                       fmt=multi bfd_gas=yes em=linux ;;
+   cris-*-* | crisv32-*-*)             fmt=multi bfd_gas=yes ;;
+ 
+@@ -192,7 +192,7 @@
+   i386-*-linux*aout*)                 fmt=aout em=linux ;;
+   i386-*-linux*oldld)                 fmt=aout em=linux ;;
+   i386-*-linux*coff*)                 fmt=coff em=linux ;;
+-  i386-*-linux-gnu*)                  fmt=elf em=linux ;;
++  i386-*-linux-*)                     fmt=elf em=linux ;;
+   i386-*-lynxos*)                     fmt=elf em=lynx bfd_gas=yes ;;
+   i386-*-sysv[45]*)                   fmt=elf ;;
+   i386-*-solaris*)                    fmt=elf ;;
+@@ -238,7 +238,7 @@
+ 
+   ia64-*-elf*)                                fmt=elf ;;
+   ia64-*-aix*)                                fmt=elf em=ia64aix ;;
+-  ia64-*-linux-gnu*)                  fmt=elf em=linux ;;
++  ia64-*-linux-*)                     fmt=elf em=linux ;;
+   ia64-*-hpux*)                               fmt=elf em=hpux ;;
+   ia64-*-netbsd*)                     fmt=elf em=nbsd ;;
+ 
+@@ -265,7 +265,7 @@
+   m68k-*-rtems*)                      fmt=elf ;;
+   m68k-*-hpux*)                               fmt=hp300 em=hp300 ;;
+   m68k-*-linux*aout*)                 fmt=aout em=linux ;;
+-  m68k-*-linux-gnu*)                  fmt=elf em=linux ;;
++  m68k-*-linux-*)                     fmt=elf em=linux ;;
+   m68k-*-uclinux*)                    fmt=elf ;;
+   m68k-*-gnu*)                                fmt=elf ;;
+   m68k-*-netbsdelf*)                  fmt=elf em=nbsd ;;
+@@ -332,7 +332,7 @@
+   ppc-*-beos*)                                fmt=coff ;;
+   ppc-*-*n*bsd* | ppc-*-elf*)         fmt=elf ;;
+   ppc-*-eabi* | ppc-*-sysv4*)         fmt=elf ;;
+-  ppc-*-linux-gnu*)                   fmt=elf em=linux ;;
++  ppc-*-linux-*)                      fmt=elf em=linux ;;
+   ppc-*-solaris*)                     fmt=elf ;;
+   ppc-*-rtems*)                               fmt=elf ;;
+   ppc-*-macos*)                               fmt=coff em=macos ;;
+@@ -340,7 +340,7 @@
+   ppc-*-kaos*)                                fmt=elf ;;
+   ppc-*-lynxos*)                      fmt=elf em=lynx bfd_gas=yes ;;
+ 
+-  s390-*-linux-gnu*)                  fmt=elf em=linux ;;
++  s390-*-linux-*)                     fmt=elf em=linux ;;
+   s390-*-tpf*)                                fmt=elf ;;
+ 
+   sh*-*-linux*)                               fmt=elf em=linux
+@@ -369,7 +369,7 @@
+   sparc-*-aout | sparc*-*-vxworks*)   fmt=aout em=sparcaout ;;
+   sparc-*-coff)                               fmt=coff ;;
+   sparc-*-linux*aout*)                        fmt=aout em=linux ;;
+-  sparc-*-linux-gnu*)                 fmt=elf em=linux ;;
++  sparc-*-linux-*)                    fmt=elf em=linux ;;
+   sparc-fujitsu-none)                 fmt=aout ;;
+   sparc-*-elf)                                fmt=elf ;;
+   sparc-*-sysv4*)                     fmt=elf ;;
+@@ -398,7 +398,7 @@
+   vax-*-netbsdelf*)                   fmt=elf em=nbsd ;;
+   vax-*-netbsd*)                      fmt=aout em=nbsd ;;
+   vax-*-bsd* | vax-*-ultrix*)         fmt=aout ;;
+-  vax-*-linux-gnu*)                   fmt=elf em=linux bfd_gas=yes ;;
++  vax-*-linux-*)                      fmt=elf em=linux bfd_gas=yes ;;
+ 
+   w65-*-*)                            fmt=coff ;;
+ 
+diff -Naur binutils-2.16.orig/ld/configure.host binutils-2.16/ld/configure.host
+--- binutils-2.16.orig/ld/configure.host       2005-01-11 09:36:46.000000000 
+0000
++++ binutils-2.16/ld/configure.host    2005-05-20 03:25:28.000000000 +0000
+@@ -83,7 +83,7 @@
+   HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]\*,ld-linux,g"`
+   ;;
+ 
+-arm*-*-linux-gnu*)
++arm*-*-linux-*)
+   HOSTING_CRT0='-p '`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]\*,ld-linux,g"`
+   ;;
+ 
+@@ -141,7 +141,7 @@
+   HOSTING_LIBS="$HOSTING_LIBS"' -lcygwin -L/usr/lib/w32api -luser32 
-lkernel32 -ladvapi32 -lshell32 `if [ -f ../gcc/libgcc.a ] ; then echo 
../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi`'
+   ;;
+ 
+-ia64-*-linux-gnu*)
++ia64-*-linux-*)
+   HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]*\*,ld-linux-ia64,g"`
+   ;;
+ 
+@@ -155,11 +155,11 @@
+   HOSTING_LIBS='-L/usr/lib32 '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; 
then echo ../gcc/crtend.o ; else ${CC} -print-file-name=crtend.o; fi` 
/usr/lib32/crtn.o -init __do_global_ctors -fini __do_global_dtors'
+   ;;
+ 
+-mips*-*-linux-gnu*)
++mips*-*-linux-*)
+   HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e 
"s,\\\`specs.*\"\\\`,/lib/ld.so.1,"`
+   ;;
+ 
+-m68*-*-linux-gnu*)
++m68*-*-linux-*)
+   HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e 
"s,\\\`specs.*\"\\\`,/lib/ld.so.1,"`
+   ;;
+ 
+@@ -183,19 +183,19 @@
+   HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo 
../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi`'
+   ;;
+ 
+-powerpc64*-*-linux-gnu*)
++powerpc64*-*-linux-*)
+   HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e 
"s,\\\`specs.*\"\\\`,/lib64/ld64.so.1,"`
+   ;;
+ 
+-powerpc*-*-linux-gnu*)
++powerpc*-*-linux-*)
+   HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e 
"s,\\\`specs.*\"\\\`,/lib/ld.so.1,"`
+   ;;
+ 
+-s390x-*-linux-gnu*)
++s390x-*-linux-*)
+   HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e 
"s,\\\`specs.*\"\\\`,/lib/ld64.so.1,"`
+   ;;
+ 
+-s390-*-linux-gnu*)
++s390-*-linux-*)
+   HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e 
"s,\\\`specs.*\"\\\`,/lib/ld.so.1,"`
+   ;;
+ 
+@@ -209,15 +209,15 @@
+   HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo 
../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f 
../gcc/crtn.o ]; then echo ../gcc/crtn.o; else ${CC} -print-file-name=crtn.o; 
fi`'
+   ;;
+ 
+-sparc-*-linux-gnu*)
++sparc-*-linux-*)
+   HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e 
"s,\\\`specs.*\"\\\`,/lib/ld-linux.so.2,"`
+   ;;
+ 
+-sparc64-*-linux-gnu*)
++sparc64-*-linux-*)
+   HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e 
"s,\\\`specs.*\"\\\`,/lib64/ld-linux.so.2,"`
+   ;;
+ 
+-x86_64-*-linux-gnu*)
++x86_64-*-linux-*)
+   HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e 
"s,\\\`specs.*\"\\\`,/lib64/ld-linux-x86-64.so.2,"`
+   ;;
+ 
+diff -Naur binutils-2.16.orig/ld/configure.tgt binutils-2.16/ld/configure.tgt
+--- binutils-2.16.orig/ld/configure.tgt        2005-02-08 19:54:27.000000000 
+0000
++++ binutils-2.16/ld/configure.tgt     2005-05-20 03:25:28.000000000 +0000
+@@ -30,7 +30,7 @@
+ cris-*-*aout*)                targ_emul=crisaout
+                       targ_extra_emuls="criself crislinux"
+                       targ_extra_libpath=$targ_extra_emuls ;;
+-cris-*-linux-gnu* | cris-*-linux-gnu*)
++cris-*-linux-* | crisv32-*-linux-*)
+                       targ_emul=crislinux ;;
+ cris-*-* | crisv32-*-*)       targ_emul=criself
+                       targ_extra_emuls="crisaout crislinux"
+@@ -62,14 +62,14 @@
+                       tdir_elf32_sparc=`echo ${targ_alias} | sed -e 
's/aout//'`
+                       tdir_sun4=sparc-sun-sunos4
+                       ;;
+-sparc64-*-linux-gnu*) targ_emul=elf64_sparc
++sparc64-*-linux-*)    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-*)     targ_emul=elf32_sparc
+                       targ_extra_emuls="sparclinux elf64_sparc sun4"
+                       targ_extra_libpath=elf64_sparc
+                       tdir_sparclinux=${targ_alias}aout
+@@ -119,8 +119,8 @@
+ ia64-*-aix*)          targ_emul=elf64_aix ;;
+ m32r*le-*-elf*)         targ_emul=m32rlelf ;;
+ m32r*-*-elf*)           targ_emul=m32relf ;;
+-m32r*le-*-linux-gnu*)   targ_emul=m32rlelf_linux ;;
+-m32r*-*-linux-gnu*)     targ_emul=m32relf_linux ;;
++m32r*le-*-linux-*)      targ_emul=m32rlelf_linux ;;
++m32r*-*-linux-*)        targ_emul=m32relf_linux ;;
+ m68hc11-*-*|m6811-*-*)        targ_emul=m68hc11elf 
+                       targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;;
+ m68hc12-*-*|m6812-*-*)        targ_emul=m68hc12elf 
+@@ -131,7 +131,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-*) 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 ;;
+@@ -155,14 +155,14 @@
+                       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-*)   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-*)     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/'`
+@@ -262,13 +262,13 @@
+ arm-*-kaos*)          targ_emul=armelf ;;
+ arm9e-*-elf)          targ_emul=armelf ;;
+ arm*b-*-linux-gnueabi)        targ_emul=armelfb_linux_eabi ;;
+-arm*b-*-linux-gnu*)   targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
++arm*b-*-linux-*)      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-*)               targ_emul=armelf_linux; targ_extra_emuls=armelf 
;;
+ arm*-*-uclinux*)      targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
+ arm-*-vxworks)                targ_emul=armelf_vxworks ;;
+ arm*-*-conix*)                targ_emul=armelf ;;
+-thumb-*-linux-gnu* | thumb-*-uclinux*)        targ_emul=armelf_linux; 
targ_extra_emuls=armelf ;;
++thumb-*-linux-* | 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 ;;
+@@ -372,7 +372,7 @@
+                       targ_extra_emuls=m68kelf
+                       tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
+                       ;;
+-m68k-*-linux-gnu*)    targ_emul=m68kelf
++m68k-*-linux-*)       targ_emul=m68kelf
+                       targ_extra_emuls=m68klinux
+                       tdir_m68klinux=`echo ${targ_alias} | sed -e 
's/linux/linuxaout/'`
+                       ;;
+@@ -388,9 +388,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-*)   targ_emul=hppa64linux ;;
+ hppa*64*-*)           targ_emul=elf64hppa ;;
+-hppa*-*-linux-gnu*)   targ_emul=hppalinux ;;
++hppa*-*-linux-*)      targ_emul=hppalinux ;;
+ hppa*-*-*elf*)                targ_emul=hppaelf ;;
+ hppa*-*-lites*)               targ_emul=hppaelf ;;
+ hppa*-*-netbsd*)      targ_emul=hppanbsd ;;
+@@ -402,7 +402,7 @@
+ vax-*-netbsdaout* | vax-*-netbsd*)
+                       targ_emul=vaxnbsd
+                       targ_extra_emuls=elf32vax ;;
+-vax-*-linux-gnu*)     targ_emul=elf32vax ;;
++vax-*-linux-*)        targ_emul=elf32vax ;;
+ mips*-*-pe)           targ_emul=mipspe ;
+                       targ_extra_ofiles="deffilep.o pe-dll.o" ;;
+ mips*-dec-ultrix*)    targ_emul=mipslit ;;
+@@ -436,18 +436,18 @@
+ mips*-*-vxworks*)     targ_emul=elf32ebmip
+                       targ_extra_emuls="elf32elmip" ;;
+ mips*-*-windiss)      targ_emul=elf32mipswindiss ;;
+-mips64*el-*-linux-gnu*)       targ_emul=elf32ltsmipn32
++mips64*el-*-linux-*)  targ_emul=elf32ltsmipn32
+                       targ_extra_emuls="elf32btsmipn32 elf32ltsmip 
elf32btsmip elf64ltsmip elf64btsmip"
+                       targ_extra_libpath="elf32ltsmip elf64ltsmip"
+                       ;;
+-mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32
++mips64*-*-linux-*)    targ_emul=elf32btsmipn32
+                       targ_extra_emuls="elf32ltsmipn32 elf32btsmip 
elf32ltsmip elf64btsmip elf64ltsmip"
+                       targ_extra_libpath="elf32btsmip elf64btsmip"
+                       ;;
+-mips*el-*-linux-gnu*) targ_emul=elf32ltsmip
++mips*el-*-linux-*)    targ_emul=elf32ltsmip
+                       targ_extra_emuls="elf32btsmip elf32ltsmipn32 
elf64ltsmip elf32btsmipn32 elf64btsmip"
+                       ;;
+-mips*-*-linux-gnu*)   targ_emul=elf32btsmip
++mips*-*-linux-*)      targ_emul=elf32btsmip
+                       targ_extra_emuls="elf32ltsmip elf32btsmipn32 
elf64btsmip elf32ltsmipn32 elf64ltsmip"
+                       ;;
+ mips*-*-lnews*)               targ_emul=mipslnews ;;
+@@ -467,7 +467,7 @@
+ alpha*-*-linuxecoff*) targ_emul=alpha targ_extra_emuls=elf64alpha
+                       tdir_elf64alpha=`echo ${targ_alias} | sed -e 
's/ecoff//'`
+                       ;;
+-alpha*-*-linux-gnu*)  targ_emul=elf64alpha targ_extra_emuls=alpha
++alpha*-*-linux-*)     targ_emul=elf64alpha targ_extra_emuls=alpha
+                       tdir_alpha=`echo ${targ_alias} | sed -e 
's/linux/linuxecoff/'`
+                       ;;
+ alpha*-*-osf*)                targ_emul=alpha ;;
+diff -Naur binutils-2.16.orig/ld/emultempl/elf32.em 
binutils-2.16/ld/emultempl/elf32.em
+--- binutils-2.16.orig/ld/emultempl/elf32.em   2005-04-13 17:59:07.000000000 
+0000
++++ binutils-2.16/ld/emultempl/elf32.em        2005-05-20 03:25:28.000000000 
+0000
+@@ -65,7 +65,7 @@
+ 
+ if [ "x${USE_LIBPATH}" = xyes ] ; then
+   case ${target} in
+-    *-*-linux-gnu*)
++    *-*-linux-*)
+   cat >>e${EMULATION_NAME}.c <<EOF
+ #ifdef HAVE_GLOB
+ #include <glob.h>
+@@ -350,7 +350,7 @@
+ 
+ EOF
+ case ${target} in
+-  *-*-linux-gnu*)
++  *-*-linux-*)
+     cat >>e${EMULATION_NAME}.c <<EOF
+         {
+           struct bfd_link_needed_list *l;
+@@ -522,7 +522,7 @@
+ 
+ EOF
+   case ${target} in
+-    *-*-linux-gnu*)
++    *-*-linux-*)
+       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
+@@ -932,7 +932,7 @@
+ EOF
+ if [ "x${USE_LIBPATH}" = xyes ] ; then
+   case ${target} in
+-    *-*-linux-gnu*)
++    *-*-linux-*)
+       cat >>e${EMULATION_NAME}.c <<EOF
+         if (gld${EMULATION_NAME}_check_ld_so_conf (l->name, force))
+           break;

-- 
http://linuxfromscratch.org/mailman/listinfo/patches
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to