patches/binutils/2.14/100-sh-relocs.patch
author Zoltan Devai <zdevai@gmail.com>
Wed Oct 28 12:03:38 2009 +0100 (2009-10-28)
branch1.5
changeset 1645 01d01185eb18
parent 402 197e1b49586e
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.
(transplanted from 1ba79f2126df8bd89120899a58f2d0bcc2e9c771)
     1 Message-Id: <200307311239.h6VCdNe27056@r-rr.iij4u.or.jp>
     2 To: dank@kegel.com
     3 Cc: kkojima@rr.iij4u.or.jp
     4 Subject: Re: Writing PIC version of __udivsi3_i4? (was: Re: "make tests" fails
     5  with "libc.so: text relocations used" in glibc-2.3.2 for sh4)
     6 In-Reply-To: Your message of "Wed, 30 Jul 2003 21:55:54 -0700"
     7 	<3F28A15A.5010400@kegel.com>
     8 References: <3F28A15A.5010400@kegel.com>
     9 Date: Thu, 31 Jul 2003 21:47:38 +0900
    10 From: kaz Kojima <kkojima@rr.iij4u.or.jp>
    11 
    12 Dan Kegel <dank@kegel.com> wrote:
    13 >> I'll give binutils-2.14.90.0.5 a shot, then. 
    14 > 
    15 > No joy - same problem.  Guess I'll take this up on binutils and/or libc-alpha.
    16 
    17 Please try the patch below, though it's a diff against the current
    18 binutils CVS.
    19 
    20 Regards,
    21 	kaz
    22 --
    23 diff -u3p ORIG/src/bfd/elf32-sh.c LOCAL/src/bfd/elf32-sh.c
    24 --- src/bfd/elf32-sh.c.old	Fri Jul 25 14:46:58 2003
    25 +++ src/bfd/elf32-sh.c	Thu Jul 31 21:09:38 2003
    26 @@ -6497,8 +6497,10 @@ sh_elf_check_relocs (bfd *abfd, struct b
    27  							  sreloc, 2))
    28  			return FALSE;
    29  		    }
    30 +#if 0
    31  		  if (sec->flags & SEC_READONLY)
    32  		    info->flags |= DF_TEXTREL;
    33 +#endif
    34  		  elf_section_data (sec)->sreloc = sreloc;
    35  		}
    36  
    37 
    38