Bug#584172: Disabling GetIDMapper inlining for building VISU
Denis Barbier
bouzim at gmail.com
Mon Jun 7 16:06:58 UTC 2010
On 2010/6/7 Andre Espaze wrote:
[...]
> $ patch -p1 < no-template-function-inline.patch
> $ patch -p1 < debian/patches/visu-no-template-inline.patch
Thanks André for these detailed explanations, but why do you apply
both patches? I thought that visu-no-template-inline.patch was
superseding no-template-function-inline.patch. (Adam too since he
committed only the former)
To make it clear, my point is that #if macro can be dropped from
visu-no-template-inline.patch, the result will be unchanged:
* When compiled in debug mode, functions are not inlined and 4
symbols are exported.
* When compiled with optimization, only one symbol is exported.
Since those macros do nothing, it is better to strip them off and
follow what is described in the C++ faq.
If you want no-template-function-inline.patch to be applied, then
visu-no-template-inline.patch should be dropped.
> $ cd VISU_SRC_5.1.3/src/CONVERTOR
> $ mv Makefile.orig Makefile
> $ make
> $ readelf -s .libs/libVisuConvertor_la-VISU_MergeFilterUtilities.o | \
> grep GetIDMapper
> 89: 0000000000000000 113 FUNC WEAK DEFAULT 48 _ZN4VISU11GetIDMapperINS_
> 95: 0000000000000000 54 FUNC WEAK DEFAULT 50 _ZN4VISU11GetIDMapperINS_
> 96: 0000000000000000 54 FUNC WEAK DEFAULT 52 _ZN4VISU11GetIDMapperINS_
> 97: 0000000000000000 113 FUNC WEAK DEFAULT 54 _ZN4VISU11GetIDMapperINS_
[...]
These symbols are exported because of
no-template-function-inline.patch, not visu-no-template-inline.patch.
Denis
More information about the debian-science-maintainers
mailing list