Author: pluto                        Date: Wed Mar  9 21:57:43 2005 GMT
Module: SOURCES                       Tag: GCC_4
---- Log message:
- test fix for libgcj relink issue.

---- Files affected:
SOURCES:
   gcc-relink.patch (NONE -> 1.1.2.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/gcc-relink.patch
diff -u /dev/null SOURCES/gcc-relink.patch:1.1.2.1
--- /dev/null   Wed Mar  9 22:57:43 2005
+++ SOURCES/gcc-relink.patch    Wed Mar  9 22:57:38 2005
@@ -0,0 +1,128 @@
+--- gcc-4.0-20050305/ltmain.sh.orig    2005-03-01 23:29:34.000000000 +0100
++++ gcc-4.0-20050305/ltmain.sh 2005-03-09 22:47:06.107449312 +0100
+@@ -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=
+@@ -1187,6 +1193,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]*:*)
+@@ -2171,6 +2182,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"
+@@ -2212,6 +2231,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.
+@@ -2229,13 +2249,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
+@@ -4436,7 +4476,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.
+@@ -4737,6 +4777,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 "[EMAIL 
PROTECTED]@%-inst-prefix-dir $inst_prefix_dir%"`
++        else
++          relink_command=`$echo "$relink_command" | sed "[EMAIL 
PROTECTED]@%%"`
++        fi
++
+         $echo "$modename: warning: relinking \`$file'" 1>&2
+         $show "$relink_command"
+         if $run eval "$relink_command"; then :
================================================================

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to