[fedfs-utils] [PATCH 0/3] Proposing fedfs-utils 0.9.2

Chuck Lever chuck.lever at oracle.com
Tue Jun 25 07:37:01 PDT 2013


Hi David-

Thanks for chasing this down.


On Jun 25, 2013, at 9:34 AM, David Disseldorp <ddiss at suse.de> wrote:

> Hi Chuck,
> 
> On Mon, 24 Jun 2013 16:52:01 -0400
> Chuck Lever <chuck.lever at oracle.com> wrote:
> 
>> For the time being I've left out David Disseldorp's Makefile changes
>> until we have a better understanding of the problem he has hit.  I
>> have been unable to reproduce his issue on Fedora.
> 
> I spoke to one of our toolchain team members, he demonstrated that the
> difference in behaviour is due to openSUSE's use of the --as-needed
> binutils feature:

How is that flag specified in your build?  I'd like to try it here.  Out of interest, why is this needed?

>  Normally the linker will add a DT_NEEDED tag for each dynamic library
>  mentioned on the command line, regardless of whether the library is
>  actually needed or not. --as-needed causes a DT_NEEDED tag to only be
>  emitted for a library that satisfies an undefined symbol reference
>  from a regular object file or, if the library is not found in the
>  DT_NEEDED lists of other libraries linked up to that point, an
>  undefined symbol reference from another dynamic library.
>  --no-as-needed restores the default behaviour.
> He also mentioned that the same linker argument ordering requirements
> would be present if the shared libraries were static libraries instead.

I don't understand this last comment.  The build already creates convenience libraries which are libfoo.a,  not shared libraries.

> With this in mind, I stand by my request to have the "fix gcc linker
> library argument placement" patch considered for upstream inclusion.

OK, can you update the patch description to focus on the linker issue and describe SuSE's requirement?  Right now this is our only documentation of this issue, so I would prefer it to be helpful and accurate.  ;-)

This is the key reason I want to understand the issue myself: maybe we want to ensure that --as-needed is used in all builds, so we can tell if a new commit breaks it.  If it makes sense, perhaps your patch should also add whatever mechanism is needed to enable --as-needed by default.

If we can get this done in the next day or two, I'll consider it for 0.9.2 and 0.10-devel (I'll open that branch next week).

> FWIW, I've setup a public build service repo[1] that builds fedfs-utils
> packages for openSUSE and Fedora fedfs-utils.
> 
> Cheers, David
> 
> 1. Open Build Service fedfs-utils repository
>   https://build.opensuse.org/project/show?project=home%3Admdiss%3Afedfs


Thanks!

FYI: Currently Fedora 17 has fedfs-utils 0.7, F18 has fedfs-utils 0.8, and F19 has fedfs-utils 0.9.  They can be installed via the usual "yum install fedfs-utils-{client,server,nsdbadmin}"

-- 
Chuck Lever
chuck[dot]lever[at]oracle[dot]com







More information about the fedfs-utils-devel mailing list