patches/dmalloc/5.5.2/110-block_size.patch
author Bryan Hundven <bryanhundven@gmail.com>
Sun Jun 26 03:26:54 2011 -0700 (2011-06-26)
changeset 2515 364b06df9e3a
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>
yann@103
     1
This patch sets the page size to a default 12, that is a 4KiB block size.
yann@103
     2
Testing for the correct block-size is impossible when cross-compiling.
yann@103
     3
yann@103
     4
It was build up by Yann E. MORIN <yann.morin.1998@anciens.enib.fr> from some
yann@103
     5
bits gathered from buildroot, which is LGPL v2.1
yann@103
     6
License for dmalloc is:
yann@103
     7
 * Permission to use, copy, modify, and distribute this software for
yann@103
     8
 * any purpose and without fee is hereby granted, provided that the
yann@103
     9
 * above copyright notice and this permission notice appear in all
yann@103
    10
 * copies, and that the name of Gray Watson not be used in advertising
yann@103
    11
 * or publicity pertaining to distribution of the document or software
yann@103
    12
 * without specific, written prior permission.
yann@103
    13
 *
yann@103
    14
 * Gray Watson makes no representations about the suitability of the
yann@103
    15
 * software described herein for any purpose.  It is provided "as is"
yann@103
    16
 * without express or implied warranty.
yann@103
    17
yann@103
    18
I personnaly believe that the resulting code should therefore be
yann@103
    19
LGPL v2.1, but don't believe me, ask your lawyers!
yann@103
    20
yann@103
    21
diff -dur dmalloc-5.5.2.orig/configure dmalloc-5.5.2/configure
yann@103
    22
--- dmalloc-5.5.2.orig/configure	2007-05-14 19:26:14.000000000 +0200
yann@103
    23
+++ dmalloc-5.5.2/configure	2007-05-18 11:38:25.000000000 +0200
yann@103
    24
@@ -5306,7 +5306,7 @@
yann@103
    25
 
yann@103
    26
 echo "$as_me:$LINENO: checking basic-block size" >&5
yann@103
    27
 echo $ECHO_N "checking basic-block size... $ECHO_C" >&6
yann@103
    28
-ac_cv_page_size=0
yann@103
    29
+ac_cv_page_size=12
yann@103
    30
 if test $ac_cv_page_size = 0; then
yann@103
    31
    if test "$cross_compiling" = yes; then
yann@103
    32
   { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling