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

Submitted by Maxim Kuvyrkov on June 14, 2010, 9:10 a.m.

Details

Message ID 4C15F204.2090708@codesourcery.com
State New
Headers show

Commit Message

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,

Comments

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 hide | download patch | download mbox

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 "\