From: Marek Vasut <ma...@denx.de>

The name of the system contains the string "nios2". This string
is caught by the some of the greedy checks for OS/2 in libtool,
in particular the *os2* branches of switch statements match for
the nios2 string, which results in incorrect behavior of libtool.

This patch adds an explicit check for *nios2* before the *os2*
checks to prevent the OS/2 check incorrectly trapping the nios2
as well.

Signed-off-by: Marek Vasut <ma...@denx.de>
Signed-off-by: Richard Purdie <richard.pur...@linuxfoundation.org>
---
 build-aux/ltmain.in | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 126b3097..2acf1178 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -519,6 +519,12 @@ libtool_validate_options ()
     test : = "$debug_cmd" || func_append preserve_args " --debug"
 
     case $host in
+      # For NIOS2, we want to make sure that it's not caught by the
+      # more general OS/2 check below. Otherwise, NIOS2 is the same
+      # as the default option.
+      *nios2*)
+        opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
+        ;;
       # Solaris2 added to fix 
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
       # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
       *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
@@ -6275,6 +6281,15 @@ func_mode_link ()
        if test -n "$library_names" &&
           { test no = "$use_static_libs" || test -z "$old_library"; }; then
          case $host in
+         *nios2*)
+           # For NIOS2, we want to make sure that it's not caught by the
+           # more general OS/2 check below. Otherwise, NIOS2 is the same
+           # as the default option.
+           if test no = "$installed"; then
+             func_append notinst_deplibs " $lib"
+             need_relink=yes
+           fi
+           ;;
          *cygwin* | *mingw* | *cegcc* | *os2*)
              # No point in relinking DLLs because paths are not encoded
              func_append notinst_deplibs " $lib"
@@ -6345,6 +6360,11 @@ func_mode_link ()
            elif test -n "$soname_spec"; then
              # bleh windows
              case $host in
+             *nios2*)
+               # For NIOS2, we want to make sure that it's not caught by the
+               # more general OS/2 check below. Otherwise, NIOS2 is the same
+               # as the default option.
+               ;;
              *cygwin* | mingw* | *cegcc* | *os2*)
                func_arith $current - $age
                major=$func_arith_result
-- 
2.35.1


Reply via email to