Bart De VOS pointed out that removing absolute paths from the libc linker scripts is plainly wrong.
It dates from dawn ages of the original crosstool code, and is not well explained. At that time, binutils might not understand the sysroot stuff, and it was necessary to remove absolute paths in that case.
/trunk/scripts/build/libc/glibc.sh | 14 2 12 0 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
1 Patch to correctly handle the MIPS case.
3 It was build up by Yann E. MORIN <yann.morin.1998@anciens.enib.fr> from some
4 bits gathered from buildroot, which is LGPL v2.1
5 License for dmalloc is:
6 * Permission to use, copy, modify, and distribute this software for
7 * any purpose and without fee is hereby granted, provided that the
8 * above copyright notice and this permission notice appear in all
9 * copies, and that the name of Gray Watson not be used in advertising
10 * or publicity pertaining to distribution of the document or software
11 * without specific, written prior permission.
13 * Gray Watson makes no representations about the suitability of the
14 * software described herein for any purpose. It is provided "as is"
15 * without express or implied warranty.
17 I personnaly believe that the resulting code should therefore be
18 LGPL v2.1, but don't believe me, ask your lawyers!
20 diff -dur dmalloc-5.5.2.orig/configure dmalloc-5.5.2/configure
21 --- dmalloc-5.5.2.orig/configure 2007-05-18 12:15:39.000000000 +0200
22 +++ dmalloc-5.5.2/configure 2007-05-18 12:15:48.000000000 +0200
24 echo $ECHO_N "checking return.h macros work... $ECHO_C" >&6
25 if test "$cross_compiling" = yes; then
26 cat >>confdefs.h <<\_ACEOF
27 -#define RETURN_MACROS_WORK 0
28 +#define RETURN_MACROS_WORK 1
30 echo "$as_me:$LINENO: result: no" >&5
31 echo "${ECHO_T}no" >&6
32 diff -dur dmalloc-5.5.2.orig/return.h dmalloc-5.5.2/return.h
33 --- dmalloc-5.5.2.orig/return.h 2007-05-14 19:26:14.000000000 +0200
34 +++ dmalloc-5.5.2/return.h 2007-05-18 12:15:48.000000000 +0200
36 /*************************************/
39 - * For DEC Mips machines running Ultrix
40 + * For Mips machines running Linux
45 - * I have no idea how to get inline assembly with the default cc.
52 * NOTE: we assume here that file is global.
54 - * $31 is the frame pointer. $2 looks to be the return address but maybe
56 + * $31 is the return address.
58 -#define GET_RET_ADDR(file) asm("sw $2, file")
61 +#define GET_RET_ADDR(file) asm("sw $31, %0" : "=m" (file))