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

Re: libgc should be updated to 8.0.6



On Thu, Nov 25, 2021 at 02:36:55PM +0300, Ivan Maidanski wrote:
> > One problem is that upstream change [1] appears to have removed
> >the exported symbols GC_next_used_block and GC_unmap_end.

> These 2 symbols are internal ones (and have never been public since
> appearance in 8.0.0), they just happens to be exported (because of
> lack -fvisibility=hidden in the Debian build configuration, I
> mean --enable-static passed to configure prevents internal symbols
> to be hidden).  I don’t know any client relying on these internal
> symbols.

It seems a lot of symbols are prefixed with STATIC, which
docs/README.macros says is -DSTATIC=static if NO_DEBUGGING is set
(which can be set by --enable-gc-debug=no ... which the build does not
set).  I can't see STATIC is set -- is this old and replaced by symbol
visibility now?

How come --enable-static means the .so doesn't use symbol visibility?
Would it be a better idea to build twice -- once to enable symbol
visibility on the .so and then again to produce the .a?  Then it seems
we could drop all the unexported symbols and avoid this in the future.

> Is there any restriction in the Debian policy against deletion of
> the exported symbols that were not exported publicly (i.e. were
> never mentioned in the public headers or documentation)?

I will have to extract some of the old packages and compare the symbol
file ... not sure if this is the first time, or if previous uploads
have just dropped missing symbols on the basis they are not
documented?

-i


Reply to: