bug-texinfo
[Top][All Lists]
Advanced

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

-no-undefined


From: Gavin Smith
Subject: -no-undefined
Date: Wed, 13 Jan 2016 19:42:45 +0000

On 1 January 2016 at 14:36, Eli Zaretskii <address@hidden> wrote:
>> Is this the right fix? -
>>
>> Index: Makefile.am
>> ===================================================================
>> --- Makefile.am (revision 6893)
>> +++ Makefile.am (working copy)
>> @@ -78,14 +78,14 @@
>>
>>  XSParagraph_la_CFLAGS += -DVERSION=\"$(VERSION)\"
>> -DXS_VERSION=\"$(XSPARAGRAPH_INTERFACE_VERSION)\"  "-I$(PERL_INC)"
>>
>> -XSParagraph_la_LDFLAGS=-avoid-version -module $(PERL_CONF_cccdlflags)
>> +XSParagraph_la_LDFLAGS=-no-undefined -avoid-version -module
>> $(PERL_CONF_cccdlflags)
>>
>>
>>  TestXS_la_CFLAGS = $(PERL_CONF_ccflags)
>>
>>  TestXS_la_CFLAGS += -DVERSION=\"$(VERSION)\"
>> -DXS_VERSION=\"$(VERSION)\"  "-I$(PERL_INC)"
>>
>> -TestXS_la_LDFLAGS=-module $(PERL_CONF_cccdlflags)
>> +TestXS_la_LDFLAGS=-no-undefined -module $(PERL_CONF_cccdlflags)
>
> Looks OK, thanks.

Apparent problem under Solaris 10 with this change. I've realised that
since SVN revision 6903, which made this change (adding
-no-undefined), the XS modules don't get used. From log at
https://buildfarm.opencsw.org/buildbot/builders/texinfo-solaris10-i386/builds/574/steps/shell_1/logs/stdio:

/bin/bash ./libtool  --tag=CC   --mode=link /opt/SUNWspro/bin/cc
-D_REENTRANT     -I/opt/csw/bdb48/include -I/opt/csw/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV
-DVERSION=\"6.0\" -DXS_VERSION=\"6.0\"
"-I/opt/csw/lib/perl/5.10.1/CORE"  -no-undefined -module   -o
TestXS.la -rpath /usr/local/libexec/texinfo TestXS_la-TestXS.lo
libtool: link: /opt/SUNWspro/bin/cc -G -z defs -h TestXS.so.0 -o
.libs/TestXS.so.0.0.0  .libs/TestXS_la-TestXS.o   -lc
Undefined first referenced
 symbol      in file
Perl_newSVpv                        .libs/TestXS_la-TestXS.o
Perl_vstringify                     .libs/TestXS_la-TestXS.o
Perl_croak                          .libs/TestXS_la-TestXS.o
Perl_sv_derived_from                .libs/TestXS_la-TestXS.o
Perl_Istack_sp_ptr                  .libs/TestXS_la-TestXS.o
Perl_Icurpad_ptr                    .libs/TestXS_la-TestXS.o
Perl_get_sv                         .libs/TestXS_la-TestXS.o
Perl_Iunitcheckav_ptr               .libs/TestXS_la-TestXS.o
Perl_croak_xs_usage                 .libs/TestXS_la-TestXS.o
Perl_form                           .libs/TestXS_la-TestXS.o
Perl_vcmp                           .libs/TestXS_la-TestXS.o
Perl_Iop_ptr                        .libs/TestXS_la-TestXS.o
Perl_newXS_flags                    .libs/TestXS_la-TestXS.o
Perl_sv_newmortal                   .libs/TestXS_la-TestXS.o
Perl_Isv_yes_ptr                    .libs/TestXS_la-TestXS.o
Perl_Istack_base_ptr                .libs/TestXS_la-TestXS.o
Perl_sv_2pv_flags                   .libs/TestXS_la-TestXS.o
Perl_Imarkstack_ptr_ptr             .libs/TestXS_la-TestXS.o
Perl_new_version                    .libs/TestXS_la-TestXS.o
Perl_Iscopestack_ix_ptr             .libs/TestXS_la-TestXS.o
Perl_call_list                      .libs/TestXS_la-TestXS.o
ld: fatal: symbol referencing errors. No output written to .libs/TestXS.so.0.0.0
Makefile:914: recipe for target 'TestXS.la' failed
make: *** [TestXS.la] Error 1
no

Compare this with the log at
https://buildfarm.opencsw.org/buildbot/builders/texinfo-solaris10-i386/builds/573/steps/shell_1/logs/stdio:

/bin/bash ./libtool  --tag=CC   --mode=link /opt/SUNWspro/bin/cc
-D_REENTRANT     -I/opt/csw/bdb48/include -I/opt/csw/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV
-DVERSION=\"6.0\" -DXS_VERSION=\"6.0\"
"-I/opt/csw/lib/perl/5.10.1/CORE"  -module   -o TestXS.la -rpath
/usr/local/libexec/texinfo TestXS_la-TestXS.lo
libtool: link: /opt/SUNWspro/bin/cc -G -h TestXS.so.0 -o
.libs/TestXS.so.0.0.0  .libs/TestXS_la-TestXS.o   -lc
libtool: link: (cd ".libs" && rm -f "TestXS.so.0" && ln -s
"TestXS.so.0.0.0" "TestXS.so.0")
libtool: link: (cd ".libs" && rm -f "TestXS.so" && ln -s
"TestXS.so.0.0.0" "TestXS.so")
libtool: link: ar cru .libs/TestXS.a  TestXS_la-TestXS.o
libtool: link: ranlib .libs/TestXS.a
libtool: link: ( cd ".libs" && rm -f "TestXS.la" && ln -s
"../TestXS.la" "TestXS.la" )
message from XS module
yes

It would appear to be inappropriate to add the -no-undefined flag
unconditionally.



reply via email to

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