Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


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
#include <stdio.h>

int main(char argc, char** argv) {
   printf ("hello world\n");
   return 0;
}

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.