[LEDE-DEV] [PATCH] iptables: link extension libraries with -lm

Alin Năstac alin.nastac at gmail.com
Fri Apr 27 07:05:19 PDT 2018


According to "Automatic variables" chapter of make manual, $* expands
to the pattern matched by % in an implicit rule.
However, the make rules in which this patch use the $* variable is an
explicit rule, hence $* expansion will be empty.


On Fri, Apr 27, 2018 at 8:41 AM, John Crispin <john at phrozen.org> wrote:
>
>
> On 24/04/18 10:05, Alin Nastac wrote:
>>
>> This fixes an iptables link error when kernel config include
>>    CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
>> related to the missing -lm argument on the linker command line. Error is
>> caused by
>> the odd looking linker argument ${$*_LIBADD} which get expanded to an
>> empty string.
>
>
> Hi,
> the $* usage is correct
>
> src/%.c:
>     echo $*
>
> ->src/example (bei src/example.c)
>
> please provide your diffconfig so i can reproduce your issue locally.
>
>     John
>
>
>
>>
>> Signed-off-by: Alin Nastac <alin.nastac at gmail.com>
>> ---
>>   package/network/utils/iptables/patches/600-shared-libext.patch | 10
>> +++++-----
>>   1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git
>> a/package/network/utils/iptables/patches/600-shared-libext.patch
>> b/package/network/utils/iptables/patches/600-shared-libext.patch
>> index a906d40..17e7fbe 100644
>> --- a/package/network/utils/iptables/patches/600-shared-libext.patch
>> +++ b/package/network/utils/iptables/patches/600-shared-libext.patch
>> @@ -28,27 +28,27 @@
>>   -libext.a: initext.o ${libext_objs}
>>   -     ${AM_VERBOSE_AR} ${AR} crs $@ $^;
>>   +libiptext.so: initext.o ${libext_objs}
>> -+      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@
>> $^ -L../libxtables/.libs -lxtables ${$*_LIBADD};
>> ++      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@
>> $^ -L../libxtables/.libs -lxtables ${xt_statistic_LIBADD}
>> ${xt_connlabel_LIBADD};
>>      -libext_ebt.a: initextb.o ${libext_ebt_objs}
>>   -     ${AM_VERBOSE_AR} ${AR} crs $@ $^;
>>   +libiptext_ebt.so: initextb.o ${libext_ebt_objs}
>> -+      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@
>> $^ -L../libxtables/.libs -lxtables ${$*_LIBADD};
>> ++      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@
>> $^ -L../libxtables/.libs -lxtables ${xt_statistic_LIBADD}
>> ${xt_connlabel_LIBADD};
>>      -libext_arpt.a: initexta.o ${libext_arpt_objs}
>>   -     ${AM_VERBOSE_AR} ${AR} crs $@ $^;
>>   +libiptext_arpt.so: initexta.o ${libext_arpt_objs}
>> -+      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@
>> $^ -L../libxtables/.libs -lxtables ${$*_LIBADD};
>> ++      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@
>> $^ -L../libxtables/.libs -lxtables ${xt_statistic_LIBADD}
>> ${xt_connlabel_LIBADD};
>>      -libext4.a: initext4.o ${libext4_objs}
>>   -     ${AM_VERBOSE_AR} ${AR} crs $@ $^;
>>   +libiptext4.so: initext4.o ${libext4_objs}
>> -+      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@
>> $^ -L../libxtables/.libs -lxtables ${$*_LIBADD};
>> ++      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@
>> $^ -L../libxtables/.libs -lxtables ${xt_statistic_LIBADD}
>> ${xt_connlabel_LIBADD};
>>      -libext6.a: initext6.o ${libext6_objs}
>>   -     ${AM_VERBOSE_AR} ${AR} crs $@ $^;
>>   +libiptext6.so: initext6.o ${libext6_objs}
>> -+      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@
>> $^ -L../libxtables/.libs -lxtables ${$*_LIBADD};
>> ++      ${AM_VERBOSE_CCLD} ${CCLD} ${AM_LDFLAGS} -shared ${LDFLAGS} -o $@
>> $^ -L../libxtables/.libs -lxtables ${xt_statistic_LIBADD}
>> ${xt_connlabel_LIBADD};
>>       initext_func  := $(addprefix xt_,${pfx_build_static})
>>    initextb_func := $(addprefix ebt_,${pfb_build_static})
>
>



More information about the Lede-dev mailing list