Patchwork mips-linux bootstrap broken was: [PATCH 2/6] Add support for Bionic C library

login
register
mail settings
Submitter Maxim Kuvyrkov
Date June 14, 2010, 9:10 a.m.
Message ID <4C15F204.2090708@codesourcery.com>
Download mbox | patch
Permalink /patch/55495/
State New
Headers show

Comments

Maxim Kuvyrkov - June 14, 2010, 9:10 a.m.
On 6/13/10 10:16 PM, Laurent GUERBY wrote:
> On Thu, 2010-05-20 at 20:06 +0400, Maxim Kuvyrkov wrote:
>> On 5/20/10 8:03 PM, Maxim Kuvyrkov wrote:
>>> This patch adds new -mbionic option to select Bionic C library.  The
>>> option is made similar to -mglibc and -muclibc.
>>>
>>> OK to check in?
>>>
>>> Thank you,
>>
>> And here is the patch.
>
> Hi Maxim,
>
> I think your patch broke bootstrap on mips64el-linux platforms:
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44456
...
 > ../../trunk/gcc/gcc.c:827:32: error: macro "CHOOSE_DYNAMIC_LINKER" 
requires 3
 > arguments, but only 2 given
 > ../../trunk/gcc/gcc.c:827: error: expected ',' or ';' before ')' token
 > make[3]: *** [gcc.o] Error 1
 > make[3]: Leaving directory `/home/guerby/build/gcc'

Laurent,

Does the attached patch fix the bootstrap for you?


Richard,

OK to check in the patch if Laurent reports success?

Thank you,
Richard Sandiford - June 15, 2010, 8:34 p.m.
Maxim Kuvyrkov <maxim@codesourcery.com> writes:
> OK to check in the patch if Laurent reports success?

Yeah, it's OK, thanks.

I'm curious though.  Is this choice of path speculative at the moment,
or is there already a bi-arch 64-bit system?  If it's speculative,
how confident are you that that path would be used?  Is linker32
the standard name for all multiarch targets?

Richard
Laurent GUERBY - June 15, 2010, 11:25 p.m.
On Tue, 2010-06-15 at 21:34 +0100, Richard Sandiford wrote:
> Maxim Kuvyrkov <maxim@codesourcery.com> writes:
> > OK to check in the patch if Laurent reports success?
> 
> Yeah, it's OK, thanks.
> 
> I'm curious though.  Is this choice of path speculative at the moment,
> or is there already a bi-arch 64-bit system?  If it's speculative,
> how confident are you that that path would be used?  Is linker32
> the standard name for all multiarch targets?

Maxim patch restores bootstrap and check looks good:

http://gcc.gnu.org/ml/gcc-testresults/2010-06/msg01585.html

Laurent
Maxim Kuvyrkov - June 16, 2010, 5:58 a.m.
On 6/16/10 12:34 AM, Richard Sandiford wrote:
> Maxim Kuvyrkov<maxim@codesourcery.com>  writes:
>> OK to check in the patch if Laurent reports success?
>
> Yeah, it's OK, thanks.
>
> I'm curious though.  Is this choice of path speculative at the moment,
> or is there already a bi-arch 64-bit system?   If it's speculative,
> how confident are you that that path would be used?  Is linker32
> the standard name for all multiarch targets?

It is speculative.  There is no 64-bit Android port to my knowledge, 
much less a bi-arch port, so there's no standard naming scheme.  I'm not 
terribly concerned about the naming as we can amend the linker name when 
64-bit and biarch ports come out.

Thank you,

Patch

Index: config/mips/linux64.h
===================================================================
--- config/mips/linux64.h	(revision 160712)
+++ config/mips/linux64.h	(working copy)
@@ -39,8 +39,10 @@  along with GCC; see the file COPYING3.  
 #define GLIBC_DYNAMIC_LINKER64 "/lib64/ld.so.1"
 #define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
 #define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
+#define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
 #define LINUX_DYNAMIC_LINKERN32 \
-  CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
+  CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
+			 BIONIC_DYNAMIC_LINKERN32)
 
 #undef LINK_SPEC
 #define LINK_SPEC "\