[67300de] | 1 | 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
|
---|