Bug#584172: Disabling GetIDMapper inlining for building VISU
Andre Espaze
andre.espaze at logilab.fr
Mon Jun 7 16:45:06 UTC 2010
On Mon, Jun 07, 2010 at 06:06:58PM +0200, Denis Barbier wrote:
> 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?
If you check out revision f57b74db488c, visu-no-template-inline.patch
does not exist yet, so the first patch adds it.
> I thought that visu-no-template-inline.patch was
> superseding no-template-function-inline.patch. (Adam too since he
> committed only the former)
Yes, no-template-function-inline.patch was only a way to apply my changes
to Adam's repository (we decided to work like that since the beginning so
Adam can review every patch and I do not need write access).
> 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.
Ok but what about respecting the upstream coding style? Moreover
the macros do nothing only when using g++. I am fine to remove
the if macros but I think that we will need to provide upstream
with more explanations.
>
> If you want no-template-function-inline.patch to be applied, then
> visu-no-template-inline.patch should be dropped.
No, no-template-function-inline.patch is only a communication tool.
I am sorry if it has created confusion. The only patch
that matters for us is visu-no-template-inline.patch. However I did
not want to add one more patch to the bug and for describing
reproductible steps I needed to introduce
no-template-function-inline.patch.
>
> > $ 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.
Isn't is the opposite? no-template-function-inline.patch modifies the
Debian repo while visu-no-template-inline.patch modifies the Salome sources.
André
More information about the debian-science-maintainers
mailing list