]> git.pld-linux.org Git - packages/binutils.git/commitdiff
- added libtool-relink patch to correctly link libopcodes with libbfd
authorJakub Bogusz <qboosh@pld-linux.org>
Sun, 1 Jun 2003 10:51:53 +0000 (10:51 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    binutils-libtool-relink.patch -> 1.1
    binutils.spec -> 1.142

binutils-libtool-relink.patch [new file with mode: 0644]
binutils.spec

diff --git a/binutils-libtool-relink.patch b/binutils-libtool-relink.patch
new file mode 100644 (file)
index 0000000..db4152b
--- /dev/null
@@ -0,0 +1,128 @@
+--- binutils-2.14.90.0.4/ltmain.sh.orig        2002-03-22 23:06:16.000000000 +0100
++++ binutils-2.14.90.0.4/ltmain.sh     2003-06-01 10:44:39.000000000 +0200
+@@ -829,6 +829,7 @@
+     linker_flags=
+     dllsearchpath=
+     lib_search_path=`pwd`
++    inst_prefix_dir=
+     avoid_version=no
+     dlfiles=
+@@ -961,6 +962,11 @@
+         prev=
+         continue
+         ;;
++      inst_prefix)
++        inst_prefix_dir="$arg"
++        prev=
++        continue
++        ;;
+       release)
+         release="-$arg"
+         prev=
+@@ -1169,6 +1175,11 @@
+       continue
+       ;;
++      -inst-prefix-dir)
++      prev=inst_prefix
++      continue
++      ;;
++
+       # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+       # so, if we see these flags be careful not to treat them like -L
+       -L[A-Z][A-Z]*:*)
+@@ -2135,6 +2146,14 @@
+               add="$dir/$linklib"
+             elif test "$hardcode_minus_L" = yes; then
+               add_dir="-L$dir"
++              # Try looking first in the location we're being installed to.
++              if test -n "$inst_prefix_dir"; then
++                case "$libdir" in
++                  [\\/]*)
++                    add_dir="-L$inst_prefix_dir$libdir $add_dir"
++                    ;;
++                esac
++              fi
+               add="-l$name"
+             elif test "$hardcode_shlibpath_var" = yes; then
+               add_shlibpath="$dir"
+@@ -2176,6 +2195,7 @@
+         if test $linkmode = prog || test "$mode" = relink; then
+           add_shlibpath=
++          add_prefix_dir=
+           add_dir=
+           add=
+           # Finalize command for both is simple: just hardcode it.
+@@ -2193,13 +2213,33 @@
+           else
+             # We cannot seem to hardcode it, guess we'll fake it.
+             add_dir="-L$libdir"
++            # Try looking first in the location we're being installed to.
++            if test -n "$inst_prefix_dir"; then
++              case "$libdir" in
++                [\\/]*)
++                  add_dir="-L$inst_prefix_dir$libdir $add_dir"
++                  ;;
++              esac
++            fi
+             add="-l$name"
+           fi
++          if test -n "$inst_prefix_dir"; then
++            case "$libdir" in
++            [\\/]*)
++              add_prefix_dir="-L$inst_prefix_dir$libdir"
++              ;;
++            esac
++          fi
++
++          # add_prefix_dir must be appended instead, otherwise it can
++          # possibly be overrided by any hardcoded -L/... path in deplibs
+           if test $linkmode = prog; then
++            test -n "$add_prefix_dir" && finalize_deplibs="$finalize_deplibs $add_prefix_dir"
+             test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+             test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+           else
++            test -n "$add_prefix_dir" && deplibs="$deplibs $add_prefix_dir"
+             test -n "$add_dir" && deplibs="$add_dir $deplibs"
+             test -n "$add" && deplibs="$add $deplibs"
+           fi
+@@ -4312,7 +4352,7 @@
+       for tag in $taglist; do
+         tagopts="$tagopts --tag $tag"
+       done
+-      relink_command="(cd `pwd`; $SHELL $0$tagopts --mode=relink $libtool_args)"
++      relink_command="(cd `pwd`; $SHELL $0$tagopts --mode=relink $libtool_args @inst_prefix_dir@)"
+       relink_command=`$echo "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+       # Only create the output if not a dry run.
+@@ -4613,6 +4653,27 @@
+       dir="$dir$objdir"
+       if test -n "$relink_command"; then
++        # Determine the prefix the user has applied to our future dir.
++        inst_prefix_dir=`$echo "$destdir" | sed "s%$libdir\$%%"`
++
++        # Don't allow the user to place us outside of our expected
++        # location b/c this prevents finding dependent libraries that
++        # are installed to the same prefix.
++        # At present, this check doesn't affect windows .dll's that
++        # are installed into $libdir/../bin (currently, that works fine)
++        # but it's something to keep an eye on.
++        if test "$inst_prefix_dir" = "$destdir"; then
++          $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
++          exit 1
++        fi
++
++        if test -n "$inst_prefix_dir"; then
++          # Stick the inst_prefix_dir data into the link command.
++          relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
++        else
++          relink_command=`$echo "$relink_command" | sed "s%@inst_prefix_dir@%%"`
++        fi
++
+         $echo "$modename: warning: relinking \`$file'" 1>&2
+         $show "$relink_command"
+         if $run eval "$relink_command"; then :
index 5f460f6632f8617e6972f69148982de2d7db1906..9edddba119239d09baafa3fad36d48dd8c8123a4 100644 (file)
@@ -27,6 +27,7 @@ Patch1:               %{name}-info.patch
 Patch2:                %{name}-array-sects-compat.patch
 Patch3:                %{name}-eh-frame-ro.patch
 Patch4:                %{name}-ia64-bootstrap.patch
+Patch5:                %{name}-libtool-relink.patch
 URL:           http://sources.redhat.com/binutils/
 BuildRequires: automake
 BuildRequires: bison
@@ -115,6 +116,7 @@ niekt
 %ifarch %{ix86}
 %patch2 -p1
 %endif
+%patch5 -p1
 # need update:
 #%patch3 -p1
 #%patch4 -p1
This page took 0.044779 seconds and 4 git commands to generate.