Add binutils-2.18.50.0.9.
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Sep 22 12:09:19 2008 +0000 (2008-09-22)
changeset 8665fec4dba671e
parent 865 04cf91f13430
child 867 c91b266f4dfa
Add binutils-2.18.50.0.9.
Add a patch to binutils to not use '/' as a comment separator on i386 assembly when targeting bare metal (breaks linux kernel build).

/trunk/patches/binutils/2.18.50.0.8/130-i386-no-divide-comment.patch | 64 64 0 0 ++++++++++
/trunk/patches/binutils/2.18.50.0.9/130-i386-no-divide-comment.patch | 64 64 0 0 ++++++++++
/trunk/patches/binutils/2.14/110-i386-no-divide-comment.patch | 38 38 0 0 ++++++
/trunk/patches/binutils/2.14/270-i386-no-divide-comment.patch | 38 38 0 0 ++++++
/trunk/patches/binutils/2.16.1/160-i386-no-divide-comment.patch | 40 40 0 0 ++++++
/trunk/patches/binutils/2.17/210-i386-no-divide-comment.patch | 64 64 0 0 ++++++++++
/trunk/patches/binutils/2.18/120-i386-no-divide-comment.patch | 64 64 0 0 ++++++++++
/trunk/patches/binutils/2.18.50.0.4/130-i386-no-divide-comment.patch | 64 64 0 0 ++++++++++
/trunk/patches/binutils/2.18.50.0.6/130-i386-no-divide-comment.patch | 64 64 0 0 ++++++++++
/trunk/patches/binutils/2.18.50.0.7/130-i386-no-divide-comment.patch | 64 64 0 0 ++++++++++
/trunk/config/binutils.in | 6 6 0 0 +
11 files changed, 570 insertions(+)
config/binutils.in
patches/binutils/2.14/110-i386-no-divide-comment.patch
patches/binutils/2.14/270-i386-no-divide-comment.patch
patches/binutils/2.16.1/160-i386-no-divide-comment.patch
patches/binutils/2.17/210-i386-no-divide-comment.patch
patches/binutils/2.18.50.0.4/130-i386-no-divide-comment.patch
patches/binutils/2.18.50.0.6/130-i386-no-divide-comment.patch
patches/binutils/2.18.50.0.7/130-i386-no-divide-comment.patch
patches/binutils/2.18.50.0.8/130-i386-no-divide-comment.patch
patches/binutils/2.18.50.0.9/100-arm-uclibcgnueabi.patch
patches/binutils/2.18.50.0.9/110-ld-makefile-path.patch
patches/binutils/2.18.50.0.9/120-check-ldrunpath-length.patch
patches/binutils/2.18.50.0.9/130-i386-no-divide-comment.patch
patches/binutils/2.18/120-i386-no-divide-comment.patch
     1.1 --- a/config/binutils.in	Thu Sep 18 09:22:25 2008 +0000
     1.2 +++ b/config/binutils.in	Mon Sep 22 12:09:19 2008 +0000
     1.3 @@ -51,6 +51,11 @@
     1.4      prompt "2.18.50.0.8 (EXPERIMENTAL)"
     1.5      depends on EXPERIMENTAL
     1.6  
     1.7 +config BINUTILS_V_2_18_50_0_9
     1.8 +    bool
     1.9 +    prompt "2.18.50.0.9 (EXPERIMENTAL)"
    1.10 +    depends on EXPERIMENTAL
    1.11 +
    1.12  # CT_INSERT_VERSION_ABOVE
    1.13  # Don't remove above line!
    1.14  endchoice
    1.15 @@ -66,6 +71,7 @@
    1.16      default "2.18.50.0.6" if BINUTILS_V_2_18_50_0_6
    1.17      default "2.18.50.0.7" if BINUTILS_V_2_18_50_0_7
    1.18      default "2.18.50.0.8" if BINUTILS_V_2_18_50_0_8
    1.19 +    default "2.18.50.0.9" if BINUTILS_V_2_18_50_0_9
    1.20  # CT_INSERT_VERSION_STRING_ABOVE
    1.21  # Don't remove above line!
    1.22  
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/patches/binutils/2.14/110-i386-no-divide-comment.patch	Mon Sep 22 12:09:19 2008 +0000
     2.3 @@ -0,0 +1,38 @@
     2.4 +diff -durN binutils-2.14.orig/gas/config/tc-i386.c binutils-2.14/gas/config/tc-i386.c
     2.5 +--- binutils-2.14.orig/gas/config/tc-i386.c	2003-01-29 11:05:52.000000000 +0100
     2.6 ++++ binutils-2.14/gas/config/tc-i386.c	2008-09-22 08:54:50.000000000 +0200
     2.7 +@@ -189,15 +189,10 @@
     2.8 + const char extra_symbol_chars[] = "*%-([";
     2.9 + #endif
    2.10 + 
    2.11 +-#if (defined (TE_I386AIX)				\
    2.12 +-     || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF))	\
    2.13 +-	 && !defined (TE_LINUX)				\
    2.14 +-	 && !defined (TE_FreeBSD)			\
    2.15 +-	 && !defined (TE_NetBSD)))
    2.16 + /* This array holds the chars that always start a comment.  If the
    2.17 +    pre-processor is disabled, these aren't very useful.  */
    2.18 +-const char comment_chars[] = "#/";
    2.19 +-#define PREFIX_SEPARATOR '\\'
    2.20 ++const char comment_chars[] = "#";
    2.21 ++#define PREFIX_SEPARATOR '/'
    2.22 + 
    2.23 + /* This array holds the chars that only start a comment at the beginning of
    2.24 +    a line.  If the line seems to have the form '# 123 filename'
    2.25 +@@ -207,16 +202,7 @@
    2.26 +    #NO_APP at the beginning of its output.
    2.27 +    Also note that comments started like this one will always work if
    2.28 +    '/' isn't otherwise defined.  */
    2.29 +-const char line_comment_chars[] = "#";
    2.30 +-
    2.31 +-#else
    2.32 +-/* Putting '/' here makes it impossible to use the divide operator.
    2.33 +-   However, we need it for compatibility with SVR4 systems.  */
    2.34 +-const char comment_chars[] = "#";
    2.35 +-#define PREFIX_SEPARATOR '/'
    2.36 +-
    2.37 + const char line_comment_chars[] = "/#";
    2.38 +-#endif
    2.39 + 
    2.40 + const char line_separator_chars[] = ";";
    2.41 + 
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/patches/binutils/2.14/270-i386-no-divide-comment.patch	Mon Sep 22 12:09:19 2008 +0000
     3.3 @@ -0,0 +1,38 @@
     3.4 +diff -durN binutils-2.15.orig/gas/config/tc-i386.c binutils-2.15/gas/config/tc-i386.c
     3.5 +--- binutils-2.15.orig/gas/config/tc-i386.c	2004-05-17 21:36:09.000000000 +0200
     3.6 ++++ binutils-2.15/gas/config/tc-i386.c	2008-09-22 08:57:14.000000000 +0200
     3.7 +@@ -185,15 +185,10 @@
     3.8 + const char extra_symbol_chars[] = "*%-([";
     3.9 + #endif
    3.10 + 
    3.11 +-#if (defined (TE_I386AIX)				\
    3.12 +-     || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF))	\
    3.13 +-	 && !defined (TE_LINUX)				\
    3.14 +-	 && !defined (TE_FreeBSD)			\
    3.15 +-	 && !defined (TE_NetBSD)))
    3.16 + /* This array holds the chars that always start a comment.  If the
    3.17 +    pre-processor is disabled, these aren't very useful.  */
    3.18 +-const char comment_chars[] = "#/";
    3.19 +-#define PREFIX_SEPARATOR '\\'
    3.20 ++const char comment_chars[] = "#";
    3.21 ++#define PREFIX_SEPARATOR '/'
    3.22 + 
    3.23 + /* This array holds the chars that only start a comment at the beginning of
    3.24 +    a line.  If the line seems to have the form '# 123 filename'
    3.25 +@@ -203,16 +198,7 @@
    3.26 +    #NO_APP at the beginning of its output.
    3.27 +    Also note that comments started like this one will always work if
    3.28 +    '/' isn't otherwise defined.  */
    3.29 +-const char line_comment_chars[] = "#";
    3.30 +-
    3.31 +-#else
    3.32 +-/* Putting '/' here makes it impossible to use the divide operator.
    3.33 +-   However, we need it for compatibility with SVR4 systems.  */
    3.34 +-const char comment_chars[] = "#";
    3.35 +-#define PREFIX_SEPARATOR '/'
    3.36 +-
    3.37 + const char line_comment_chars[] = "/#";
    3.38 +-#endif
    3.39 + 
    3.40 + const char line_separator_chars[] = ";";
    3.41 + 
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/patches/binutils/2.16.1/160-i386-no-divide-comment.patch	Mon Sep 22 12:09:19 2008 +0000
     4.3 @@ -0,0 +1,40 @@
     4.4 +diff -durN binutils-2.16.1.orig/gas/config/tc-i386.c binutils-2.16.1/gas/config/tc-i386.c
     4.5 +--- binutils-2.16.1.orig/gas/config/tc-i386.c	2005-04-13 19:58:42.000000000 +0200
     4.6 ++++ binutils-2.16.1/gas/config/tc-i386.c	2008-09-22 09:00:09.000000000 +0200
     4.7 +@@ -192,16 +192,10 @@
     4.8 + #endif
     4.9 + 	;
    4.10 + 
    4.11 +-#if (defined (TE_I386AIX)				\
    4.12 +-     || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF))	\
    4.13 +-	 && !defined (TE_LINUX)				\
    4.14 +- 	 && !defined (TE_NETWARE)			\
    4.15 +-	 && !defined (TE_FreeBSD)			\
    4.16 +-	 && !defined (TE_NetBSD)))
    4.17 + /* This array holds the chars that always start a comment.  If the
    4.18 +    pre-processor is disabled, these aren't very useful.  */
    4.19 +-const char comment_chars[] = "#/";
    4.20 +-#define PREFIX_SEPARATOR '\\'
    4.21 ++const char comment_chars[] = "#";
    4.22 ++#define PREFIX_SEPARATOR '/'
    4.23 + 
    4.24 + /* This array holds the chars that only start a comment at the beginning of
    4.25 +    a line.  If the line seems to have the form '# 123 filename'
    4.26 +@@ -211,16 +205,7 @@
    4.27 +    #NO_APP at the beginning of its output.
    4.28 +    Also note that comments started like this one will always work if
    4.29 +    '/' isn't otherwise defined.  */
    4.30 +-const char line_comment_chars[] = "#";
    4.31 +-
    4.32 +-#else
    4.33 +-/* Putting '/' here makes it impossible to use the divide operator.
    4.34 +-   However, we need it for compatibility with SVR4 systems.  */
    4.35 +-const char comment_chars[] = "#";
    4.36 +-#define PREFIX_SEPARATOR '/'
    4.37 +-
    4.38 +-const char line_comment_chars[] = "/#";
    4.39 +-#endif
    4.40 ++const char line_comment_chars[] = "#/";
    4.41 + 
    4.42 + const char line_separator_chars[] = ";";
    4.43 + 
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/patches/binutils/2.17/210-i386-no-divide-comment.patch	Mon Sep 22 12:09:19 2008 +0000
     5.3 @@ -0,0 +1,64 @@
     5.4 +diff -durN binutils-2.17.orig/gas/config/tc-i386.c binutils-2.17/gas/config/tc-i386.c
     5.5 +--- binutils-2.17.orig/gas/config/tc-i386.c	2006-04-07 08:40:57.000000000 +0200
     5.6 ++++ binutils-2.17/gas/config/tc-i386.c	2008-09-22 09:06:07.000000000 +0200
     5.7 +@@ -196,24 +196,10 @@
     5.8 + #endif
     5.9 + 	;
    5.10 + 
    5.11 +-#if (defined (TE_I386AIX)				\
    5.12 +-     || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF))	\
    5.13 +-	 && !defined (TE_GNU)				\
    5.14 +-	 && !defined (TE_LINUX)				\
    5.15 +- 	 && !defined (TE_NETWARE)			\
    5.16 +-	 && !defined (TE_FreeBSD)			\
    5.17 +-	 && !defined (TE_NetBSD)))
    5.18 + /* This array holds the chars that always start a comment.  If the
    5.19 +-   pre-processor is disabled, these aren't very useful.  The option
    5.20 +-   --divide will remove '/' from this list.  */
    5.21 +-const char *i386_comment_chars = "#/";
    5.22 +-#define SVR4_COMMENT_CHARS 1
    5.23 +-#define PREFIX_SEPARATOR '\\'
    5.24 +-
    5.25 +-#else
    5.26 ++   pre-processor is disabled, these aren't very useful.  */
    5.27 + const char *i386_comment_chars = "#";
    5.28 + #define PREFIX_SEPARATOR '/'
    5.29 +-#endif
    5.30 + 
    5.31 + /* This array holds the chars that only start a comment at the beginning of
    5.32 +    a line.  If the line seems to have the form '# 123 filename'
    5.33 +@@ -5486,20 +5472,6 @@
    5.34 +       break;
    5.35 + 
    5.36 +     case OPTION_DIVIDE:
    5.37 +-#ifdef SVR4_COMMENT_CHARS
    5.38 +-      {
    5.39 +-	char *n, *t;
    5.40 +-	const char *s;
    5.41 +-
    5.42 +-	n = (char *) xmalloc (strlen (i386_comment_chars) + 1);
    5.43 +-	t = n;
    5.44 +-	for (s = i386_comment_chars; *s != '\0'; s++)
    5.45 +-	  if (*s != '/')
    5.46 +-	    *t++ = *s;
    5.47 +-	*t = '\0';
    5.48 +-	i386_comment_chars = n;
    5.49 +-      }
    5.50 +-#endif
    5.51 +       break;
    5.52 + 
    5.53 +     default:
    5.54 +@@ -5525,13 +5497,8 @@
    5.55 +   fprintf (stream, _("\
    5.56 +   -s                      ignored\n"));
    5.57 + #endif
    5.58 +-#ifdef SVR4_COMMENT_CHARS
    5.59 +-  fprintf (stream, _("\
    5.60 +-  --divide                do not treat `/' as a comment character\n"));
    5.61 +-#else
    5.62 +   fprintf (stream, _("\
    5.63 +   --divide                ignored\n"));
    5.64 +-#endif
    5.65 + }
    5.66 + 
    5.67 + #if ((defined (OBJ_MAYBE_COFF) && defined (OBJ_MAYBE_AOUT)) \
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/patches/binutils/2.18.50.0.4/130-i386-no-divide-comment.patch	Mon Sep 22 12:09:19 2008 +0000
     6.3 @@ -0,0 +1,64 @@
     6.4 +diff -durN binutils-2.18.50.0.4.orig/gas/config/tc-i386.c binutils-2.18.50.0.4/gas/config/tc-i386.c
     6.5 +--- binutils-2.18.50.0.4.orig/gas/config/tc-i386.c	2008-02-08 17:44:10.000000000 +0100
     6.6 ++++ binutils-2.18.50.0.4/gas/config/tc-i386.c	2008-09-22 09:08:03.000000000 +0200
     6.7 +@@ -300,24 +300,10 @@
     6.8 + #endif
     6.9 + 	;
    6.10 + 
    6.11 +-#if (defined (TE_I386AIX)				\
    6.12 +-     || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF))	\
    6.13 +-	 && !defined (TE_GNU)				\
    6.14 +-	 && !defined (TE_LINUX)				\
    6.15 +- 	 && !defined (TE_NETWARE)			\
    6.16 +-	 && !defined (TE_FreeBSD)			\
    6.17 +-	 && !defined (TE_NetBSD)))
    6.18 + /* This array holds the chars that always start a comment.  If the
    6.19 +-   pre-processor is disabled, these aren't very useful.  The option
    6.20 +-   --divide will remove '/' from this list.  */
    6.21 +-const char *i386_comment_chars = "#/";
    6.22 +-#define SVR4_COMMENT_CHARS 1
    6.23 +-#define PREFIX_SEPARATOR '\\'
    6.24 +-
    6.25 +-#else
    6.26 ++   pre-processor is disabled, these aren't very useful.  */
    6.27 + const char *i386_comment_chars = "#";
    6.28 + #define PREFIX_SEPARATOR '/'
    6.29 +-#endif
    6.30 + 
    6.31 + /* This array holds the chars that only start a comment at the beginning of
    6.32 +    a line.  If the line seems to have the form '# 123 filename'
    6.33 +@@ -7243,20 +7229,6 @@
    6.34 +       break;
    6.35 + 
    6.36 +     case OPTION_DIVIDE:
    6.37 +-#ifdef SVR4_COMMENT_CHARS
    6.38 +-      {
    6.39 +-	char *n, *t;
    6.40 +-	const char *s;
    6.41 +-
    6.42 +-	n = (char *) xmalloc (strlen (i386_comment_chars) + 1);
    6.43 +-	t = n;
    6.44 +-	for (s = i386_comment_chars; *s != '\0'; s++)
    6.45 +-	  if (*s != '/')
    6.46 +-	    *t++ = *s;
    6.47 +-	*t = '\0';
    6.48 +-	i386_comment_chars = n;
    6.49 +-      }
    6.50 +-#endif
    6.51 +       break;
    6.52 + 
    6.53 +     case OPTION_MARCH:
    6.54 +@@ -7392,13 +7364,8 @@
    6.55 +   fprintf (stream, _("\
    6.56 +   --32/--64               generate 32bit/64bit code\n"));
    6.57 + #endif
    6.58 +-#ifdef SVR4_COMMENT_CHARS
    6.59 +-  fprintf (stream, _("\
    6.60 +-  --divide                do not treat `/' as a comment character\n"));
    6.61 +-#else
    6.62 +   fprintf (stream, _("\
    6.63 +   --divide                ignored\n"));
    6.64 +-#endif
    6.65 +   fprintf (stream, _("\
    6.66 +   -march=CPU[,+EXTENSION...]\n\
    6.67 +                           generate code for CPU and EXTENSION, CPU is one of:\n\
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/patches/binutils/2.18.50.0.6/130-i386-no-divide-comment.patch	Mon Sep 22 12:09:19 2008 +0000
     7.3 @@ -0,0 +1,64 @@
     7.4 +diff -durN binutils-2.18.50.0.6.orig/gas/config/tc-i386.c binutils-2.18.50.0.6/gas/config/tc-i386.c
     7.5 +--- binutils-2.18.50.0.6.orig/gas/config/tc-i386.c	2008-04-03 18:54:04.000000000 +0200
     7.6 ++++ binutils-2.18.50.0.6/gas/config/tc-i386.c	2008-09-22 09:09:23.000000000 +0200
     7.7 +@@ -312,24 +312,10 @@
     7.8 + #endif
     7.9 + 	;
    7.10 + 
    7.11 +-#if (defined (TE_I386AIX)				\
    7.12 +-     || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF))	\
    7.13 +-	 && !defined (TE_GNU)				\
    7.14 +-	 && !defined (TE_LINUX)				\
    7.15 +- 	 && !defined (TE_NETWARE)			\
    7.16 +-	 && !defined (TE_FreeBSD)			\
    7.17 +-	 && !defined (TE_NetBSD)))
    7.18 + /* This array holds the chars that always start a comment.  If the
    7.19 +-   pre-processor is disabled, these aren't very useful.  The option
    7.20 +-   --divide will remove '/' from this list.  */
    7.21 +-const char *i386_comment_chars = "#/";
    7.22 +-#define SVR4_COMMENT_CHARS 1
    7.23 +-#define PREFIX_SEPARATOR '\\'
    7.24 +-
    7.25 +-#else
    7.26 ++   pre-processor is disabled, these aren't very useful.  */
    7.27 + const char *i386_comment_chars = "#";
    7.28 + #define PREFIX_SEPARATOR '/'
    7.29 +-#endif
    7.30 + 
    7.31 + /* This array holds the chars that only start a comment at the beginning of
    7.32 +    a line.  If the line seems to have the form '# 123 filename'
    7.33 +@@ -7876,20 +7862,6 @@
    7.34 +       break;
    7.35 + 
    7.36 +     case OPTION_DIVIDE:
    7.37 +-#ifdef SVR4_COMMENT_CHARS
    7.38 +-      {
    7.39 +-	char *n, *t;
    7.40 +-	const char *s;
    7.41 +-
    7.42 +-	n = (char *) xmalloc (strlen (i386_comment_chars) + 1);
    7.43 +-	t = n;
    7.44 +-	for (s = i386_comment_chars; *s != '\0'; s++)
    7.45 +-	  if (*s != '/')
    7.46 +-	    *t++ = *s;
    7.47 +-	*t = '\0';
    7.48 +-	i386_comment_chars = n;
    7.49 +-      }
    7.50 +-#endif
    7.51 +       break;
    7.52 + 
    7.53 +     case OPTION_MARCH:
    7.54 +@@ -8029,13 +8001,8 @@
    7.55 +   fprintf (stream, _("\
    7.56 +   --32/--64               generate 32bit/64bit code\n"));
    7.57 + #endif
    7.58 +-#ifdef SVR4_COMMENT_CHARS
    7.59 +-  fprintf (stream, _("\
    7.60 +-  --divide                do not treat `/' as a comment character\n"));
    7.61 +-#else
    7.62 +   fprintf (stream, _("\
    7.63 +   --divide                ignored\n"));
    7.64 +-#endif
    7.65 +   fprintf (stream, _("\
    7.66 +   -march=CPU[,+EXTENSION...]\n\
    7.67 +                           generate code for CPU and EXTENSION, CPU is one of:\n\
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/patches/binutils/2.18.50.0.7/130-i386-no-divide-comment.patch	Mon Sep 22 12:09:19 2008 +0000
     8.3 @@ -0,0 +1,64 @@
     8.4 +diff -durN binutils-2.18.50.0.7.orig/gas/config/tc-i386.c binutils-2.18.50.0.7/gas/config/tc-i386.c
     8.5 +--- binutils-2.18.50.0.7.orig/gas/config/tc-i386.c	2008-05-04 16:28:10.000000000 +0200
     8.6 ++++ binutils-2.18.50.0.7/gas/config/tc-i386.c	2008-09-22 09:11:19.000000000 +0200
     8.7 +@@ -312,24 +312,10 @@
     8.8 + #endif
     8.9 + 	;
    8.10 + 
    8.11 +-#if (defined (TE_I386AIX)				\
    8.12 +-     || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF))	\
    8.13 +-	 && !defined (TE_GNU)				\
    8.14 +-	 && !defined (TE_LINUX)				\
    8.15 +- 	 && !defined (TE_NETWARE)			\
    8.16 +-	 && !defined (TE_FreeBSD)			\
    8.17 +-	 && !defined (TE_NetBSD)))
    8.18 + /* This array holds the chars that always start a comment.  If the
    8.19 +-   pre-processor is disabled, these aren't very useful.  The option
    8.20 +-   --divide will remove '/' from this list.  */
    8.21 +-const char *i386_comment_chars = "#/";
    8.22 +-#define SVR4_COMMENT_CHARS 1
    8.23 +-#define PREFIX_SEPARATOR '\\'
    8.24 +-
    8.25 +-#else
    8.26 ++   pre-processor is disabled, these aren't very useful.  */
    8.27 + const char *i386_comment_chars = "#";
    8.28 + #define PREFIX_SEPARATOR '/'
    8.29 +-#endif
    8.30 + 
    8.31 + /* This array holds the chars that only start a comment at the beginning of
    8.32 +    a line.  If the line seems to have the form '# 123 filename'
    8.33 +@@ -7920,20 +7906,6 @@
    8.34 +       break;
    8.35 + 
    8.36 +     case OPTION_DIVIDE:
    8.37 +-#ifdef SVR4_COMMENT_CHARS
    8.38 +-      {
    8.39 +-	char *n, *t;
    8.40 +-	const char *s;
    8.41 +-
    8.42 +-	n = (char *) xmalloc (strlen (i386_comment_chars) + 1);
    8.43 +-	t = n;
    8.44 +-	for (s = i386_comment_chars; *s != '\0'; s++)
    8.45 +-	  if (*s != '/')
    8.46 +-	    *t++ = *s;
    8.47 +-	*t = '\0';
    8.48 +-	i386_comment_chars = n;
    8.49 +-      }
    8.50 +-#endif
    8.51 +       break;
    8.52 + 
    8.53 +     case OPTION_MARCH:
    8.54 +@@ -8084,13 +8056,8 @@
    8.55 +   fprintf (stream, _("\
    8.56 +   --32/--64               generate 32bit/64bit code\n"));
    8.57 + #endif
    8.58 +-#ifdef SVR4_COMMENT_CHARS
    8.59 +-  fprintf (stream, _("\
    8.60 +-  --divide                do not treat `/' as a comment character\n"));
    8.61 +-#else
    8.62 +   fprintf (stream, _("\
    8.63 +   --divide                ignored\n"));
    8.64 +-#endif
    8.65 +   fprintf (stream, _("\
    8.66 +   -march=CPU[,+EXTENSION...]\n\
    8.67 +                           generate code for CPU and EXTENSION, CPU is one of:\n\
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/patches/binutils/2.18.50.0.8/130-i386-no-divide-comment.patch	Mon Sep 22 12:09:19 2008 +0000
     9.3 @@ -0,0 +1,64 @@
     9.4 +diff -durN binutils-2.18.50.0.8.orig/gas/config/tc-i386.c binutils-2.18.50.0.8/gas/config/tc-i386.c
     9.5 +--- binutils-2.18.50.0.8.orig/gas/config/tc-i386.c	2008-07-10 17:32:58.000000000 +0200
     9.6 ++++ binutils-2.18.50.0.8/gas/config/tc-i386.c	2008-09-22 09:12:39.000000000 +0200
     9.7 +@@ -313,24 +313,10 @@
     9.8 + #endif
     9.9 + 	;
    9.10 + 
    9.11 +-#if (defined (TE_I386AIX)				\
    9.12 +-     || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF))	\
    9.13 +-	 && !defined (TE_GNU)				\
    9.14 +-	 && !defined (TE_LINUX)				\
    9.15 +- 	 && !defined (TE_NETWARE)			\
    9.16 +-	 && !defined (TE_FreeBSD)			\
    9.17 +-	 && !defined (TE_NetBSD)))
    9.18 + /* This array holds the chars that always start a comment.  If the
    9.19 +-   pre-processor is disabled, these aren't very useful.  The option
    9.20 +-   --divide will remove '/' from this list.  */
    9.21 +-const char *i386_comment_chars = "#/";
    9.22 +-#define SVR4_COMMENT_CHARS 1
    9.23 +-#define PREFIX_SEPARATOR '\\'
    9.24 +-
    9.25 +-#else
    9.26 ++   pre-processor is disabled, these aren't very useful.  */
    9.27 + const char *i386_comment_chars = "#";
    9.28 + #define PREFIX_SEPARATOR '/'
    9.29 +-#endif
    9.30 + 
    9.31 + /* This array holds the chars that only start a comment at the beginning of
    9.32 +    a line.  If the line seems to have the form '# 123 filename'
    9.33 +@@ -7952,20 +7938,6 @@
    9.34 +       break;
    9.35 + 
    9.36 +     case OPTION_DIVIDE:
    9.37 +-#ifdef SVR4_COMMENT_CHARS
    9.38 +-      {
    9.39 +-	char *n, *t;
    9.40 +-	const char *s;
    9.41 +-
    9.42 +-	n = (char *) xmalloc (strlen (i386_comment_chars) + 1);
    9.43 +-	t = n;
    9.44 +-	for (s = i386_comment_chars; *s != '\0'; s++)
    9.45 +-	  if (*s != '/')
    9.46 +-	    *t++ = *s;
    9.47 +-	*t = '\0';
    9.48 +-	i386_comment_chars = n;
    9.49 +-      }
    9.50 +-#endif
    9.51 +       break;
    9.52 + 
    9.53 +     case OPTION_MARCH:
    9.54 +@@ -8116,13 +8088,8 @@
    9.55 +   fprintf (stream, _("\
    9.56 +   --32/--64               generate 32bit/64bit code\n"));
    9.57 + #endif
    9.58 +-#ifdef SVR4_COMMENT_CHARS
    9.59 +-  fprintf (stream, _("\
    9.60 +-  --divide                do not treat `/' as a comment character\n"));
    9.61 +-#else
    9.62 +   fprintf (stream, _("\
    9.63 +   --divide                ignored\n"));
    9.64 +-#endif
    9.65 +   fprintf (stream, _("\
    9.66 +   -march=CPU[,+EXTENSION...]\n\
    9.67 +                           generate code for CPU and EXTENSION, CPU is one of:\n\
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/patches/binutils/2.18.50.0.9/100-arm-uclibcgnueabi.patch	Mon Sep 22 12:09:19 2008 +0000
    10.3 @@ -0,0 +1,24 @@
    10.4 +diff -durN binutils-2.18.50.0.8.orig/configure binutils-2.18.50.0.8/configure
    10.5 +--- binutils-2.18.50.0.8.orig/configure	2008-07-10 17:32:56.000000000 +0200
    10.6 ++++ binutils-2.18.50.0.8/configure	2008-07-13 23:08:13.000000000 +0200
    10.7 +@@ -2313,7 +2313,7 @@
    10.8 +     noconfigdirs="$noconfigdirs target-libffi target-qthreads"
    10.9 +     libgloss_dir=arm
   10.10 +     ;;
   10.11 +-  arm*-*-linux-gnueabi)
   10.12 ++  arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
   10.13 +     noconfigdirs="$noconfigdirs target-qthreads"
   10.14 +     case ${with_newlib} in
   10.15 +       no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
   10.16 +diff -durN binutils-2.18.50.0.8.orig/configure.ac binutils-2.18.50.0.8/configure.ac
   10.17 +--- binutils-2.18.50.0.8.orig/configure.ac	2008-07-10 17:32:56.000000000 +0200
   10.18 ++++ binutils-2.18.50.0.8/configure.ac	2008-07-13 23:08:13.000000000 +0200
   10.19 +@@ -562,7 +562,7 @@
   10.20 +     noconfigdirs="$noconfigdirs target-libffi target-qthreads"
   10.21 +     libgloss_dir=arm
   10.22 +     ;;
   10.23 +-  arm*-*-linux-gnueabi)
   10.24 ++  arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
   10.25 +     noconfigdirs="$noconfigdirs target-qthreads"
   10.26 +     case ${with_newlib} in
   10.27 +       no) noconfigdirs="$noconfigdirs target-newlib target-libgloss"
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/patches/binutils/2.18.50.0.9/110-ld-makefile-path.patch	Mon Sep 22 12:09:19 2008 +0000
    11.3 @@ -0,0 +1,24 @@
    11.4 +diff -durN binutils-2.18.50.0.8.orig/ld/Makefile.am binutils-2.18.50.0.8/ld/Makefile.am
    11.5 +--- binutils-2.18.50.0.8.orig/ld/Makefile.am	2008-04-03 18:54:05.000000000 +0200
    11.6 ++++ binutils-2.18.50.0.8/ld/Makefile.am	2008-07-13 23:15:40.000000000 +0200
    11.7 +@@ -18,7 +18,7 @@
    11.8 + # We put the scripts in the directory $(scriptdir)/ldscripts.
    11.9 + # We can't put the scripts in $(datadir) because the SEARCH_DIR
   11.10 + # directives need to be different for native and cross linkers.
   11.11 +-scriptdir = $(tooldir)/lib
   11.12 ++scriptdir = $(libdir)
   11.13 + 
   11.14 + EMUL = @EMUL@
   11.15 + EMULATION_OFILES = @EMULATION_OFILES@
   11.16 +diff -durN binutils-2.18.50.0.8.orig/ld/Makefile.in binutils-2.18.50.0.8/ld/Makefile.in
   11.17 +--- binutils-2.18.50.0.8.orig/ld/Makefile.in	2008-07-10 17:32:58.000000000 +0200
   11.18 ++++ binutils-2.18.50.0.8/ld/Makefile.in	2008-07-13 23:15:40.000000000 +0200
   11.19 +@@ -290,7 +290,7 @@
   11.20 + # We put the scripts in the directory $(scriptdir)/ldscripts.
   11.21 + # We can't put the scripts in $(datadir) because the SEARCH_DIR
   11.22 + # directives need to be different for native and cross linkers.
   11.23 +-scriptdir = $(tooldir)/lib
   11.24 ++scriptdir = $(libdir)
   11.25 + BASEDIR = $(srcdir)/..
   11.26 + BFDDIR = $(BASEDIR)/bfd
   11.27 + INCDIR = $(BASEDIR)/include
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/patches/binutils/2.18.50.0.9/120-check-ldrunpath-length.patch	Mon Sep 22 12:09:19 2008 +0000
    12.3 @@ -0,0 +1,21 @@
    12.4 +diff -durN binutils-2.18.50.0.8.orig/ld/emultempl/elf32.em binutils-2.18.50.0.8/ld/emultempl/elf32.em
    12.5 +--- binutils-2.18.50.0.8.orig/ld/emultempl/elf32.em	2008-07-10 17:33:23.000000000 +0200
    12.6 ++++ binutils-2.18.50.0.8/ld/emultempl/elf32.em	2008-07-13 23:19:29.000000000 +0200
    12.7 +@@ -1220,6 +1220,8 @@
    12.8 + 	      && command_line.rpath == NULL)
    12.9 + 	    {
   12.10 + 	      lib_path = (const char *) getenv ("LD_RUN_PATH");
   12.11 ++	      if ((lib_path) && (strlen (lib_path) == 0))
   12.12 ++		  lib_path = NULL;
   12.13 + 	      if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
   12.14 + 						      force))
   12.15 + 		break;
   12.16 +@@ -1405,6 +1407,8 @@
   12.17 +   rpath = command_line.rpath;
   12.18 +   if (rpath == NULL)
   12.19 +     rpath = (const char *) getenv ("LD_RUN_PATH");
   12.20 ++  if ((rpath) && (strlen (rpath) == 0))
   12.21 ++      rpath = NULL;
   12.22 +   if (! (bfd_elf_size_dynamic_sections
   12.23 + 	 (link_info.output_bfd, command_line.soname, rpath,
   12.24 + 	  command_line.filter_shlib,
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/patches/binutils/2.18.50.0.9/130-i386-no-divide-comment.patch	Mon Sep 22 12:09:19 2008 +0000
    13.3 @@ -0,0 +1,64 @@
    13.4 +diff -durN binutils-2.18.50.0.8.orig/gas/config/tc-i386.c binutils-2.18.50.0.8/gas/config/tc-i386.c
    13.5 +--- binutils-2.18.50.0.8.orig/gas/config/tc-i386.c	2008-07-10 17:32:58.000000000 +0200
    13.6 ++++ binutils-2.18.50.0.8/gas/config/tc-i386.c	2008-09-22 09:12:39.000000000 +0200
    13.7 +@@ -313,24 +313,10 @@
    13.8 + #endif
    13.9 + 	;
   13.10 + 
   13.11 +-#if (defined (TE_I386AIX)				\
   13.12 +-     || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF))	\
   13.13 +-	 && !defined (TE_GNU)				\
   13.14 +-	 && !defined (TE_LINUX)				\
   13.15 +- 	 && !defined (TE_NETWARE)			\
   13.16 +-	 && !defined (TE_FreeBSD)			\
   13.17 +-	 && !defined (TE_NetBSD)))
   13.18 + /* This array holds the chars that always start a comment.  If the
   13.19 +-   pre-processor is disabled, these aren't very useful.  The option
   13.20 +-   --divide will remove '/' from this list.  */
   13.21 +-const char *i386_comment_chars = "#/";
   13.22 +-#define SVR4_COMMENT_CHARS 1
   13.23 +-#define PREFIX_SEPARATOR '\\'
   13.24 +-
   13.25 +-#else
   13.26 ++   pre-processor is disabled, these aren't very useful.  */
   13.27 + const char *i386_comment_chars = "#";
   13.28 + #define PREFIX_SEPARATOR '/'
   13.29 +-#endif
   13.30 + 
   13.31 + /* This array holds the chars that only start a comment at the beginning of
   13.32 +    a line.  If the line seems to have the form '# 123 filename'
   13.33 +@@ -7952,20 +7938,6 @@
   13.34 +       break;
   13.35 + 
   13.36 +     case OPTION_DIVIDE:
   13.37 +-#ifdef SVR4_COMMENT_CHARS
   13.38 +-      {
   13.39 +-	char *n, *t;
   13.40 +-	const char *s;
   13.41 +-
   13.42 +-	n = (char *) xmalloc (strlen (i386_comment_chars) + 1);
   13.43 +-	t = n;
   13.44 +-	for (s = i386_comment_chars; *s != '\0'; s++)
   13.45 +-	  if (*s != '/')
   13.46 +-	    *t++ = *s;
   13.47 +-	*t = '\0';
   13.48 +-	i386_comment_chars = n;
   13.49 +-      }
   13.50 +-#endif
   13.51 +       break;
   13.52 + 
   13.53 +     case OPTION_MARCH:
   13.54 +@@ -8116,13 +8088,8 @@
   13.55 +   fprintf (stream, _("\
   13.56 +   --32/--64               generate 32bit/64bit code\n"));
   13.57 + #endif
   13.58 +-#ifdef SVR4_COMMENT_CHARS
   13.59 +-  fprintf (stream, _("\
   13.60 +-  --divide                do not treat `/' as a comment character\n"));
   13.61 +-#else
   13.62 +   fprintf (stream, _("\
   13.63 +   --divide                ignored\n"));
   13.64 +-#endif
   13.65 +   fprintf (stream, _("\
   13.66 +   -march=CPU[,+EXTENSION...]\n\
   13.67 +                           generate code for CPU and EXTENSION, CPU is one of:\n\
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/patches/binutils/2.18/120-i386-no-divide-comment.patch	Mon Sep 22 12:09:19 2008 +0000
    14.3 @@ -0,0 +1,64 @@
    14.4 +diff -durN binutils-2.18.orig/gas/config/tc-i386.c binutils-2.18/gas/config/tc-i386.c
    14.5 +--- binutils-2.18.orig/gas/config/tc-i386.c	2007-08-24 16:01:22.000000000 +0200
    14.6 ++++ binutils-2.18/gas/config/tc-i386.c	2008-09-22 08:11:42.000000000 +0200
    14.7 +@@ -180,24 +180,10 @@
    14.8 + #endif
    14.9 + 	;
   14.10 + 
   14.11 +-#if (defined (TE_I386AIX)				\
   14.12 +-     || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF))	\
   14.13 +-	 && !defined (TE_GNU)				\
   14.14 +-	 && !defined (TE_LINUX)				\
   14.15 +- 	 && !defined (TE_NETWARE)			\
   14.16 +-	 && !defined (TE_FreeBSD)			\
   14.17 +-	 && !defined (TE_NetBSD)))
   14.18 + /* This array holds the chars that always start a comment.  If the
   14.19 +-   pre-processor is disabled, these aren't very useful.  The option
   14.20 +-   --divide will remove '/' from this list.  */
   14.21 +-const char *i386_comment_chars = "#/";
   14.22 +-#define SVR4_COMMENT_CHARS 1
   14.23 +-#define PREFIX_SEPARATOR '\\'
   14.24 +-
   14.25 +-#else
   14.26 ++   pre-processor is disabled, these aren't very useful.  */
   14.27 + const char *i386_comment_chars = "#";
   14.28 + #define PREFIX_SEPARATOR '/'
   14.29 +-#endif
   14.30 + 
   14.31 + /* This array holds the chars that only start a comment at the beginning of
   14.32 +    a line.  If the line seems to have the form '# 123 filename'
   14.33 +@@ -6061,20 +6047,6 @@
   14.34 +       break;
   14.35 + 
   14.36 +     case OPTION_DIVIDE:
   14.37 +-#ifdef SVR4_COMMENT_CHARS
   14.38 +-      {
   14.39 +-	char *n, *t;
   14.40 +-	const char *s;
   14.41 +-
   14.42 +-	n = (char *) xmalloc (strlen (i386_comment_chars) + 1);
   14.43 +-	t = n;
   14.44 +-	for (s = i386_comment_chars; *s != '\0'; s++)
   14.45 +-	  if (*s != '/')
   14.46 +-	    *t++ = *s;
   14.47 +-	*t = '\0';
   14.48 +-	i386_comment_chars = n;
   14.49 +-      }
   14.50 +-#endif
   14.51 +       break;
   14.52 + 
   14.53 +     case OPTION_MARCH:
   14.54 +@@ -6142,13 +6114,8 @@
   14.55 +   fprintf (stream, _("\
   14.56 +   --32/--64               generate 32bit/64bit code\n"));
   14.57 + #endif
   14.58 +-#ifdef SVR4_COMMENT_CHARS
   14.59 +-  fprintf (stream, _("\
   14.60 +-  --divide                do not treat `/' as a comment character\n"));
   14.61 +-#else
   14.62 +   fprintf (stream, _("\
   14.63 +   --divide                ignored\n"));
   14.64 +-#endif
   14.65 +   fprintf (stream, _("\
   14.66 +   -march=CPU/-mtune=CPU   generate code/optimize for CPU, where CPU is one of:\n\
   14.67 +                            i386, i486, pentium, pentiumpro, pentium4, nocona,\n\