bug-libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#22895: broken handling of spaces after -{L,R,l}


From: Gilles Gouaillardet
Subject: bug#22895: broken handling of spaces after -{L,R,l}
Date: Fri, 4 Mar 2016 15:14:40 +0900

That sounds like a duplicate of
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=21137

Cheers,

Gilles

On Thu, Mar 3, 2016 at 5:40 PM, Michael <address@hidden> wrote:
> Hi,
>
> in m4/libtool.m4, the handling of spaces after -{L,R,l} for parsing
> linker commands looks as follows:
>
>   case $prev$p in
>     -L* | -R* | -l*)
>       # Some compilers place space between "-{L,R}" and the path.
>       # Remove the space.
>       if test x-L = "$p" ||
>          test x-R = "$p"; then
>          prev=$p
>          continue
>       fi
>
> This seems to be broken for two reasons:
> 1. The case handling captures -l, but the following tests consider only
> -L and -R.
> 2. The tests for equality use an x on the left side, but not on the
> right side.
>
> A working code should look as follows (patch is attached):
>
>   case $prev$p in
>     -L* | -R* | -l*)
>       # Some compilers place space between "-{L,R,l}" and the path.
>       # Remove the space.
>       if test x-L = "x$p" ||
>          test x-R = "x$p" ||
>          test x-l = "x$p"; then
>          prev=$p
>          continue
>       fi
>
> I stumbled across this bug when using gfortran (5.3.1) which emits the
> following (valid) line:
>
>   Driving: gfortran -v conftest.o -l gfortran -l m -shared-libgcc
>
> The current (broken) libtool leads to "-l -l" in the "postdeps_FC"
> variable. After the fix, the correct "-lgfortran -lm" appears.
>
>
> Best regards,
> Michael
>
> _______________________________________________
> Bug-libtool mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/bug-libtool
>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]