Re: Extra symbols returned by check-exports when building 0.8.4 on Lucid.
- From: Dan Williams <dcbw redhat com>
- To: Mathieu Trudel-Lapierre <mathieu tl gmail com>
- Cc: ML NetworkManager <networkmanager-list gnome org>
- Subject: Re: Extra symbols returned by check-exports when building 0.8.4 on Lucid.
- Date: Thu, 05 May 2011 13:12:05 -0500
On Wed, 2011-05-04 at 09:57 -0400, Mathieu Trudel-Lapierre wrote:
> Hi,
>
> As discussed on IRC; I'm finding some extra symbols when I try to
> build 0.8.4 on Lucid. I suspect these are due to the older kernel and
> older GCC, but I admit I haven't really dug into the exact cause so
> much.
>
> The extra symbols are returned by the objdump -t "$so" | grep
> "[.]hidden.*" command run in tools/check-exports.sh:
>
> 00040ff4 l O *ABS* 00000000 .hidden _GLOBAL_OFFSET_TABLE_
> 00041380 l O .data 00000000 .hidden __dso_handle
> 000406e8 l O .dtors 00000000 .hidden __DTOR_END__
> 0000fbe4 l F .text 00000000 .hidden __i686.get_pc_thunk.cx
> 0002f980 l F .text 00000014 .hidden __stack_chk_fail_local
> 0000b1e7 l F .text 00000000 .hidden __i686.get_pc_thunk.bx
> 00040e60 l O *ABS* 00000000 .hidden _DYNAMIC
>
> This was returned by the same objdump command and grep on i386. The
> symbols on amd64 are similar, with a slight difference:
>
> ../tools/check-exports.sh ./.libs/libnm-util.so ./libnm-util.ver
> ./.libs/libnm-util.so: checking exported symbols against ./libnm-util.ver
> --- ./libnm-util.ver 2011-05-04 13:34:48.000000000 +0000
> +++ - 2011-05-04 13:37:42.782033236 +0000
> @@ -1,5 +1,10 @@
> {
> global:
> + _DYNAMIC;
> + _GLOBAL_OFFSET_TABLE_;
> + __DTOR_END__;
> + __dso_handle;
> + atexit;
> nm_connection_add_setting;
> nm_connection_clear_secrets;
> nm_connection_compare;
>
> I suspect atexit also comes from the hidden symbols, but I haven't
> been able to verify this yet (time to build a x86_64 VM).
>
> Is there any way to properly exclude them so tests succeed?
Yeah, done and pushed. If you want a less-invasive version than the one
I pushed (though my patches do expose some previously hidden, but
should-have-been exported symbols which was the point of
check-exports.sh in the first place...) then you can simply kill the
second objdump+grep of get_symbols() in check-exports.sh.
Dan
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]