[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-patch-tracker] [patch #8919] Start of patch to enable visibility
From: |
Markus Mützel |
Subject: |
[Octave-patch-tracker] [patch #8919] Start of patch to enable visibility attributes for GCC in build system |
Date: |
Thu, 31 Mar 2016 19:16:13 +0000 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:46.0) Gecko/20100101 Firefox/46.0 |
Follow-up Comment #1, patch #8919 (project octave):
I hope it is to OK if I jump in with some results from trial and error.
I applied the patch from comment #0 and build on a freshly cloned default
branch after bootstrap, configure with:
make CFLAGS="-fvisibility=hidden" CXXFLAGS="-fvisibility=hidden"
I decorated the functions which threw errors with OCTAVE_API. In this way, the
linker errors are down to the following:
src/src_octave_cli-main-cli.o:(.data+0x38): undefined reference to `tzalloc'
src/src_octave_cli-main-cli.o:(.data+0x40): undefined reference to `tzfree'
src/src_octave_cli-main-cli.o:(.data+0x48): undefined reference to
`localtime_rz'
src/src_octave_cli-main-cli.o:(.data+0x50): undefined reference to `mktime_z'
src/src_octave_cli-main-cli.o:(.data+0xc0): undefined reference to `fpurge'
src/src_octave_cli-main-cli.o:(.rodata+0x8): undefined reference to
`rpl_mbrtowc'
src/src_octave_cli-main-cli.o:(.rodata+0x10): undefined reference to
`rpl_nanosleep'
src/src_octave_cli-main-cli.o:(.rodata+0x18): undefined reference to
`rpl_mktime'
src/src_octave_cli-main-cli.o:(.rodata+0x20): undefined reference to
`rpl_canonicalize_file_name'
src/src_octave_cli-main-cli.o:(.rodata+0x28): undefined reference to
`rpl_realpath'
src/src_octave_cli-main-cli.o:(.rodata+0x30): undefined reference to
`rpl_fclose'
src/src_octave_cli-main-cli.o:(.rodata+0x38): undefined reference to
`rpl_fflush'
src/src_octave_cli-main-cli.o:(.rodata+0x40): undefined reference to
`rpl_fseek'
src/src_octave_cli-main-cli.o:(.rodata+0x48): undefined reference to
`rpl_fseeko'
libinterp/.libs/liboctinterp.so: undefined reference to `sha512_buffer'
libinterp/.libs/liboctinterp.so: undefined reference to `sha224_buffer'
libinterp/.libs/liboctinterp.so: undefined reference to `md4_buffer'
libinterp/.libs/liboctinterp.so: undefined reference to `sha1_buffer'
libinterp/.libs/liboctinterp.so: undefined reference to `sha256_buffer'
libinterp/.libs/liboctinterp.so: undefined reference to `num_processors'
libinterp/.libs/liboctinterp.so: undefined reference to `rpl_fcntl'
libinterp/.libs/liboctinterp.so: undefined reference to `md2_buffer'
libinterp/.libs/liboctinterp.so: undefined reference to `sha384_buffer'
libinterp/.libs/liboctinterp.so: undefined reference to `md5_buffer'
These are functions (not) exported from gnulib. I do not know how to configure
to use the visibility flags for compilation but not for the gnulib part.
With the attached patch applied, a lot of warnings along these lines occur
while compiling:
CXX libinterp/template-inst/libinterp_liboctinterp_la-Array-tc.lo
In file included from ../libinterp/template-inst/Array-tc.cc:30:0:
../liboctave/array/Array.cc:2748:22: warning: type attributes ignored after
type is already defined [-Wattributes]
template class API Array<T>
^
../libinterp/template-inst/Array-tc.cc:38:1: note: in expansion of macro
'INSTANTIATE_ARRAY'
INSTANTIATE_ARRAY (octave_value, OCTINTERP_API);
^
Hope this helps.
(file #36813)
_______________________________________________________
Additional Item Attachment:
File name: visibility2.patch Size:24 KB
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/patch/?8919>
_______________________________________________
Nachricht gesendet von/durch Savannah
http://savannah.gnu.org/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Octave-patch-tracker] [patch #8919] Start of patch to enable visibility attributes for GCC in build system,
Markus Mützel <=