patches/dmalloc/5.5.2/140-shared_library.patch
author Bryan Hundven <bryanhundven@gmail.com>
Sun Jun 26 03:26:54 2011 -0700 (2011-06-26)
changeset 2515 364b06df9e3a
parent 103 b6e20abe9256
permissions -rw-r--r--
glibc: Refactor startfiles/headers into do_libc_backend()

Refactor the contents of 'do_libc_start_files()' and 'do_libc()' into a
parameterized 'do_libc_backend()'. 'do_libc_start_files()' and 'do_libc()'
call 'do_libc_backend()' with either 'libc_mode=startfiles' or
'libc_mode=final' (respectively) so that the startfiles/headers and
the final libc builds are configured and built with the same options.

One example of where this is needed is when building a mips toolchain.
Previously, if you were building an n32 toolchain, you wouldn't have
noticed an issue, because if '-mabi' is not in CFLAGS, n32 is the
default:

http://sourceware.org/git/?p=glibc-ports.git;a=blob;f=sysdeps/mips/preconfigure;hb=HEAD

But when trying to build an o32 or n64 toolchain the build would
have failed. This is because (e)glibc expects "-mabi={o32,n32,n64}" to be
in CFLAGS, but was not previously provided in 'do_libc_start_files()'.
The build failure would happen in the shared-core gcc when it tries to
configure an n64 or o32 gcc with an n32 libc.

A simpler solution would have been to just add TARGET_CFLAGS to configure
in 'do_libc_start_files()', but this way makes configure and make
consistent for both steps.

Signed-off-by: Bryan Hundven <bryanhundven@gmail.com>
     1 This patch makes building the shared library possible.
     2 
     3 Copyright 2007 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
     4 Licensed to you as dmalloc-5.5.2 is.
     5 
     6 diff -dur dmalloc-5.5.2.orig/Makefile.in dmalloc-5.5.2/Makefile.in
     7 --- dmalloc-5.5.2.orig/Makefile.in	2007-05-14 19:26:14.000000000 +0200
     8 +++ dmalloc-5.5.2/Makefile.in	2007-05-18 15:54:04.000000000 +0200
     9 @@ -257,7 +257,7 @@
    10  # via: http://256.com/gray/email.html
    11  $(LIB_SL) : $(LIBRARY)
    12  	rm -f $@ $@.t
    13 -	@shlinkargs@ $(LIBRARY) $(OBJS) $(NORMAL_OBJS)
    14 +	@shlinkargs@ $(LIBRARY)
    15  	mv $@.t $@
    16  
    17  $(LIBRARY) : $(OBJS) $(NORMAL_OBJS)
    18 @@ -270,7 +270,7 @@
    19  
    20  $(LIB_TH_SL) : $(LIB_TH)
    21  	rm -f $@ $@.t
    22 -	@shlinkargs@ $(LIB_TH) $(OBJS) $(THREAD_OBJS)
    23 +	@shlinkargs@ $(LIB_TH)
    24  	mv $@.t $@
    25  
    26  $(LIB_CXX) : $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
    27 @@ -279,7 +279,7 @@
    28  
    29  $(LIB_CXX_SL) : $(LIB_CXX)
    30  	rm -f $@ $@.t
    31 -	@shlinkargs@ $(LIB_CXX) $(OBJS) $(NORMAL_OBJS) $(CXX_OBJS)
    32 +	@shlinkargs@ $(LIB_CXX)
    33  	mv $@.t $@
    34  
    35  $(LIB_TH_CXX) : $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
    36 @@ -288,7 +288,7 @@
    37  
    38  $(LIB_TH_CXX_SL) : $(LIB_TH_CXX)
    39  	rm -f $@ $@.t
    40 -	@shlinkargs@ $(LIB_TH_CXX) $(OBJS) $(THREAD_OBJS) $(CXX_OBJS)
    41 +	@shlinkargs@ $(LIB_TH_CXX)
    42  	mv $@.t $@
    43  
    44  threadssl : $(LIB_TH_SL)