Re: Does libtool need to escape plus signs in egrep expressions?
Hello, LRN wrote: While looking though ltmain source code i've stumbled upon this egrep invocation: $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$' I've tried to see how it behaves on some import libraries that i have, and it turned out that i could never get it to detect the iname lines, unless i escape the plus sign. May be I misunderstand issue. $ echo ' _head_ABC_a' | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$' _head_ABC_a $ echo ' _head_ABC_al' | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$' _head_ABC_al but: $ echo ' _head__al' | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$' $ echo ' __head_ABC_al' | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$' $ echo ' _head_ABC_zl' | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$' Are you sure this actually works? I'm not expert in regular expressions but according above tests "plus" in RE works - see case _head__al . Note that the function that does this is only used in rather exotic corner-cases (old dlltool and/or ms dumpbin being in use), so it's plausible that it could have been broken since 2010, when it was added. Regards, Roumen Petrov ___ https://lists.gnu.org/mailman/listinfo/libtool
Re: Does libtool need to escape plus signs in egrep expressions?
On Thu, 28 Jun 2018, Roumen Petrov wrote: May be I misunderstand issue. $ echo ' _head_ABC_a' | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$' _head_ABC_a $ echo ' _head_ABC_al' | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$' _head_ABC_al but: $ echo ' _head__al' | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$' $ echo ' __head_ABC_al' | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$' $ echo ' _head_ABC_zl' | egrep ' _head_[A-Za-z0-9_]+_[ad]l*$' Are you sure this actually works? I'm not expert in regular expressions but according above tests "plus" in RE works - see case _head__al . It should match a run of alpha-numeric characters including underscores. However, I do see that the expression includes a match of literal underscore and then there is a literal underscore so there might be something going on with that. Greedy matching would likely absorb a final underscore so it might not be possible to match on that final literal underscore. This might expose differences in behaviors between egreps. Bob -- Bob Friesenhahn bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer,http://www.GraphicsMagick.org/___ https://lists.gnu.org/mailman/listinfo/libtool
Re: What happened to libtool transitive DSOs?
In regard to: Re: What happened to libtool transitive DSOs?, Bob...: On Thu, 21 Jun 2018, John Calcote wrote: Hi Bob. It's an ubuntu distro release - Linux Mint 18. Why would they do that? GNU Linux and the GNU linker support implicit library dependencies. Sorry to jump into this discussion late, but I wanted to point out that at least RHEL seems to be moving away from using implicit library dependencies. In the RHEL 7.5 (current latest) release notes, chapter 53, on deprecated functionality: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/7.5_release_notes/chap-red_hat_enterprise_linux-7.5_release_notes-deprecated_functionality there's this note: Symbols from libraries linked as dependencies no longer resolved by ld Previously, the ld linker resolved any symbols present in any linked library, even if some libraries were linked only implicitly as dependencies of other libraries. This allowed developers to use symbols from the implicitly linked libraries in application code and omit explicitly specifying these libraries for linking. For security reasons, ld has been changed to not resolve references to symbols in libraries linked implicitly as dependencies. As a result, linking with ld fails when application code attempts to use symbols from libraries not declared for linking and linked only implicitly as dependencies. To use symbols from libraries linked as dependencies, developers must explicitly link against these libraries as well. To restore the previous behavior of ld, use the -copy-dt-needed-entries command-line option. (BZ#1292230) - end excerpt from RHEL release notes Tim -- Tim Mooney tim.moo...@ndsu.edu Enterprise Computing & Infrastructure 701-231-1076 (Voice) Room 242-J6, Quentin Burdick Building 701-231-8541 (Fax) North Dakota State University, Fargo, ND 58105-5164 ___ https://lists.gnu.org/mailman/listinfo/libtool