From 2d87a3583118c410fdd3a2fd2acfb281ec15537a Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Mon, 22 Sep 2008 12:09:19 +0000 Subject: 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(+) diff --git a/config/binutils.in b/config/binutils.in index a3eb211..5ece2cc 100644 --- a/config/binutils.in +++ b/config/binutils.in @@ -51,6 +51,11 @@ config BINUTILS_V_2_18_50_0_8 prompt "2.18.50.0.8 (EXPERIMENTAL)" depends on EXPERIMENTAL +config BINUTILS_V_2_18_50_0_9 + bool + prompt "2.18.50.0.9 (EXPERIMENTAL)" + depends on EXPERIMENTAL + # CT_INSERT_VERSION_ABOVE # Don't remove above line! endchoice @@ -66,6 +71,7 @@ config BINUTILS_VERSION default "2.18.50.0.6" if BINUTILS_V_2_18_50_0_6 default "2.18.50.0.7" if BINUTILS_V_2_18_50_0_7 default "2.18.50.0.8" if BINUTILS_V_2_18_50_0_8 + default "2.18.50.0.9" if BINUTILS_V_2_18_50_0_9 # CT_INSERT_VERSION_STRING_ABOVE # Don't remove above line! diff --git a/patches/binutils/2.14/110-i386-no-divide-comment.patch b/patches/binutils/2.14/110-i386-no-divide-comment.patch new file mode 100644 index 0000000..699db8e --- /dev/null +++ b/patches/binutils/2.14/110-i386-no-divide-comment.patch @@ -0,0 +1,38 @@ +diff -durN binutils-2.14.orig/gas/config/tc-i386.c binutils-2.14/gas/config/tc-i386.c +--- binutils-2.14.orig/gas/config/tc-i386.c 2003-01-29 11:05:52.000000000 +0100 ++++ binutils-2.14/gas/config/tc-i386.c 2008-09-22 08:54:50.000000000 +0200 +@@ -189,15 +189,10 @@ + const char extra_symbol_chars[] = "*%-(["; + #endif + +-#if (defined (TE_I386AIX) \ +- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \ +- && !defined (TE_LINUX) \ +- && !defined (TE_FreeBSD) \ +- && !defined (TE_NetBSD))) + /* This array holds the chars that always start a comment. If the + pre-processor is disabled, these aren't very useful. */ +-const char comment_chars[] = "#/"; +-#define PREFIX_SEPARATOR '\\' ++const char comment_chars[] = "#"; ++#define PREFIX_SEPARATOR '/' + + /* This array holds the chars that only start a comment at the beginning of + a line. If the line seems to have the form '# 123 filename' +@@ -207,16 +202,7 @@ + #NO_APP at the beginning of its output. + Also note that comments started like this one will always work if + '/' isn't otherwise defined. */ +-const char line_comment_chars[] = "#"; +- +-#else +-/* Putting '/' here makes it impossible to use the divide operator. +- However, we need it for compatibility with SVR4 systems. */ +-const char comment_chars[] = "#"; +-#define PREFIX_SEPARATOR '/' +- + const char line_comment_chars[] = "/#"; +-#endif + + const char line_separator_chars[] = ";"; + diff --git a/patches/binutils/2.14/270-i386-no-divide-comment.patch b/patches/binutils/2.14/270-i386-no-divide-comment.patch new file mode 100644 index 0000000..47c56d0 --- /dev/null +++ b/patches/binutils/2.14/270-i386-no-divide-comment.patch @@ -0,0 +1,38 @@ +diff -durN binutils-2.15.orig/gas/config/tc-i386.c binutils-2.15/gas/config/tc-i386.c +--- binutils-2.15.orig/gas/config/tc-i386.c 2004-05-17 21:36:09.000000000 +0200 ++++ binutils-2.15/gas/config/tc-i386.c 2008-09-22 08:57:14.000000000 +0200 +@@ -185,15 +185,10 @@ + const char extra_symbol_chars[] = "*%-(["; + #endif + +-#if (defined (TE_I386AIX) \ +- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \ +- && !defined (TE_LINUX) \ +- && !defined (TE_FreeBSD) \ +- && !defined (TE_NetBSD))) + /* This array holds the chars that always start a comment. If the + pre-processor is disabled, these aren't very useful. */ +-const char comment_chars[] = "#/"; +-#define PREFIX_SEPARATOR '\\' ++const char comment_chars[] = "#"; ++#define PREFIX_SEPARATOR '/' + + /* This array holds the chars that only start a comment at the beginning of + a line. If the line seems to have the form '# 123 filename' +@@ -203,16 +198,7 @@ + #NO_APP at the beginning of its output. + Also note that comments started like this one will always work if + '/' isn't otherwise defined. */ +-const char line_comment_chars[] = "#"; +- +-#else +-/* Putting '/' here makes it impossible to use the divide operator. +- However, we need it for compatibility with SVR4 systems. */ +-const char comment_chars[] = "#"; +-#define PREFIX_SEPARATOR '/' +- + const char line_comment_chars[] = "/#"; +-#endif + + const char line_separator_chars[] = ";"; + diff --git a/patches/binutils/2.16.1/160-i386-no-divide-comment.patch b/patches/binutils/2.16.1/160-i386-no-divide-comment.patch new file mode 100644 index 0000000..046a55f --- /dev/null +++ b/patches/binutils/2.16.1/160-i386-no-divide-comment.patch @@ -0,0 +1,40 @@ +diff -durN binutils-2.16.1.orig/gas/config/tc-i386.c binutils-2.16.1/gas/config/tc-i386.c +--- binutils-2.16.1.orig/gas/config/tc-i386.c 2005-04-13 19:58:42.000000000 +0200 ++++ binutils-2.16.1/gas/config/tc-i386.c 2008-09-22 09:00:09.000000000 +0200 +@@ -192,16 +192,10 @@ + #endif + ; + +-#if (defined (TE_I386AIX) \ +- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \ +- && !defined (TE_LINUX) \ +- && !defined (TE_NETWARE) \ +- && !defined (TE_FreeBSD) \ +- && !defined (TE_NetBSD))) + /* This array holds the chars that always start a comment. If the + pre-processor is disabled, these aren't very useful. */ +-const char comment_chars[] = "#/"; +-#define PREFIX_SEPARATOR '\\' ++const char comment_chars[] = "#"; ++#define PREFIX_SEPARATOR '/' + + /* This array holds the chars that only start a comment at the beginning of + a line. If the line seems to have the form '# 123 filename' +@@ -211,16 +205,7 @@ + #NO_APP at the beginning of its output. + Also note that comments started like this one will always work if + '/' isn't otherwise defined. */ +-const char line_comment_chars[] = "#"; +- +-#else +-/* Putting '/' here makes it impossible to use the divide operator. +- However, we need it for compatibility with SVR4 systems. */ +-const char comment_chars[] = "#"; +-#define PREFIX_SEPARATOR '/' +- +-const char line_comment_chars[] = "/#"; +-#endif ++const char line_comment_chars[] = "#/"; + + const char line_separator_chars[] = ";"; + diff --git a/patches/binutils/2.17/210-i386-no-divide-comment.patch b/patches/binutils/2.17/210-i386-no-divide-comment.patch new file mode 100644 index 0000000..c6b3f62 --- /dev/null +++ b/patches/binutils/2.17/210-i386-no-divide-comment.patch @@ -0,0 +1,64 @@ +diff -durN binutils-2.17.orig/gas/config/tc-i386.c binutils-2.17/gas/config/tc-i386.c +--- binutils-2.17.orig/gas/config/tc-i386.c 2006-04-07 08:40:57.000000000 +0200 ++++ binutils-2.17/gas/config/tc-i386.c 2008-09-22 09:06:07.000000000 +0200 +@@ -196,24 +196,10 @@ + #endif + ; + +-#if (defined (TE_I386AIX) \ +- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \ +- && !defined (TE_GNU) \ +- && !defined (TE_LINUX) \ +- && !defined (TE_NETWARE) \ +- && !defined (TE_FreeBSD) \ +- && !defined (TE_NetBSD))) + /* This array holds the chars that always start a comment. If the +- pre-processor is disabled, these aren't very useful. The option +- --divide will remove '/' from this list. */ +-const char *i386_comment_chars = "#/"; +-#define SVR4_COMMENT_CHARS 1 +-#define PREFIX_SEPARATOR '\\' +- +-#else ++ pre-processor is disabled, these aren't very useful. */ + const char *i386_comment_chars = "#"; + #define PREFIX_SEPARATOR '/' +-#endif + + /* This array holds the chars that only start a comment at the beginning of + a line. If the line seems to have the form '# 123 filename' +@@ -5486,20 +5472,6 @@ + break; + + case OPTION_DIVIDE: +-#ifdef SVR4_COMMENT_CHARS +- { +- char *n, *t; +- const char *s; +- +- n = (char *) xmalloc (strlen (i386_comment_chars) + 1); +- t = n; +- for (s = i386_comment_chars; *s != '\0'; s++) +- if (*s != '/') +- *t++ = *s; +- *t = '\0'; +- i386_comment_chars = n; +- } +-#endif + break; + + default: +@@ -5525,13 +5497,8 @@ + fprintf (stream, _("\ + -s ignored\n")); + #endif +-#ifdef SVR4_COMMENT_CHARS +- fprintf (stream, _("\ +- --divide do not treat `/' as a comment character\n")); +-#else + fprintf (stream, _("\ + --divide ignored\n")); +-#endif + } + + #if ((defined (OBJ_MAYBE_COFF) && defined (OBJ_MAYBE_AOUT)) \ diff --git a/patches/binutils/2.18.50.0.4/130-i386-no-divide-comment.patch b/patches/binutils/2.18.50.0.4/130-i386-no-divide-comment.patch new file mode 100644 index 0000000..f0d7bb8 --- /dev/null +++ b/patches/binutils/2.18.50.0.4/130-i386-no-divide-comment.patch @@ -0,0 +1,64 @@ +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 +--- binutils-2.18.50.0.4.orig/gas/config/tc-i386.c 2008-02-08 17:44:10.000000000 +0100 ++++ binutils-2.18.50.0.4/gas/config/tc-i386.c 2008-09-22 09:08:03.000000000 +0200 +@@ -300,24 +300,10 @@ + #endif + ; + +-#if (defined (TE_I386AIX) \ +- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \ +- && !defined (TE_GNU) \ +- && !defined (TE_LINUX) \ +- && !defined (TE_NETWARE) \ +- && !defined (TE_FreeBSD) \ +- && !defined (TE_NetBSD))) + /* This array holds the chars that always start a comment. If the +- pre-processor is disabled, these aren't very useful. The option +- --divide will remove '/' from this list. */ +-const char *i386_comment_chars = "#/"; +-#define SVR4_COMMENT_CHARS 1 +-#define PREFIX_SEPARATOR '\\' +- +-#else ++ pre-processor is disabled, these aren't very useful. */ + const char *i386_comment_chars = "#"; + #define PREFIX_SEPARATOR '/' +-#endif + + /* This array holds the chars that only start a comment at the beginning of + a line. If the line seems to have the form '# 123 filename' +@@ -7243,20 +7229,6 @@ + break; + + case OPTION_DIVIDE: +-#ifdef SVR4_COMMENT_CHARS +- { +- char *n, *t; +- const char *s; +- +- n = (char *) xmalloc (strlen (i386_comment_chars) + 1); +- t = n; +- for (s = i386_comment_chars; *s != '\0'; s++) +- if (*s != '/') +- *t++ = *s; +- *t = '\0'; +- i386_comment_chars = n; +- } +-#endif + break; + + case OPTION_MARCH: +@@ -7392,13 +7364,8 @@ + fprintf (stream, _("\ + --32/--64 generate 32bit/64bit code\n")); + #endif +-#ifdef SVR4_COMMENT_CHARS +- fprintf (stream, _("\ +- --divide do not treat `/' as a comment character\n")); +-#else + fprintf (stream, _("\ + --divide ignored\n")); +-#endif + fprintf (stream, _("\ + -march=CPU[,+EXTENSION...]\n\ + generate code for CPU and EXTENSION, CPU is one of:\n\ diff --git a/patches/binutils/2.18.50.0.6/130-i386-no-divide-comment.patch b/patches/binutils/2.18.50.0.6/130-i386-no-divide-comment.patch new file mode 100644 index 0000000..e435805 --- /dev/null +++ b/patches/binutils/2.18.50.0.6/130-i386-no-divide-comment.patch @@ -0,0 +1,64 @@ +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 +--- binutils-2.18.50.0.6.orig/gas/config/tc-i386.c 2008-04-03 18:54:04.000000000 +0200 ++++ binutils-2.18.50.0.6/gas/config/tc-i386.c 2008-09-22 09:09:23.000000000 +0200 +@@ -312,24 +312,10 @@ + #endif + ; + +-#if (defined (TE_I386AIX) \ +- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \ +- && !defined (TE_GNU) \ +- && !defined (TE_LINUX) \ +- && !defined (TE_NETWARE) \ +- && !defined (TE_FreeBSD) \ +- && !defined (TE_NetBSD))) + /* This array holds the chars that always start a comment. If the +- pre-processor is disabled, these aren't very useful. The option +- --divide will remove '/' from this list. */ +-const char *i386_comment_chars = "#/"; +-#define SVR4_COMMENT_CHARS 1 +-#define PREFIX_SEPARATOR '\\' +- +-#else ++ pre-processor is disabled, these aren't very useful. */ + const char *i386_comment_chars = "#"; + #define PREFIX_SEPARATOR '/' +-#endif + + /* This array holds the chars that only start a comment at the beginning of + a line. If the line seems to have the form '# 123 filename' +@@ -7876,20 +7862,6 @@ + break; + + case OPTION_DIVIDE: +-#ifdef SVR4_COMMENT_CHARS +- { +- char *n, *t; +- const char *s; +- +- n = (char *) xmalloc (strlen (i386_comment_chars) + 1); +- t = n; +- for (s = i386_comment_chars; *s != '\0'; s++) +- if (*s != '/') +- *t++ = *s; +- *t = '\0'; +- i386_comment_chars = n; +- } +-#endif + break; + + case OPTION_MARCH: +@@ -8029,13 +8001,8 @@ + fprintf (stream, _("\ + --32/--64 generate 32bit/64bit code\n")); + #endif +-#ifdef SVR4_COMMENT_CHARS +- fprintf (stream, _("\ +- --divide do not treat `/' as a comment character\n")); +-#else + fprintf (stream, _("\ + --divide ignored\n")); +-#endif + fprintf (stream, _("\ + -march=CPU[,+EXTENSION...]\n\ + generate code for CPU and EXTENSION, CPU is one of:\n\ diff --git a/patches/binutils/2.18.50.0.7/130-i386-no-divide-comment.patch b/patches/binutils/2.18.50.0.7/130-i386-no-divide-comment.patch new file mode 100644 index 0000000..af62265 --- /dev/null +++ b/patches/binutils/2.18.50.0.7/130-i386-no-divide-comment.patch @@ -0,0 +1,64 @@ +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 +--- binutils-2.18.50.0.7.orig/gas/config/tc-i386.c 2008-05-04 16:28:10.000000000 +0200 ++++ binutils-2.18.50.0.7/gas/config/tc-i386.c 2008-09-22 09:11:19.000000000 +0200 +@@ -312,24 +312,10 @@ + #endif + ; + +-#if (defined (TE_I386AIX) \ +- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \ +- && !defined (TE_GNU) \ +- && !defined (TE_LINUX) \ +- && !defined (TE_NETWARE) \ +- && !defined (TE_FreeBSD) \ +- && !defined (TE_NetBSD))) + /* This array holds the chars that always start a comment. If the +- pre-processor is disabled, these aren't very useful. The option +- --divide will remove '/' from this list. */ +-const char *i386_comment_chars = "#/"; +-#define SVR4_COMMENT_CHARS 1 +-#define PREFIX_SEPARATOR '\\' +- +-#else ++ pre-processor is disabled, these aren't very useful. */ + const char *i386_comment_chars = "#"; + #define PREFIX_SEPARATOR '/' +-#endif + + /* This array holds the chars that only start a comment at the beginning of + a line. If the line seems to have the form '# 123 filename' +@@ -7920,20 +7906,6 @@ + break; + + case OPTION_DIVIDE: +-#ifdef SVR4_COMMENT_CHARS +- { +- char *n, *t; +- const char *s; +- +- n = (char *) xmalloc (strlen (i386_comment_chars) + 1); +- t = n; +- for (s = i386_comment_chars; *s != '\0'; s++) +- if (*s != '/') +- *t++ = *s; +- *t = '\0'; +- i386_comment_chars = n; +- } +-#endif + break; + + case OPTION_MARCH: +@@ -8084,13 +8056,8 @@ + fprintf (stream, _("\ + --32/--64 generate 32bit/64bit code\n")); + #endif +-#ifdef SVR4_COMMENT_CHARS +- fprintf (stream, _("\ +- --divide do not treat `/' as a comment character\n")); +-#else + fprintf (stream, _("\ + --divide ignored\n")); +-#endif + fprintf (stream, _("\ + -march=CPU[,+EXTENSION...]\n\ + generate code for CPU and EXTENSION, CPU is one of:\n\ diff --git a/patches/binutils/2.18.50.0.8/130-i386-no-divide-comment.patch b/patches/binutils/2.18.50.0.8/130-i386-no-divide-comment.patch new file mode 100644 index 0000000..196671d --- /dev/null +++ b/patches/binutils/2.18.50.0.8/130-i386-no-divide-comment.patch @@ -0,0 +1,64 @@ +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 +--- binutils-2.18.50.0.8.orig/gas/config/tc-i386.c 2008-07-10 17:32:58.000000000 +0200 ++++ binutils-2.18.50.0.8/gas/config/tc-i386.c 2008-09-22 09:12:39.000000000 +0200 +@@ -313,24 +313,10 @@ + #endif + ; + +-#if (defined (TE_I386AIX) \ +- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \ +- && !defined (TE_GNU) \ +- && !defined (TE_LINUX) \ +- && !defined (TE_NETWARE) \ +- && !defined (TE_FreeBSD) \ +- && !defined (TE_NetBSD))) + /* This array holds the chars that always start a comment. If the +- pre-processor is disabled, these aren't very useful. The option +- --divide will remove '/' from this list. */ +-const char *i386_comment_chars = "#/"; +-#define SVR4_COMMENT_CHARS 1 +-#define PREFIX_SEPARATOR '\\' +- +-#else ++ pre-processor is disabled, these aren't very useful. */ + const char *i386_comment_chars = "#"; + #define PREFIX_SEPARATOR '/' +-#endif + + /* This array holds the chars that only start a comment at the beginning of + a line. If the line seems to have the form '# 123 filename' +@@ -7952,20 +7938,6 @@ + break; + + case OPTION_DIVIDE: +-#ifdef SVR4_COMMENT_CHARS +- { +- char *n, *t; +- const char *s; +- +- n = (char *) xmalloc (strlen (i386_comment_chars) + 1); +- t = n; +- for (s = i386_comment_chars; *s != '\0'; s++) +- if (*s != '/') +- *t++ = *s; +- *t = '\0'; +- i386_comment_chars = n; +- } +-#endif + break; + + case OPTION_MARCH: +@@ -8116,13 +8088,8 @@ + fprintf (stream, _("\ + --32/--64 generate 32bit/64bit code\n")); + #endif +-#ifdef SVR4_COMMENT_CHARS +- fprintf (stream, _("\ +- --divide do not treat `/' as a comment character\n")); +-#else + fprintf (stream, _("\ + --divide ignored\n")); +-#endif + fprintf (stream, _("\ + -march=CPU[,+EXTENSION...]\n\ + generate code for CPU and EXTENSION, CPU is one of:\n\ diff --git a/patches/binutils/2.18.50.0.9/100-arm-uclibcgnueabi.patch b/patches/binutils/2.18.50.0.9/100-arm-uclibcgnueabi.patch new file mode 100644 index 0000000..b4504d4 --- /dev/null +++ b/patches/binutils/2.18.50.0.9/100-arm-uclibcgnueabi.patch @@ -0,0 +1,24 @@ +diff -durN binutils-2.18.50.0.8.orig/configure binutils-2.18.50.0.8/configure +--- binutils-2.18.50.0.8.orig/configure 2008-07-10 17:32:56.000000000 +0200 ++++ binutils-2.18.50.0.8/configure 2008-07-13 23:08:13.000000000 +0200 +@@ -2313,7 +2313,7 @@ + noconfigdirs="$noconfigdirs target-libffi target-qthreads" + libgloss_dir=arm + ;; +- arm*-*-linux-gnueabi) ++ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi) + noconfigdirs="$noconfigdirs target-qthreads" + case ${with_newlib} in + no) noconfigdirs="$noconfigdirs target-newlib target-libgloss" +diff -durN binutils-2.18.50.0.8.orig/configure.ac binutils-2.18.50.0.8/configure.ac +--- binutils-2.18.50.0.8.orig/configure.ac 2008-07-10 17:32:56.000000000 +0200 ++++ binutils-2.18.50.0.8/configure.ac 2008-07-13 23:08:13.000000000 +0200 +@@ -562,7 +562,7 @@ + noconfigdirs="$noconfigdirs target-libffi target-qthreads" + libgloss_dir=arm + ;; +- arm*-*-linux-gnueabi) ++ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi) + noconfigdirs="$noconfigdirs target-qthreads" + case ${with_newlib} in + no) noconfigdirs="$noconfigdirs target-newlib target-libgloss" diff --git a/patches/binutils/2.18.50.0.9/110-ld-makefile-path.patch b/patches/binutils/2.18.50.0.9/110-ld-makefile-path.patch new file mode 100644 index 0000000..41a2249 --- /dev/null +++ b/patches/binutils/2.18.50.0.9/110-ld-makefile-path.patch @@ -0,0 +1,24 @@ +diff -durN binutils-2.18.50.0.8.orig/ld/Makefile.am binutils-2.18.50.0.8/ld/Makefile.am +--- binutils-2.18.50.0.8.orig/ld/Makefile.am 2008-04-03 18:54:05.000000000 +0200 ++++ binutils-2.18.50.0.8/ld/Makefile.am 2008-07-13 23:15:40.000000000 +0200 +@@ -18,7 +18,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + + EMUL = @EMUL@ + EMULATION_OFILES = @EMULATION_OFILES@ +diff -durN binutils-2.18.50.0.8.orig/ld/Makefile.in binutils-2.18.50.0.8/ld/Makefile.in +--- binutils-2.18.50.0.8.orig/ld/Makefile.in 2008-07-10 17:32:58.000000000 +0200 ++++ binutils-2.18.50.0.8/ld/Makefile.in 2008-07-13 23:15:40.000000000 +0200 +@@ -290,7 +290,7 @@ + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + BASEDIR = $(srcdir)/.. + BFDDIR = $(BASEDIR)/bfd + INCDIR = $(BASEDIR)/include diff --git a/patches/binutils/2.18.50.0.9/120-check-ldrunpath-length.patch b/patches/binutils/2.18.50.0.9/120-check-ldrunpath-length.patch new file mode 100644 index 0000000..f2f096d --- /dev/null +++ b/patches/binutils/2.18.50.0.9/120-check-ldrunpath-length.patch @@ -0,0 +1,21 @@ +diff -durN binutils-2.18.50.0.8.orig/ld/emultempl/elf32.em binutils-2.18.50.0.8/ld/emultempl/elf32.em +--- binutils-2.18.50.0.8.orig/ld/emultempl/elf32.em 2008-07-10 17:33:23.000000000 +0200 ++++ binutils-2.18.50.0.8/ld/emultempl/elf32.em 2008-07-13 23:19:29.000000000 +0200 +@@ -1220,6 +1220,8 @@ + && command_line.rpath == NULL) + { + lib_path = (const char *) getenv ("LD_RUN_PATH"); ++ if ((lib_path) && (strlen (lib_path) == 0)) ++ lib_path = NULL; + if (gld${EMULATION_NAME}_search_needed (lib_path, &n, + force)) + break; +@@ -1405,6 +1407,8 @@ + rpath = command_line.rpath; + if (rpath == NULL) + rpath = (const char *) getenv ("LD_RUN_PATH"); ++ if ((rpath) && (strlen (rpath) == 0)) ++ rpath = NULL; + if (! (bfd_elf_size_dynamic_sections + (link_info.output_bfd, command_line.soname, rpath, + command_line.filter_shlib, diff --git a/patches/binutils/2.18.50.0.9/130-i386-no-divide-comment.patch b/patches/binutils/2.18.50.0.9/130-i386-no-divide-comment.patch new file mode 100644 index 0000000..196671d --- /dev/null +++ b/patches/binutils/2.18.50.0.9/130-i386-no-divide-comment.patch @@ -0,0 +1,64 @@ +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 +--- binutils-2.18.50.0.8.orig/gas/config/tc-i386.c 2008-07-10 17:32:58.000000000 +0200 ++++ binutils-2.18.50.0.8/gas/config/tc-i386.c 2008-09-22 09:12:39.000000000 +0200 +@@ -313,24 +313,10 @@ + #endif + ; + +-#if (defined (TE_I386AIX) \ +- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \ +- && !defined (TE_GNU) \ +- && !defined (TE_LINUX) \ +- && !defined (TE_NETWARE) \ +- && !defined (TE_FreeBSD) \ +- && !defined (TE_NetBSD))) + /* This array holds the chars that always start a comment. If the +- pre-processor is disabled, these aren't very useful. The option +- --divide will remove '/' from this list. */ +-const char *i386_comment_chars = "#/"; +-#define SVR4_COMMENT_CHARS 1 +-#define PREFIX_SEPARATOR '\\' +- +-#else ++ pre-processor is disabled, these aren't very useful. */ + const char *i386_comment_chars = "#"; + #define PREFIX_SEPARATOR '/' +-#endif + + /* This array holds the chars that only start a comment at the beginning of + a line. If the line seems to have the form '# 123 filename' +@@ -7952,20 +7938,6 @@ + break; + + case OPTION_DIVIDE: +-#ifdef SVR4_COMMENT_CHARS +- { +- char *n, *t; +- const char *s; +- +- n = (char *) xmalloc (strlen (i386_comment_chars) + 1); +- t = n; +- for (s = i386_comment_chars; *s != '\0'; s++) +- if (*s != '/') +- *t++ = *s; +- *t = '\0'; +- i386_comment_chars = n; +- } +-#endif + break; + + case OPTION_MARCH: +@@ -8116,13 +8088,8 @@ + fprintf (stream, _("\ + --32/--64 generate 32bit/64bit code\n")); + #endif +-#ifdef SVR4_COMMENT_CHARS +- fprintf (stream, _("\ +- --divide do not treat `/' as a comment character\n")); +-#else + fprintf (stream, _("\ + --divide ignored\n")); +-#endif + fprintf (stream, _("\ + -march=CPU[,+EXTENSION...]\n\ + generate code for CPU and EXTENSION, CPU is one of:\n\ diff --git a/patches/binutils/2.18/120-i386-no-divide-comment.patch b/patches/binutils/2.18/120-i386-no-divide-comment.patch new file mode 100644 index 0000000..efbbcea --- /dev/null +++ b/patches/binutils/2.18/120-i386-no-divide-comment.patch @@ -0,0 +1,64 @@ +diff -durN binutils-2.18.orig/gas/config/tc-i386.c binutils-2.18/gas/config/tc-i386.c +--- binutils-2.18.orig/gas/config/tc-i386.c 2007-08-24 16:01:22.000000000 +0200 ++++ binutils-2.18/gas/config/tc-i386.c 2008-09-22 08:11:42.000000000 +0200 +@@ -180,24 +180,10 @@ + #endif + ; + +-#if (defined (TE_I386AIX) \ +- || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF)) \ +- && !defined (TE_GNU) \ +- && !defined (TE_LINUX) \ +- && !defined (TE_NETWARE) \ +- && !defined (TE_FreeBSD) \ +- && !defined (TE_NetBSD))) + /* This array holds the chars that always start a comment. If the +- pre-processor is disabled, these aren't very useful. The option +- --divide will remove '/' from this list. */ +-const char *i386_comment_chars = "#/"; +-#define SVR4_COMMENT_CHARS 1 +-#define PREFIX_SEPARATOR '\\' +- +-#else ++ pre-processor is disabled, these aren't very useful. */ + const char *i386_comment_chars = "#"; + #define PREFIX_SEPARATOR '/' +-#endif + + /* This array holds the chars that only start a comment at the beginning of + a line. If the line seems to have the form '# 123 filename' +@@ -6061,20 +6047,6 @@ + break; + + case OPTION_DIVIDE: +-#ifdef SVR4_COMMENT_CHARS +- { +- char *n, *t; +- const char *s; +- +- n = (char *) xmalloc (strlen (i386_comment_chars) + 1); +- t = n; +- for (s = i386_comment_chars; *s != '\0'; s++) +- if (*s != '/') +- *t++ = *s; +- *t = '\0'; +- i386_comment_chars = n; +- } +-#endif + break; + + case OPTION_MARCH: +@@ -6142,13 +6114,8 @@ + fprintf (stream, _("\ + --32/--64 generate 32bit/64bit code\n")); + #endif +-#ifdef SVR4_COMMENT_CHARS +- fprintf (stream, _("\ +- --divide do not treat `/' as a comment character\n")); +-#else + fprintf (stream, _("\ + --divide ignored\n")); +-#endif + fprintf (stream, _("\ + -march=CPU/-mtune=CPU generate code/optimize for CPU, where CPU is one of:\n\ + i386, i486, pentium, pentiumpro, pentium4, nocona,\n\ -- cgit v0.10.2-6-g49f6