This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH][GOLD] Do not generate .gnu.version* if no symbol versioning is used.
- From: =?big5?b?RG91ZyBLd2FuICjD9q62vHcp?= <dougkwan at google dot com>
- To: Ian Lance Taylor <iant at google dot com>, binutils at sourceware dot org
- Date: Thu, 15 Oct 2009 13:47:32 -0700
- Subject: Re: [PATCH][GOLD] Do not generate .gnu.version* if no symbol versioning is used.
- References: <498552560910102040n56c48223x57f52df034d2c447@mail.gmail.com>
ping.
2009/10/10 Doug Kwan (Ãö®¶¼w) <dougkwan@google.com>:
> Hi,
>
> This patch fixes a problem of that .gnu.version* sections are
> always generated in a shared object even if no symbol versioning is
> used in the input objects. This has been tested on x86_64. All test
> cases, including a new one added by this patch, passed.
>
> -Doug
>
> 2009-10-10 Doug Kwan <dougkwan@google.com>
>
> * dynobj.cc (Versions::Versions): Initialize version_script_.
> Only insert base version symbol definition for a shared object
> if version script defines any version versions.
> (Versions::define_base_version): New method definition.
> (Versions::add_def): Check that base version is not needed.
> (Versions::add_need): Define base version lazily.
> * dynobj.h (Versions::define_base_version): New method declaration.
> (Versions::needs_base_version_): New data member declaration.
> * testsuite/Makefile.am (check_SCRIPTS): Add no_version_test.sh
> (check_DATA): Add no_version_test.stdout.
> (libno_version_test.so, no_version_test.o no_version_test.stdout):
> New make rules.
> * testsuite/Makefile.in: Regenerate.
> * testsuite/no_version_test.c: New file.
> * testsuite/no_version_test.sh: Ditto.
>