From a2718648919e464dcbb576267062f5a157076122 Mon Sep 17 00:00:00 2001
From: wilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue, 27 Apr 2004 06:14:30 +0000
Subject: [PATCH] Patch from Robert Millan. Add patches from libtool CVS. *
 libtool.m4: Add kfreebsd*-gnu and knetbsd*-gnu. * ltconfig: Likewise. *
 ltcf-c.sh: Likewise. * ltcf-cxx.sh: Likewise. * ltcf-gcj.sh: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81213 138bc75d-0d04-0410-961f-82ee72b054a4
---
 ChangeLog   |  9 +++++++++
 libtool.m4  |  4 ++--
 ltcf-c.sh   |  6 +++---
 ltcf-cxx.sh |  6 +++---
 ltcf-gcj.sh |  6 +++---
 ltconfig    | 11 +++++++++++
 6 files changed, 31 insertions(+), 11 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 3411ed5be43b..22aa6ff48beb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2004-04-26  Robert Millan  <robertmh@gnu.org>
+
+	Add patches from libtool CVS.
+	* libtool.m4: Add kfreebsd*-gnu and knetbsd*-gnu.
+	* ltconfig: Likewise.
+	* ltcf-c.sh: Likewise.
+	* ltcf-cxx.sh: Likewise.
+	* ltcf-gcj.sh: Likewise.
+
 2004-04-26  Paolo Bonzini  <bonzini@gnu.org>
 
 	* Makefile.def (host_modules): Mark with the bootstrap
diff --git a/libtool.m4 b/libtool.m4
index 0312861d47f3..91ceb2db5fab 100644
--- a/libtool.m4
+++ b/libtool.m4
@@ -621,7 +621,7 @@ darwin* | rhapsody*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-freebsd* )
+freebsd* | kfreebsd*-gnu)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     case $host_cpu in
     i*86 )
@@ -689,7 +689,7 @@ linux-gnu*)
   lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
   ;;
 
-netbsd*)
+netbsd* | knetbsd*-gnu)
   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
     [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
   else
diff --git a/ltcf-c.sh b/ltcf-c.sh
index 2c51fd3d55c6..7cc273d36ff2 100644
--- a/ltcf-c.sh
+++ b/ltcf-c.sh
@@ -175,7 +175,7 @@ EOF
       $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
     ;;
 
-  netbsd*)
+  netbsd* | knetbsd*-gnu)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
       wlarc=
@@ -442,7 +442,7 @@ else
     ;;
 
   # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-  freebsd*)
+  freebsd* | kfreebsd*-gnu)
     archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
     hardcode_libdir_flag_spec='-R$libdir'
     hardcode_direct=yes
@@ -489,7 +489,7 @@ else
     link_all_deplibs=yes
     ;;
 
-  netbsd*)
+  netbsd* | knetbsd*-gnu)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
     else
diff --git a/ltcf-cxx.sh b/ltcf-cxx.sh
index 2ecd53e5758b..ce28177ee11b 100644
--- a/ltcf-cxx.sh
+++ b/ltcf-cxx.sh
@@ -289,7 +289,7 @@ case $host_os in
     # C++ shared libraries reported to be fairly broken before switch to ELF
     ld_shlibs=no
     ;;
-  freebsd*)
+  freebsd* | kfreebsd*-gnu)
     # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
     # conventions
     ld_shlibs=yes
@@ -449,7 +449,7 @@ case $host_os in
         ;;
     esac
     ;;
-  netbsd*)
+  netbsd* | knetbsd*-gnu)
     # NetBSD uses g++ - do we need to do anything?
     ;;
   osf3*)
@@ -804,7 +804,7 @@ else
           ;;
       esac
       ;;
-    freebsd*)
+    freebsd* | kfreebsd*-gnu)
       # FreeBSD uses GNU C++
       ;;
     gnu*)
diff --git a/ltcf-gcj.sh b/ltcf-gcj.sh
index ac4fbbca3d44..950dd0031773 100644
--- a/ltcf-gcj.sh
+++ b/ltcf-gcj.sh
@@ -178,7 +178,7 @@ EOF
       $CC $output_objdir/$soname-exp '$lt_cv_cc_dll_switch' -Wl,-e,'$dll_entry' -o $output_objdir/$soname '$ltdll_obj'$libobjs $deplibs $compiler_flags'
     ;;
 
-  netbsd*)
+  netbsd* | knetbsd*-gnu)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
       wlarc=
@@ -445,7 +445,7 @@ else
     ;;
 
   # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-  freebsd*)
+  freebsd* | kfreebsd*-gnu)
     archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
     hardcode_libdir_flag_spec='-R$libdir'
     hardcode_direct=yes
@@ -476,7 +476,7 @@ else
     link_all_deplibs=yes
     ;;
 
-  netbsd*)
+  netbsd* | knetbsd*-gnu)
     if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
     else
diff --git a/ltconfig b/ltconfig
index 0d97409d7990..03204787a3dc 100755
--- a/ltconfig
+++ b/ltconfig
@@ -1168,6 +1168,17 @@ gnu*)
   hardcode_into_libs=yes
   ;;
 
+kfreebsd*-gnu | knetbsd*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so${major} ${libname}.so'
+  soname_spec='${libname}${release}.so$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
 hpux9* | hpux10* | hpux11*)
   # Give a soname corresponding to the major version so that dld.sl refuses to
   # link against other versions.
-- 
GitLab