[Libreoffice] ld dynamic linker hash style

Petr Mladek pmladek at suse.cz
Wed Apr 6 09:28:47 PDT 2011


Francois Tigeot píše v St 06. 04. 2011 v 18:01 +0200:
> On Wed, Apr 06, 2011 at 05:45:39PM +0200, Petr Mladek wrote:
> > Francois Tigeot píše v St 06. 04. 2011 v 17:04 +0200:
> > > 
> > > the test you have reused and the one I just wrote are for two different things.
> > > We have two things here:
> > > 
> > > - the first check tested for --hash-style=gnu option support.
> > >   ld supports it, result = yes
> > 
> > If you look at my change, I have removed this check. IMHO, it is
> > obsoleted by the AC_TRY_RUN one. ;-)
> > 
> > IMHO, it does not make sense to enable --hash-style=gnu if the
> > application can be linked and not started on the given system. So, the
> > AC_TRY_LINK is not needed because the same success/failure is detected
> > also by AC_TRY_RUN.
> 
> Okay, I understand the logic.
> 
> > > - the check I just wrote tested if binaries linked with the --hash-style=gnu
> > >   can be run
> > >   something in the system doesn't grok it, result = no
> > > 
> > > By integrating the two autoconf checks, we're back to a situation where
> > > the build process happily links binaries with --hash-style=gnu and crashes
> > > a few moments later trying to run them.
> > 
> > Are you sure? Have you looked at my changes? :-)
> 
> I admit I only have taken a cursory look to the patch itself. Howewer, I've
> also updated my git repository and tried to build LibreOffice.
> The build failed exactly as I described it above.

Ah, are you using git master?
I have initially committed the fix only to the libreoffice-3-4
branch :-( I have just cherry-picked it for master as well. Could you
please try once again?

> > > What I wanted to do is set a reasonable default of "gnu" or "sysv" for the
> > > --with-hash-style option depending if the machine can run such binaries or
> > > not.
> > 
> > I hope that I did the same.
> 
> config.log says HAVE_LD_HASH_STYLE='TRUE' and yet my system can not run the
> newly generated makedepend.

If it is not the problem with master, could you please try the attached
test? Just do:

gcc -Wl,--hash-style=gnu test-link-hash.c
./a.out

I wonder if such a trivial program fails at runtime. It is possible that
we would need a more complicated test.

> > The only difference might be that my
> > approach does not care only about the default. In addition, it does not
> > allow to force "gnu" on systems that are able to link but are not able
> > to run such programs. IMHO, it does not make much sense.
> 
> I preferred not to assume too much on this point and allow some foot shooting.

;-)

> > It would even
> > cause compilation problems because some helper tools need are compiled
> > and ran during build. Or did I miss anything?
> 
> Yeah, that's exactly why my builds are failing :-(

Sure, we need to fix it.


Best Regards,
Petr
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test-link-hash.c
Type: text/x-csrc
Size: 99 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20110406/7810000c/attachment.c>


More information about the LibreOffice mailing list