patches/glibc/2.3.6/150-sh-lowlevellock.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 ML:	http://sources.redhat.com/ml/libc-hacker/2005-09/msg00002.html
     2 
     3 Date: Mon, 05 Sep 2005 21:07:15 +0900 (JST)
     4 Message-Id: <20050905.210715.15267870.kkojima@rr.iij4u.or.jp>
     5 To: libc-hacker at sources dot redhat dot com
     6 Subject: SH: A typo in lowlevellock.S
     7 From: Kaz Kojima <kkojima at rr dot iij4u dot or dot jp>
     8 
     9 Hi,
    10 
    11 The appended patch fixes a typo in a low-level lock function.  It
    12 set the correct 3rd argument for the futex syscall in loop.  Sorry
    13 for missing such an embarrassing bug.
    14 
    15 Regards,
    16 	kaz
    17 
    18 nptl/ChangeLog:
    19 2005-09-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
    20 
    21 	* sysdeps/unix/sysv/linux/sh/lowlevellock.S (__lll_mutex_lock_wait):
    22 	Fix typo in register name.
    23 
    24 --- glibc.old/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S	2004-10-26 04:06:44.000000000 +0900
    25 +++ glibc/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S	2005-09-05 19:18:25.000000000 +0900
    26 @@ -1,4 +1,4 @@
    27 -/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
    28 +/* Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
    29     This file is part of the GNU C Library.
    30  
    31     The GNU C Library is free software; you can redistribute it and/or
    32 @@ -51,8 +51,8 @@ __lll_mutex_lock_wait:
    33  	SYSCALL_INST_PAD
    34  
    35  2:
    36 -	mov	#2, r4
    37 -	XCHG (r4, @r8, r2)
    38 +	mov	#2, r6
    39 +	XCHG (r6, @r8, r2)
    40  	tst	r2, r2
    41  	bf	1b
    42  
    43 Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>