patches/binutils/2.16.1/160-i386-no-divide-comment.patch
author Zoltan Devai <zdevai@gmail.com>
Wed Oct 28 12:03:38 2009 +0100 (2009-10-28)
changeset 1602 1ba79f2126df
permissions -rw-r--r--
libc/uClibc: fix building on system with recent glibc

While trying to build a toolchain with ct-ng 1.5.0,
arm-unknown-linux-uclibcgnueabi target,
I get the following error:

[INFO ] Installing C library headers
[EXTRA] Copying sources to build dir
[EXTRA] Applying configuration
[EXTRA] Building headers
[EXTRA] Installing headers
[ERROR] extra/scripts/unifdef.c:209: error: conflicting types for 'getline'
[ERROR] make[2]: *** [extra/scripts/unifdef] Error 1
[ERROR] Build failed in step 'Installing C library headers'

The following patch solves the problem.
(It's a backport of this uClibc commit:
http://git.uclibc.org/uClibc/commit/?id=49e81cada73616864b9b31df0aeb6961c30f5a6e
)

[--SNIP from another mail--]
AFAIK this is a problem since glibc 2.10.
yann@866
     1
diff -durN binutils-2.16.1.orig/gas/config/tc-i386.c binutils-2.16.1/gas/config/tc-i386.c
yann@866
     2
--- binutils-2.16.1.orig/gas/config/tc-i386.c	2005-04-13 19:58:42.000000000 +0200
yann@866
     3
+++ binutils-2.16.1/gas/config/tc-i386.c	2008-09-22 09:00:09.000000000 +0200
yann@866
     4
@@ -192,16 +192,10 @@
yann@866
     5
 #endif
yann@866
     6
 	;
yann@866
     7
 
yann@866
     8
-#if (defined (TE_I386AIX)				\
yann@866
     9
-     || ((defined (OBJ_ELF) || defined (OBJ_MAYBE_ELF))	\
yann@866
    10
-	 && !defined (TE_LINUX)				\
yann@866
    11
- 	 && !defined (TE_NETWARE)			\
yann@866
    12
-	 && !defined (TE_FreeBSD)			\
yann@866
    13
-	 && !defined (TE_NetBSD)))
yann@866
    14
 /* This array holds the chars that always start a comment.  If the
yann@866
    15
    pre-processor is disabled, these aren't very useful.  */
yann@866
    16
-const char comment_chars[] = "#/";
yann@866
    17
-#define PREFIX_SEPARATOR '\\'
yann@866
    18
+const char comment_chars[] = "#";
yann@866
    19
+#define PREFIX_SEPARATOR '/'
yann@866
    20
 
yann@866
    21
 /* This array holds the chars that only start a comment at the beginning of
yann@866
    22
    a line.  If the line seems to have the form '# 123 filename'
yann@866
    23
@@ -211,16 +205,7 @@
yann@866
    24
    #NO_APP at the beginning of its output.
yann@866
    25
    Also note that comments started like this one will always work if
yann@866
    26
    '/' isn't otherwise defined.  */
yann@866
    27
-const char line_comment_chars[] = "#";
yann@866
    28
-
yann@866
    29
-#else
yann@866
    30
-/* Putting '/' here makes it impossible to use the divide operator.
yann@866
    31
-   However, we need it for compatibility with SVR4 systems.  */
yann@866
    32
-const char comment_chars[] = "#";
yann@866
    33
-#define PREFIX_SEPARATOR '/'
yann@866
    34
-
yann@866
    35
-const char line_comment_chars[] = "/#";
yann@866
    36
-#endif
yann@866
    37
+const char line_comment_chars[] = "#/";
yann@866
    38
 
yann@866
    39
 const char line_separator_chars[] = ";";
yann@866
    40