Magellan Linux

Annotation of /trunk/binutils/patches/binutils-2.16.91.0.5-multilib.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 144 - (hide annotations) (download)
Tue May 8 20:06:05 2007 UTC (17 years, 1 month ago) by niro
File size: 2654 byte(s)
-import

1 niro 144 Submitted By: Ryan Oliver (ryan dot oliver at pha dot com dot au)
2     Origin: Ryan Oliver
3     Date: 2005-04-03
4     Initial package version: 2.15 (problem also exists in 2.14 series)
5     Description:
6     Updated patch, use this for all binutils 2.15 series instead of the
7     binutils-2.15.90.0.1-genscripts-multilib.patch
8    
9     If --with-libpath= was specified during configure (or LIB_PATH was
10     supplied during make) we want to have these libraries added to the
11     linker scripts search paths, and in the case of multi-lib have them
12     processed to provide both lib and lib64 search paths.
13     This patch produces this behaviour when building a cross-binutils.
14    
15     Also to fix an annoyance we remove whatever was specified (if anything)
16     by --libdir= from the linker script search path. This is so when cross-
17     compiling a 64bit target-native biarch toolchain we can specify the
18     installation directory for binutils produced libraries to be */lib64
19     without having this directory added to the 32bit emulation search path.
20    
21     By rights we should really check if ${libdir} matches a search path in
22     any of the supported emulations for this target (as opposed to only the
23     one genscripts.sh is currently processing) and if so ignore ${libpath}.
24    
25     This patch differs from the preceding genscripts-multilib patch as now
26     USE_LIBPATH will always be set if LIB_PATH is non empty
27    
28     diff -uNr binutils-2.15.91.0.1-orig/ld/genscripts.sh binutils-2.15.91.0.1/ld/genscripts.sh
29     --- binutils-2.15.91.0.1-orig/ld/genscripts.sh 2004-05-28 04:26:04.000000000 +1000
30     +++ binutils-2.15.91.0.1/ld/genscripts.sh 2005-04-03 16:14:51.000000000 +1000
31     @@ -110,7 +110,8 @@
32     esac
33    
34     # If the emulparams file sets NATIVE, make sure USE_LIBPATH is set also.
35     -if test "x$NATIVE" = "xyes" ; then
36     +# Also set USE_LIBPATH if LIB_PATH has been set
37     +if [ "x$NATIVE" = "xyes" -o "x${LIB_PATH}" != "x" ] ; then
38     USE_LIBPATH=yes
39     fi
40    
41     @@ -125,17 +126,17 @@
42     #
43     # If the emulparams file set LIBPATH_SUFFIX, prepend an extra copy of
44     # the library path with the suffix applied.
45     -
46     -if [ "x${LIB_PATH}" = "x" ] && [ "x${USE_LIBPATH}" = xyes ] ; then
47     +if [ "x${USE_LIBPATH}" = xyes ] ; then
48     LIB_PATH2=
49     + if [ "x${LIB_PATH}" = "x" ] ; then
50     + libs="${NATIVE_LIB_DIRS}"
51     + else
52     + libs=`echo ${LIB_PATH} | sed 's/:/ /g'`
53     + LIB_PATH=
54     + fi
55    
56     - libs=${NATIVE_LIB_DIRS}
57     if [ "x${use_sysroot}" != "xyes" ] ; then
58     case " ${libs} " in
59     - *" ${libdir} "*) ;;
60     - *) libs="${libdir} ${libs}" ;;
61     - esac
62     - case " ${libs} " in
63     *" ${tool_lib} "*) ;;
64     *) libs="${tool_lib} ${libs}" ;;
65     esac