[PATCH] libtool: remove bitrig support.

2024-01-15 Thread Brad Smith
libtool: remove bitrig support.

Bitrig has been defunct for 7 years.

* build-aux/ltmain.in (func_mode_link): Remove bitrig support.
* m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE, LT_CMD_MAX_LEN)
(_LT_SYS_DYNAMIC_LINKER, _LT_CHECK_MAGIC_METHOD)
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Ditto.
* m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Ditto.
* NEWS: Updated.
---
 NEWS|  3 +++
 build-aux/ltmain.in |  4 ++--
 m4/libtool.m4   | 14 +++---
 m4/ltdl.m4  |  3 ---
 4 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/NEWS b/NEWS
index 93ade4df..79f135a2 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,9 @@ NEWS - list of user-visible changes between releases of GNU 
Libtool
 
 * Noteworthy changes in release ?.? (-??-??) [?]
 
+** Changes in supported systems or compilers:
+
+  - Removed support for bitrig.
 
 * Noteworthy changes in release 2.4.7 (2022-03-16) [stable]
 
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index d5157a8d..d996f798 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -5134,7 +5134,7 @@ func_mode_link ()
# These systems don't actually have a C library (as such)
test X-lc = "X$arg" && continue
;;
- *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | 
*-*-midnightbsd*)
+ *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*)
# Do not include libc due to us having libc/libc_r.
test X-lc = "X$arg" && continue
;;
@@ -5154,7 +5154,7 @@ func_mode_link ()
  esac
elif test X-lc_r = "X$arg"; then
 case $host in
-*-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig* | 
*-*-midnightbsd*)
+*-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-midnightbsd*)
   # Do not include libc_r directly, use -pthread flag.
   continue
   ;;
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 695ccac4..9b1a4d81 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1556,7 +1556,7 @@ old_postuninstall_cmds=
 
 if test -n "$RANLIB"; then
   case $host_os in
-  bitrig* | openbsd*)
+  openbsd*)
 old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
 ;;
   *)
@@ -1724,7 +1724,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
 lt_cv_sys_max_cmd_len=8192;
 ;;
 
-  bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | 
openbsd*)
+  darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
 # This has been around since 386BSD, at least.  Likely further.
 if test -x /sbin/sysctl; then
   lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@@ -2943,7 +2943,7 @@ newsos6)
   dynamic_linker='ldqnx.so'
   ;;
 
-openbsd* | bitrig*)
+openbsd*)
   version_type=sunos
   sys_lib_dlsearch_path_spec=/usr/lib
   need_lib_prefix=no
@@ -3583,7 +3583,7 @@ newos6*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-openbsd* | bitrig*)
+openbsd*)
   if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
 lt_cv_deplibs_check_method='match_pattern 
/lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
   else
@@ -5020,7 +5020,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
 # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
 with_gnu_ld=yes
 ;;
-  openbsd* | bitrig*)
+  openbsd*)
 with_gnu_ld=no
 ;;
   esac
@@ -5842,7 +5842,7 @@ _LT_EOF
 *nto* | *qnx*)
   ;;
 
-openbsd* | bitrig*)
+openbsd*)
   if test -f /usr/libexec/ld.so; then
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -7136,7 +7136,7 @@ if test yes != "$_lt_caught_CXX_error"; then
 _LT_TAGVAR(ld_shlibs, $1)=yes
;;
 
-  openbsd* | bitrig*)
+  openbsd*)
if test -f /usr/libexec/ld.so; then
  _LT_TAGVAR(hardcode_direct, $1)=yes
  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
diff --git a/m4/ltdl.m4 b/m4/ltdl.m4
index f631a00c..0c43799c 100644
--- a/m4/ltdl.m4
+++ b/m4/ltdl.m4
@@ -466,9 +466,6 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
   ;;
 esac
 ;;
-  bitrig*)
-lt_cv_sys_dlopen_deplibs=yes
-;;
   darwin*)
 # Assuming the user has installed a libdl from somewhere, this is true
 # If you are looking for one http://www.opendarwin.org/projects/dlcompat
-- 
2.43.0




Re: [PATCH 05/12] ltmain.in: Don't encode RATHS which match default linker paths

2024-01-15 Thread Mike Frysinger
On 25 Oct 2021 15:33, Richard Purdie wrote:
> We don't want to add RPATHS which match default linker search paths, they're
> a waste of space. This patch filters libtools list of paths to encoode and
> removes the ones we don't need.

how are you defining "linker" ?  are you talking about the runtime linker
(i.e. ld.so) or the build time linker (i.e. `ld`) ?

the commit message also doesn't really explain in concrete details the
scenario you're running into.
-mike


signature.asc
Description: PGP signature


Re: [PATCH 02/12] libtool.m4: Rename the --with-sysroot option to avoid conflict with gcc/binutils

2024-01-15 Thread Mike Frysinger
On 25 Oct 2021 15:33, Richard Purdie wrote:
> This patch renames the --with-sysroot option to --with-libtool-sysroot
> to avoid namespace conflict with binutils, gcc and other toolchain
> components since these componets also add that option to configure
> and this becomes confusing and conflicting otherwise.

we're talking like 3 projects ?  libtool is used & included in way more
projects than that.  it seems like --with-sysroot as a standard name to
propagate out into the wider ecosystem makes more sense.

i agree there's confusion between "use this path as a sysroot to compile
and link against" and "have the compile tools target this sysroot".  the
same problem exists with host selection which is why we have the build,
host, and target options.  sounds like we want names that can align with
these somehow.

--with-libtool-sysroot doesn't make sense as it isn't an internal libtool
setting, it's changing how executables are linked, and users (who run the
configure scripts) don't know or care about this "libtool" thing.
-mike


signature.asc
Description: PGP signature


Re: [PATCH 06/12] libtool.m4: Handle "/" as a sysroot correctly

2024-01-15 Thread Mike Frysinger
On 25 Oct 2021 15:33, Richard Purdie wrote:
> Update libtool.m4 to resolve a problem with lt_sysroot not being properly
> updated if the option '--with[-libtool]-sysroot' is not provided when
> running the 'configure' script for a package so that "/" as a sysroot
> is handled correctly by libtool.

this is a long sentence, and there's no concrete examples, so i'm having a
bit of trouble extrapolating the bug.  can you tweak this a bit to make it
more clear ?
-mike


signature.asc
Description: PGP signature


Re: [PATCH 11/12] ltmain.in: Handle prefix-map compiler options correctly

2024-01-15 Thread Mike Frysinger
On 25 Oct 2021 15:33, Richard Purdie wrote:
> +  # -f*-prefix-map*  needed for lto linking

what flags are you trying to actually match here ?  excessive globs
make it more likely to match flags we don't want.
-mike


signature.asc
Description: PGP signature


Re: [PATCH 00/12] Yocto Project libtool patch queue

2024-01-15 Thread Mike Frysinger
there's a bunch of changes in here, but no additional test coverage

also the project still requires ChangeLog entries in the commit message,
so can you please add those so we don't have to write them for you ?  if
you look at commit history, the format should hopefully be obvious.
-mike


signature.asc
Description: PGP signature


Re: [PATCH 07/12] libtool: Fix support for NIOS2 processor

2024-01-15 Thread Mike Frysinger
On 25 Oct 2021 15:33, Richard Purdie wrote:
> 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.

i don't think this is the right approach.  this is adding another substring
search across the entire space (cpu/vendor/os).  we should fix the search so
it uses the right value only to match against.

> --- a/build-aux/ltmain.in
> +++ b/build-aux/ltmain.in
>
>  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*)

these should only match $host_os, and remove the leading glob at the same time.
same for the other changes in this patch.
-mike


signature.asc
Description: PGP signature


Re: [PATCH 1/2] libtool: replace : with $PATH_SEPARATOR

2024-01-15 Thread Mike Frysinger
On 15 Jan 2024 21:15, KO Myung-Hun wrote:
> Mike Frysinger wrote:
> > On 15 Oct 2023 02:04, KO Myung-Hun wrote:
> >> Some OSes such as OS/2, uses ';' as a path separator. So using 
> >> $PATH_SEPARATOR instead of hard-coded ':' is more proper.
> >> 
> >> * build-aux-ltmain.in: replace : with $PATH_SEPARATOR. *
> >> m4/libtool.m4: Likewise.
> > 
> > this doesn't work for me
> > 
> > 544675d6b538 2024-01-14 18:06:03 -0500 gnulib: update submodule to
> > current versions
> > 
> > $ ./bootstrap $ ./configure ... checking for mt... no checking if :
> > is a manifest tool... no ./configure: 1: Syntax error: Unterminated
> > quoted string $ -mike
> 
> How about this?

it passes configure, but fails `make check` & `make syntax-check`.
-mike


signature.asc
Description: PGP signature


Re: [PATCH 1/2] libtool: replace : with $PATH_SEPARATOR

2024-01-15 Thread KO Myung-Hun
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1



Mike Frysinger wrote:
> On 15 Oct 2023 02:04, KO Myung-Hun wrote:
>> Some OSes such as OS/2, uses ';' as a path separator. So using 
>> $PATH_SEPARATOR instead of hard-coded ':' is more proper.
>> 
>> * build-aux-ltmain.in: replace : with $PATH_SEPARATOR. *
>> m4/libtool.m4: Likewise.
> 
> this doesn't work for me
> 
> 544675d6b538 2024-01-14 18:06:03 -0500 gnulib: update submodule to
> current versions
> 
> $ ./bootstrap $ ./configure ... checking for mt... no checking if :
> is a manifest tool... no ./configure: 1: Syntax error: Unterminated
> quoted string $ -mike

How about this?

- -- 
KO Myung-Hun

Korean OS/2 User Community : https://www.os2.kr/
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (OS/2)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iD8DBQFlpSHTE9YstvghgroRAhS0AJoDOLC7CqgIxDOIjauhO3TW0TGvbACghk6m
pHAtNYl5XnpC4Pptph8j3sE=
=kxUR
-END PGP SIGNATURE-
From 23812414244882e7a7dbe790de648318643e66e6 Mon Sep 17 00:00:00 2001
From: KO Myung-Hun 
Date: Thu, 3 Nov 2022 23:32:37 +0900
Subject: [PATCH v2] libtool: replace : with $PATH_SEPARATOR

Some OSes such as OS/2, uses ';' as a path separator. So using
$PATH_SEPARATOR instead of hard-coded ':' is more proper.

* build-aux-ltmain.in: replace : with $PATH_SEPARATOR.
* m4/libtool.m4: Likewise.
---
 build-aux/ltmain.in | 76 ++---
 m4/libtool.m4   | 16 +-
 2 files changed, 46 insertions(+), 46 deletions(-)

diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index d5157a8d..4ad97c40 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -733,8 +733,8 @@ func_resolve_sysroot ()
 # store the result into func_replace_sysroot_result.
 func_replace_sysroot ()
 {
-  case $lt_sysroot:$1 in
-  ?*:"$lt_sysroot"*)
+  case "$lt_sysroot$PATH_SEPARATOR$1" in
+  ?*"$PATH_SEPARATOR$lt_sysroot"*)
 func_stripname "$lt_sysroot" '' "$1"
 func_replace_sysroot_result='='$func_stripname_result
 ;;
@@ -2007,7 +2007,7 @@ func_mode_execute ()
   if eval "test -z \"\$$shlibpath_var\""; then
 	eval "$shlibpath_var=\"\$dir\""
   else
-	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+	eval "$shlibpath_var=\"\$dir\$PATH_SEPARATOR\$$shlibpath_var\""
   fi
 done
 
@@ -3579,7 +3579,7 @@ func_exec_program ()
 	if test -n "$dllsearchpath"; then
 	  $ECHO "\
 # Add the dll search path components to the executable PATH
-PATH=$dllsearchpath:\$PATH
+PATH=\"$dllsearchpath$PATH_SEPARATOR\$PATH\"
 "
 	fi
 
@@ -3591,7 +3591,7 @@ func_exec_program ()
 
 # Some systems cannot cope with colon-terminated $shlibpath_var
 # The second colon is a workaround for a bug in BeOS R4 sed
-$shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
+$shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/$PATH_SEPARATOR$PATH_SEPARATOR*\$//'\`
 
 export $shlibpath_var
 "
@@ -3802,7 +3802,7 @@ EOF
 	fi
 
 	if test -n "$dllsearchpath"; then
-  func_to_host_path "$dllsearchpath:"
+  func_to_host_path "$dllsearchpath$PATH_SEPARATOR"
 	  cat <

Re: Armflang patch

2024-01-15 Thread Anthony Scemama
Hi,
yes, it is more complete.
Thanks,
Anthony

On Sun, 2024-01-14 at 02:03 -0500, Mike Frysinger wrote:
> i think this earlier patch is more complete:
> https://savannah.gnu.org/patch/?9442
> -mike